From 85da83d9caeaab1cd4c255c31a5890e35fa708e9 Mon Sep 17 00:00:00 2001 From: DrRivaski <48974215+DrRivaski@users.noreply.github.com> Date: Tue, 6 Aug 2024 21:45:14 +0900 Subject: [PATCH 01/36] [Infra] CI/CD test (#42) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * infra: 빌드 테스트 yml 작성 * infra: DB 정보 추가 * infra: ssh-agent 버전 변경 * infra: known_hosts 추가 * infra: db port 변경 * infra: database test 설정 변경 * infra: DB 환경변수 설정 및 application.yml 생성 * infra: application.yml 동적 생성 스크립트 수정 * infra: 레디스 설정 추가 * infra: redis test 추가 * infra: redis 버전 변경 * infra: redis cli 설치 * infra: application.yml 위치 및 내용 확인 * infra: Github Actions 환경변수에 REDIS_HOST, REDIS_PORT 추가 * infra: 환경변수 확인 추가 * infra: zip file 만들기 추가, AWS credentials 추가 * infra: 환경변수 이름 변경 - ARN -> AWS_ARN * infra: s3 bucket에 업로드 추가 * infra: code deploy 추가 * infra: code deploy 수정 * infra: code deploy 수정 * infra: appspec.yml 작성 * infra: application.yml 생성 경로 변경 * infra: application.yml 확인 스크립트 삭제 * infra: application.yml 생성 스크립트 수정 * infra: application-prod.yml 추가 * infra: appspec.yml 수정, 배포를 위한 sh파일 추가 * infra: deploy.yml 이름 변경 - test_deploy -> deploy * infra: body = null 설정 * infra: develop에 머지되었을 때만 발동하도록 수정 * feat: draw_rank column 이름 수정 * Infra: environment 삭제 From 0cf06465cf7d1b319e856206bd4e8f03c54154f6 Mon Sep 17 00:00:00 2001 From: DrRivaski <48974215+DrRivaski@users.noreply.github.com> Date: Tue, 6 Aug 2024 22:32:49 +0900 Subject: [PATCH 02/36] [Infra] CI CD test 3 (#45) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * infra: 빌드 테스트 yml 작성 * infra: DB 정보 추가 * infra: ssh-agent 버전 변경 * infra: known_hosts 추가 * infra: db port 변경 * infra: database test 설정 변경 * infra: DB 환경변수 설정 및 application.yml 생성 * infra: application.yml 동적 생성 스크립트 수정 * infra: 레디스 설정 추가 * infra: redis test 추가 * infra: redis 버전 변경 * infra: redis cli 설치 * infra: application.yml 위치 및 내용 확인 * infra: Github Actions 환경변수에 REDIS_HOST, REDIS_PORT 추가 * infra: 환경변수 확인 추가 * infra: zip file 만들기 추가, AWS credentials 추가 * infra: 환경변수 이름 변경 - ARN -> AWS_ARN * infra: s3 bucket에 업로드 추가 * infra: code deploy 추가 * infra: code deploy 수정 * infra: code deploy 수정 * infra: appspec.yml 작성 * infra: application.yml 생성 경로 변경 * infra: application.yml 확인 스크립트 삭제 * infra: application.yml 생성 스크립트 수정 * infra: application-prod.yml 추가 * infra: appspec.yml 수정, 배포를 위한 sh파일 추가 * infra: deploy.yml 이름 변경 - test_deploy -> deploy * infra: body = null 설정 * infra: develop에 머지되었을 때만 발동하도록 수정 * feat: draw_rank column 이름 수정 * Infra: environment 삭제 * Infra: environment 삭제 From 6ffeb39ed8f7902ce1c665173e4416b649c24bb9 Mon Sep 17 00:00:00 2001 From: hyeokson Date: Mon, 29 Jul 2024 17:47:14 +0900 Subject: [PATCH 03/36] =?UTF-8?q?config:=20jwt=20=EC=86=8D=EC=84=B1?= =?UTF-8?q?=EC=9D=84=20yml=EC=97=90=20=EC=84=A4=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/application.yml | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 src/main/resources/application.yml diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml new file mode 100644 index 00000000..f780b604 --- /dev/null +++ b/src/main/resources/application.yml @@ -0,0 +1,8 @@ + +jwt: + bearer: ${JWT_BEARER:Bearer} + secret: ${JWT_SECRET_KEY} + access-expiration: ${JWT_ACCESS_EXPIRE:3600000} # 1?? (??: ms) + access-header: ${JWT_ACCESS_HEADER:Authorization} # Access Token ?? + refresh-expiration: ${JWT_REFRESH_EXPIRE:86400000} # 1? (??: ms) + refresh-header: ${JWT_REFRESH_HEADER:Authorization-Refresh} # Refresh Token ?? From b97b4418c89b69b857b2501b041606f35779ea1f Mon Sep 17 00:00:00 2001 From: hyeokson Date: Tue, 30 Jul 2024 15:43:20 +0900 Subject: [PATCH 04/36] =?UTF-8?q?rebase:=20=EC=9B=90=EB=B3=B8=20develop=20?= =?UTF-8?q?=EB=B8=8C=EB=9E=9C=EC=B9=98=EC=99=80=20=EB=B3=91=ED=95=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/application.yml | 8 -------- 1 file changed, 8 deletions(-) delete mode 100644 src/main/resources/application.yml diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml deleted file mode 100644 index f780b604..00000000 --- a/src/main/resources/application.yml +++ /dev/null @@ -1,8 +0,0 @@ - -jwt: - bearer: ${JWT_BEARER:Bearer} - secret: ${JWT_SECRET_KEY} - access-expiration: ${JWT_ACCESS_EXPIRE:3600000} # 1?? (??: ms) - access-header: ${JWT_ACCESS_HEADER:Authorization} # Access Token ?? - refresh-expiration: ${JWT_REFRESH_EXPIRE:86400000} # 1? (??: ms) - refresh-header: ${JWT_REFRESH_HEADER:Authorization-Refresh} # Refresh Token ?? From bd38fb44960810c469214aa60733676895879b1a Mon Sep 17 00:00:00 2001 From: hyeokson Date: Wed, 21 Aug 2024 00:28:54 +0900 Subject: [PATCH 05/36] =?UTF-8?q?doc:=20jacoco=20=ED=8C=8C=EC=9D=BC=20?= =?UTF-8?q?=EC=83=9D=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AdminLoginController.html | 1 + .../AdminLoginController.java.html | 48 + .../EventPageController.html | 1 + .../EventPageController.java.html | 41 + .../IndicatorPageController.html | 1 + .../IndicatorPageController.java.html | 25 + .../WinnerPageController.html | 1 + .../WinnerPageController.java.html | 58 + .../index.html | 1 + .../index.source.html | 1 + .../EventPageResponseDto.html | 1 + .../EventPageResponseDto.java.html | 85 + .../index.html | 1 + .../index.source.html | 1 + .../EventIndicatorResponseDto.html | 1 + .../EventIndicatorResponseDto.java.html | 92 + .../index.html | 1 + .../index.source.html | 1 + .../AdminMainPageResponseDto.html | 1 + .../AdminMainPageResponseDto.java.html | 124 ++ .../index.html | 1 + .../index.source.html | 1 + .../DrawWinnerListResponseDto.html | 1 + .../DrawWinnerListResponseDto.java.html | 49 + .../FcfsWinnerListResponseDto.html | 1 + .../FcfsWinnerListResponseDto.java.html | 48 + .../WinnerPageResponseDto.html | 1 + .../WinnerPageResponseDto.java.html | 93 + .../index.html | 1 + .../index.source.html | 1 + .../AdminException.html | 1 + .../AdminException.java.html | 12 + .../index.html | 1 + .../index.source.html | 1 + .../PercentageSerializer.html | 1 + .../PercentageSerializer.java.html | 20 + .../PhoneNumberSerializer.html | 1 + .../PhoneNumberSerializer.java.html | 18 + .../index.html | 1 + .../index.source.html | 1 + .../AdminLoginService.html | 1 + .../AdminLoginService.java.html | 73 + .../EventPageService.html | 1 + .../EventPageService.java.html | 93 + .../IndicatorPageService.html | 1 + .../IndicatorPageService.java.html | 34 + .../WinnerPageService.html | 1 + .../WinnerPageService.java.html | 72 + .../index.html | 1 + .../index.source.html | 1 + .../PasswordEncoder.html | 1 + .../PasswordEncoder.java.html | 19 + .../index.html | 1 + .../index.source.html | 1 + .../DrawTimeRangeValidator.html | 1 + .../DrawTimeRangeValidator.java.html | 40 + .../FcfsDateRangeValidator.html | 1 + .../FcfsDateRangeValidator.java.html | 42 + .../FcfsTimeRangeValidator.html | 1 + .../FcfsTimeRangeValidator.java.html | 35 + .../index.html | 1 + .../index.source.html | 1 + .../EventParticipationRepository.html | 1 + .../EventParticipationRepository.java.html | 25 + .../index.html | 1 + .../index.source.html | 1 + .../CommentNickname.html | 1 + .../CommentNickname.java.html | 44 + .../index.html | 1 + .../index.source.html | 1 + .../CommentController.html | 1 + .../CommentController.java.html | 53 + .../index.html | 1 + .../index.source.html | 1 + .../Comment.html | 1 + .../Comment.java.html | 52 + .../index.html | 1 + .../index.source.html | 1 + .../CommentsResponseDto.html | 1 + .../CommentsResponseDto.java.html | 85 + .../index.html | 1 + .../index.source.html | 1 + .../CommentException.html | 1 + .../CommentException.java.html | 12 + .../index.html | 1 + .../index.source.html | 1 + .../CommentService.html | 1 + .../CommentService.java.html | 61 + .../index.html | 1 + .../index.source.html | 1 + .../ScrollPaginationUtil.html | 1 + .../ScrollPaginationUtil.java.html | 53 + .../index.html | 1 + .../index.source.html | 1 + .../DrawController.html | 1 + .../DrawController.java.html | 44 + .../index.html | 1 + .../index.source.html | 1 + .../DrawException.html | 1 + .../DrawException.java.html | 12 + .../index.html | 1 + .../index.source.html | 1 + .../DrawTimeCheckInterceptor.html | 1 + .../DrawTimeCheckInterceptor.java.html | 68 + .../index.html | 1 + .../index.source.html | 1 + .../DrawService.html | 1 + .../DrawService.java.html | 145 ++ .../DrawSettingManager.html | 1 + .../DrawSettingManager.java.html | 68 + .../index.html | 1 + .../index.source.html | 1 + .../DrawAttendanceCountUtil.html | 1 + .../DrawAttendanceCountUtil.java.html | 93 + .../DrawModalGenerateUtil.html | 1 + .../DrawModalGenerateUtil.java.html | 90 + .../DrawResponseGenerateUtil.html | 1 + .../DrawResponseGenerateUtil.java.html | 120 ++ .../DrawUtil.html | 1 + .../DrawUtil.java.html | 119 ++ .../index.html | 1 + .../index.source.html | 1 + .../FcfsController.html | 1 + .../FcfsController.java.html | 67 + .../index.html | 1 + .../index.source.html | 1 + .../FcfsException.html | 1 + .../FcfsException.java.html | 12 + .../index.html | 1 + .../index.source.html | 1 + .../FcfsTimeCheckInterceptor.html | 1 + .../FcfsTimeCheckInterceptor.java.html | 45 + .../index.html | 1 + .../index.source.html | 1 + .../FcfsService.html | 1 + .../FcfsService.java.html | 202 +++ .../FcfsSettingManager.html | 1 + .../FcfsSettingManager.java.html | 145 ++ .../QuizManager.html | 1 + .../QuizManager.java.html | 85 + .../index.html | 1 + .../index.source.html | 1 + .../MainPageController.html | 1 + .../MainPageController.java.html | 53 + .../index.html | 1 + .../index.source.html | 1 + .../MainPageService.html | 1 + .../MainPageService.java.html | 298 ++++ .../index.html | 1 + .../index.source.html | 1 + .../ShareController.html | 1 + .../ShareController.java.html | 45 + .../index.html | 1 + .../index.source.html | 1 + .../ShareInfo.html | 1 + .../ShareInfo.java.html | 33 + .../index.html | 1 + .../index.source.html | 1 + .../ShareInfoException.html | 1 + .../ShareInfoException.java.html | 12 + .../ShareUrlInfoException.html | 1 + .../ShareUrlInfoException.java.html | 11 + .../index.html | 1 + .../index.source.html | 1 + .../ShareUrlInfoService.html | 1 + .../ShareUrlInfoService.java.html | 37 + .../index.html | 1 + .../index.source.html | 1 + .../RedisVerificationPrefix.html | 1 + .../RedisVerificationPrefix.java.html | 17 + .../VerificationProperty.html | 1 + .../VerificationProperty.java.html | 21 + .../index.html | 1 + .../index.source.html | 1 + .../LoginController.html | 1 + .../LoginController.java.html | 26 + .../VerificationController.html | 1 + .../VerificationController.java.html | 48 + .../index.html | 1 + .../index.source.html | 1 + .../UserException.html | 1 + .../UserException.java.html | 12 + .../index.html | 1 + .../index.source.html | 1 + .../SmsProperties.html | 1 + .../SmsProperties.java.html | 26 + .../index.html | 1 + .../index.source.html | 1 + .../LoginService.html | 1 + .../LoginService.java.html | 143 ++ .../VerificationService.html | 1 + .../VerificationService.java.html | 158 ++ .../index.html | 1 + .../index.source.html | 1 + .../AopForTransaction.html | 1 + .../AopForTransaction.java.html | 26 + .../EventLockAop.html | 1 + .../EventLockAop.java.html | 61 + .../index.html | 1 + .../index.source.html | 1 + .../AuthInfoArgumentResolver.html | 1 + .../AuthInfoArgumentResolver.java.html | 31 + .../index.html | 1 + .../index.source.html | 1 + .../ErrorStatus.html | 1 + .../ErrorStatus.java.html | 95 ++ .../SuccessStatus.html | 1 + .../SuccessStatus.java.html | 63 + .../index.html | 1 + .../index.source.html | 1 + .../RedisKeyPrefix.html | 1 + .../RedisKeyPrefix.java.html | 28 + .../RoleType.html | 1 + .../RoleType.java.html | 23 + .../ValidationConstant.html | 1 + .../ValidationConstant.java.html | 27 + .../index.html | 1 + .../index.source.html | 1 + .../ExceptionAdvice.html | 1 + .../ExceptionAdvice.java.html | 200 +++ .../GeneralException.html | 1 + .../GeneralException.java.html | 27 + .../JwtAuthenticationException.html | 1 + .../JwtAuthenticationException.java.html | 15 + .../JwtAuthorizationException.html | 1 + .../JwtAuthorizationException.java.html | 14 + .../index.html | 1 + .../index.source.html | 1 + .../ResponseDto.html | 1 + .../ResponseDto.java.html | 114 ++ .../index.html | 1 + .../index.source.html | 1 + .../SwaggerController.html | 1 + .../SwaggerController.java.html | 14 + .../index.html | 1 + .../index.source.html | 1 + .../CacheConfig.html | 1 + .../CacheConfig.java.html | 35 + .../index.html | 1 + .../index.source.html | 1 + .../SwaggerConfig.html | 1 + .../SwaggerConfig.java.html | 74 + .../index.html | 1 + .../index.source.html | 1 + .../JwtProperties.html | 1 + .../JwtProperties.java.html | 38 + .../RedisProperties.html | 1 + .../RedisProperties.java.html | 25 + .../index.html | 1 + .../index.source.html | 1 + .../RedisConfig.html | 1 + .../RedisConfig.java.html | 62 + .../index.html | 1 + .../index.source.html | 1 + .../SchedulerConfig.html | 1 + .../SchedulerConfig.java.html | 17 + .../index.html | 1 + .../index.source.html | 1 + .../WebMvcConfig.html | 1 + .../WebMvcConfig.java.html | 121 ++ .../index.html | 1 + .../index.source.html | 1 + .../ExceptionHandlingFilter.html | 1 + .../ExceptionHandlingFilter.java.html | 68 + .../JwtAuthenticationFilter.html | 1 + .../JwtAuthenticationFilter.java.html | 215 +++ .../JwtAuthorizationFilter.html | 1 + .../JwtAuthorizationFilter.java.html | 56 + .../index.html | 1 + .../index.source.html | 1 + .../DbInsertScheduler.html | 1 + .../DbInsertScheduler.java.html | 155 ++ .../EventSettingScheduler.html | 1 + .../EventSettingScheduler.java.html | 59 + .../index.html | 1 + .../index.source.html | 1 + .../S3FileName.html | 1 + .../S3FileName.java.html | 38 + .../StaticTextName.html | 1 + .../StaticTextName.java.html | 99 ++ .../index.html | 1 + .../index.source.html | 1 + .../StaticResourceUtil.html | 1 + .../StaticResourceUtil.java.html | 62 + .../index.html | 1 + .../index.source.html | 1 + .../DrawRedisUtil.html | 1 + .../DrawRedisUtil.java.html | 89 + .../EventLockRedisUtil.html | 1 + .../EventLockRedisUtil.java.html | 75 + .../FcfsRedisUtil.html | 1 + .../FcfsRedisUtil.java.html | 81 + .../JwtUtil.html | 1 + .../JwtUtil.java.html | 151 ++ .../RandomCodeUtil.html | 1 + .../RandomCodeUtil.java.html | 24 + .../SpringELParser.html | 1 + .../SpringELParser.java.html | 23 + .../StringRedisUtil.html | 1 + .../StringRedisUtil.java.html | 93 + .../index.html | 1 + .../index.source.html | 1 + .../BackendApplication.html | 1 + .../BackendApplication.java.html | 21 + .../jacocoHtml/com.softeer.backend/index.html | 1 + .../com.softeer.backend/index.source.html | 1 + jacoco/jacocoHtml/index.html | 1 + .../jacocoHtml/jacoco-resources/branchfc.gif | Bin 0 -> 91 bytes .../jacocoHtml/jacoco-resources/branchnc.gif | Bin 0 -> 91 bytes .../jacocoHtml/jacoco-resources/branchpc.gif | Bin 0 -> 91 bytes jacoco/jacocoHtml/jacoco-resources/bundle.gif | Bin 0 -> 709 bytes jacoco/jacocoHtml/jacoco-resources/class.gif | Bin 0 -> 586 bytes jacoco/jacocoHtml/jacoco-resources/down.gif | Bin 0 -> 67 bytes .../jacocoHtml/jacoco-resources/greenbar.gif | Bin 0 -> 91 bytes jacoco/jacocoHtml/jacoco-resources/group.gif | Bin 0 -> 351 bytes jacoco/jacocoHtml/jacoco-resources/method.gif | Bin 0 -> 193 bytes .../jacocoHtml/jacoco-resources/package.gif | Bin 0 -> 227 bytes .../jacocoHtml/jacoco-resources/prettify.css | 13 + .../jacocoHtml/jacoco-resources/prettify.js | 1510 +++++++++++++++++ jacoco/jacocoHtml/jacoco-resources/redbar.gif | Bin 0 -> 91 bytes jacoco/jacocoHtml/jacoco-resources/report.css | 243 +++ jacoco/jacocoHtml/jacoco-resources/report.gif | Bin 0 -> 363 bytes .../jacocoHtml/jacoco-resources/session.gif | Bin 0 -> 213 bytes jacoco/jacocoHtml/jacoco-resources/sort.gif | Bin 0 -> 58 bytes jacoco/jacocoHtml/jacoco-resources/sort.js | 148 ++ jacoco/jacocoHtml/jacoco-resources/source.gif | Bin 0 -> 354 bytes jacoco/jacocoHtml/jacoco-resources/up.gif | Bin 0 -> 67 bytes jacoco/jacocoHtml/jacoco-sessions.html | 1 + 328 files changed, 8306 insertions(+) create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/AdminLoginController.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/AdminLoginController.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/EventPageController.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/EventPageController.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/IndicatorPageController.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/IndicatorPageController.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/WinnerPageController.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/WinnerPageController.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/index.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/index.source.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.event/EventPageResponseDto.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.event/EventPageResponseDto.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.event/index.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.event/index.source.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.indicator/EventIndicatorResponseDto.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.indicator/EventIndicatorResponseDto.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.indicator/index.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.indicator/index.source.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.main/AdminMainPageResponseDto.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.main/AdminMainPageResponseDto.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.main/index.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.main/index.source.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/DrawWinnerListResponseDto.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/DrawWinnerListResponseDto.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/FcfsWinnerListResponseDto.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/FcfsWinnerListResponseDto.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/WinnerPageResponseDto.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/WinnerPageResponseDto.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/index.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/index.source.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.exception/AdminException.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.exception/AdminException.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.exception/index.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.exception/index.source.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/PercentageSerializer.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/PercentageSerializer.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/PhoneNumberSerializer.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/PhoneNumberSerializer.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/index.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/index.source.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/AdminLoginService.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/AdminLoginService.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/EventPageService.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/EventPageService.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/IndicatorPageService.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/IndicatorPageService.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/WinnerPageService.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/WinnerPageService.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/index.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/index.source.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.util/PasswordEncoder.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.util/PasswordEncoder.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.util/index.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.util/index.source.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/DrawTimeRangeValidator.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/DrawTimeRangeValidator.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/FcfsDateRangeValidator.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/FcfsDateRangeValidator.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/FcfsTimeRangeValidator.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/FcfsTimeRangeValidator.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/index.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/index.source.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.eventparticipation.repository/EventParticipationRepository.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.eventparticipation.repository/EventParticipationRepository.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.eventparticipation.repository/index.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.eventparticipation.repository/index.source.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.constant/CommentNickname.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.constant/CommentNickname.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.constant/index.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.constant/index.source.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.controller/CommentController.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.controller/CommentController.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.controller/index.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.controller/index.source.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.domain/Comment.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.domain/Comment.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.domain/index.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.domain/index.source.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.dto/CommentsResponseDto.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.dto/CommentsResponseDto.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.dto/index.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.dto/index.source.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.exception/CommentException.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.exception/CommentException.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.exception/index.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.exception/index.source.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.service/CommentService.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.service/CommentService.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.service/index.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.service/index.source.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.util/ScrollPaginationUtil.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.util/ScrollPaginationUtil.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.util/index.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.util/index.source.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.controller/DrawController.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.controller/DrawController.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.controller/index.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.controller/index.source.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.exception/DrawException.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.exception/DrawException.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.exception/index.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.exception/index.source.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.interceptor/DrawTimeCheckInterceptor.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.interceptor/DrawTimeCheckInterceptor.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.interceptor/index.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.interceptor/index.source.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/DrawService.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/DrawService.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/DrawSettingManager.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/DrawSettingManager.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/index.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/index.source.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawAttendanceCountUtil.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawAttendanceCountUtil.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawModalGenerateUtil.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawModalGenerateUtil.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawResponseGenerateUtil.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawResponseGenerateUtil.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawUtil.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawUtil.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/index.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/index.source.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.controller/FcfsController.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.controller/FcfsController.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.controller/index.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.controller/index.source.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.exception/FcfsException.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.exception/FcfsException.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.exception/index.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.exception/index.source.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.interceptor/FcfsTimeCheckInterceptor.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.interceptor/FcfsTimeCheckInterceptor.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.interceptor/index.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.interceptor/index.source.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/FcfsService.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/FcfsService.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/FcfsSettingManager.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/FcfsSettingManager.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/QuizManager.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/QuizManager.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/index.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/index.source.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.controller/MainPageController.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.controller/MainPageController.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.controller/index.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.controller/index.source.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.service/MainPageService.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.service/MainPageService.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.service/index.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.service/index.source.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.controller/ShareController.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.controller/ShareController.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.controller/index.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.controller/index.source.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.domain/ShareInfo.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.domain/ShareInfo.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.domain/index.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.domain/index.source.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/ShareInfoException.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/ShareInfoException.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/ShareUrlInfoException.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/ShareUrlInfoException.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/index.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/index.source.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.service/ShareUrlInfoService.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.service/ShareUrlInfoService.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.service/index.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.service/index.source.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/RedisVerificationPrefix.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/RedisVerificationPrefix.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/VerificationProperty.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/VerificationProperty.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/index.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/index.source.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/LoginController.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/LoginController.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/VerificationController.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/VerificationController.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/index.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/index.source.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.exception/UserException.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.exception/UserException.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.exception/index.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.exception/index.source.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.properties/SmsProperties.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.properties/SmsProperties.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.properties/index.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.properties/index.source.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/LoginService.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/LoginService.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/VerificationService.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/VerificationService.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/index.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/index.source.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/AopForTransaction.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/AopForTransaction.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/EventLockAop.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/EventLockAop.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/index.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/index.source.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.annotation.argumentresolver/AuthInfoArgumentResolver.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.annotation.argumentresolver/AuthInfoArgumentResolver.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.annotation.argumentresolver/index.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.annotation.argumentresolver/index.source.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/ErrorStatus.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/ErrorStatus.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/SuccessStatus.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/SuccessStatus.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/index.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/index.source.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.constant/RedisKeyPrefix.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.constant/RedisKeyPrefix.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.constant/RoleType.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.constant/RoleType.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.constant/ValidationConstant.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.constant/ValidationConstant.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.constant/index.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.constant/index.source.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.exception/ExceptionAdvice.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.exception/ExceptionAdvice.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.exception/GeneralException.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.exception/GeneralException.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.exception/JwtAuthenticationException.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.exception/JwtAuthenticationException.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.exception/JwtAuthorizationException.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.exception/JwtAuthorizationException.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.exception/index.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.exception/index.source.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.response/ResponseDto.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.response/ResponseDto.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.response/index.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.response/index.source.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.swagger/SwaggerController.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.swagger/SwaggerController.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.swagger/index.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.swagger/index.source.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.cache/CacheConfig.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.cache/CacheConfig.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.cache/index.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.cache/index.source.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.docs/SwaggerConfig.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.docs/SwaggerConfig.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.docs/index.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.docs/index.source.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.properties/JwtProperties.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.properties/JwtProperties.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.properties/RedisProperties.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.properties/RedisProperties.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.properties/index.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.properties/index.source.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.redis/RedisConfig.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.redis/RedisConfig.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.redis/index.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.redis/index.source.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.schedular/SchedulerConfig.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.schedular/SchedulerConfig.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.schedular/index.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.schedular/index.source.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.web/WebMvcConfig.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.web/WebMvcConfig.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.web/index.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.web/index.source.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.filter/ExceptionHandlingFilter.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.filter/ExceptionHandlingFilter.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.filter/JwtAuthenticationFilter.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.filter/JwtAuthenticationFilter.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.filter/JwtAuthorizationFilter.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.filter/JwtAuthorizationFilter.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.filter/index.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.filter/index.source.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.scheduler/DbInsertScheduler.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.scheduler/DbInsertScheduler.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.scheduler/EventSettingScheduler.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.scheduler/EventSettingScheduler.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.scheduler/index.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.scheduler/index.source.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/S3FileName.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/S3FileName.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/StaticTextName.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/StaticTextName.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/index.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/index.source.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.staticresources.util/StaticResourceUtil.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.staticresources.util/StaticResourceUtil.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.staticresources.util/index.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.staticresources.util/index.source.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.util/DrawRedisUtil.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.util/DrawRedisUtil.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.util/EventLockRedisUtil.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.util/EventLockRedisUtil.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.util/FcfsRedisUtil.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.util/FcfsRedisUtil.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.util/JwtUtil.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.util/JwtUtil.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.util/RandomCodeUtil.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.util/RandomCodeUtil.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.util/SpringELParser.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.util/SpringELParser.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.util/StringRedisUtil.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.util/StringRedisUtil.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.util/index.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.util/index.source.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend/BackendApplication.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend/BackendApplication.java.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend/index.html create mode 100644 jacoco/jacocoHtml/com.softeer.backend/index.source.html create mode 100644 jacoco/jacocoHtml/index.html create mode 100644 jacoco/jacocoHtml/jacoco-resources/branchfc.gif create mode 100644 jacoco/jacocoHtml/jacoco-resources/branchnc.gif create mode 100644 jacoco/jacocoHtml/jacoco-resources/branchpc.gif create mode 100644 jacoco/jacocoHtml/jacoco-resources/bundle.gif create mode 100644 jacoco/jacocoHtml/jacoco-resources/class.gif create mode 100644 jacoco/jacocoHtml/jacoco-resources/down.gif create mode 100644 jacoco/jacocoHtml/jacoco-resources/greenbar.gif create mode 100644 jacoco/jacocoHtml/jacoco-resources/group.gif create mode 100644 jacoco/jacocoHtml/jacoco-resources/method.gif create mode 100644 jacoco/jacocoHtml/jacoco-resources/package.gif create mode 100644 jacoco/jacocoHtml/jacoco-resources/prettify.css create mode 100644 jacoco/jacocoHtml/jacoco-resources/prettify.js create mode 100644 jacoco/jacocoHtml/jacoco-resources/redbar.gif create mode 100644 jacoco/jacocoHtml/jacoco-resources/report.css create mode 100644 jacoco/jacocoHtml/jacoco-resources/report.gif create mode 100644 jacoco/jacocoHtml/jacoco-resources/session.gif create mode 100644 jacoco/jacocoHtml/jacoco-resources/sort.gif create mode 100644 jacoco/jacocoHtml/jacoco-resources/sort.js create mode 100644 jacoco/jacocoHtml/jacoco-resources/source.gif create mode 100644 jacoco/jacocoHtml/jacoco-resources/up.gif create mode 100644 jacoco/jacocoHtml/jacoco-sessions.html diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/AdminLoginController.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/AdminLoginController.html new file mode 100644 index 00000000..e138e1a3 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/AdminLoginController.html @@ -0,0 +1 @@ +AdminLoginController

AdminLoginController

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total21 of 210%0 of 0n/a336633
handleLogin(AdminLoginRequestDto)80%n/a112211
handleLogout(Integer)70%n/a112211
handleSignUp(AdminSignUpRequestDto)60%n/a112211
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/AdminLoginController.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/AdminLoginController.java.html new file mode 100644 index 00000000..78575ebb --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/AdminLoginController.java.html @@ -0,0 +1,48 @@ +AdminLoginController.java

AdminLoginController.java

package com.softeer.backend.bo_domain.admin.controller;
+
+import com.softeer.backend.bo_domain.admin.dto.login.AdminLoginRequestDto;
+import com.softeer.backend.bo_domain.admin.dto.login.AdminSignUpRequestDto;
+import com.softeer.backend.bo_domain.admin.service.AdminLoginService;
+import com.softeer.backend.global.annotation.AuthInfo;
+import com.softeer.backend.global.common.dto.JwtTokenResponseDto;
+import com.softeer.backend.global.common.response.ResponseDto;
+import io.swagger.v3.oas.annotations.Parameter;
+import jakarta.validation.Valid;
+import lombok.RequiredArgsConstructor;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequiredArgsConstructor
+@RequestMapping("/admin")
+public class AdminLoginController {
+
+    private final AdminLoginService adminLoginService;
+
+    @PostMapping("/login")
+    ResponseDto<JwtTokenResponseDto> handleLogin(@Valid @RequestBody AdminLoginRequestDto adminLoginRequestDto) {
+        JwtTokenResponseDto jwtTokenResponseDto = adminLoginService.handleLogin(adminLoginRequestDto);
+
+        return ResponseDto.onSuccess(jwtTokenResponseDto);
+    }
+
+    @PostMapping("/logout")
+    ResponseDto<Void> handleLogout(@Parameter(hidden = true) @AuthInfo Integer adminId) {
+        adminLoginService.handleLogout(adminId);
+
+        return ResponseDto.onSuccess();
+    }
+
+    @PostMapping("/signup")
+    ResponseDto<Void> handleSignUp(@Valid @RequestBody AdminSignUpRequestDto adminSignUpRequestDto) {
+
+        adminLoginService.handleSignUp(adminSignUpRequestDto);
+
+        return ResponseDto.onSuccess();
+    }
+
+
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/EventPageController.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/EventPageController.html new file mode 100644 index 00000000..08794e13 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/EventPageController.html @@ -0,0 +1 @@ +EventPageController

EventPageController

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total19 of 190%0 of 0n/a336633
getEventPage()70%n/a112211
updateFcfsEventTime(FcfsEventTimeRequestDto)60%n/a112211
updateDrawEventTime(DrawEventTimeRequestDto)60%n/a112211
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/EventPageController.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/EventPageController.java.html new file mode 100644 index 00000000..14eff7a1 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/EventPageController.java.html @@ -0,0 +1,41 @@ +EventPageController.java

EventPageController.java

package com.softeer.backend.bo_domain.admin.controller;
+
+import com.softeer.backend.bo_domain.admin.dto.event.DrawEventTimeRequestDto;
+import com.softeer.backend.bo_domain.admin.dto.event.EventPageResponseDto;
+import com.softeer.backend.bo_domain.admin.dto.event.FcfsEventTimeRequestDto;
+import com.softeer.backend.bo_domain.admin.service.EventPageService;
+import com.softeer.backend.global.common.response.ResponseDto;
+import jakarta.validation.Valid;
+import lombok.RequiredArgsConstructor;
+import org.springframework.web.bind.annotation.*;
+
+@RestController
+@RequiredArgsConstructor
+@RequestMapping("/admin/event")
+public class EventPageController {
+
+    private final EventPageService eventPageService;
+
+    @GetMapping
+    public ResponseDto<EventPageResponseDto> getEventPage() {
+        EventPageResponseDto eventPageResponseDto = eventPageService.getEventPage();
+
+        return ResponseDto.onSuccess(eventPageResponseDto);
+    }
+
+    @PostMapping("/fcfs")
+    public ResponseDto<Void> updateFcfsEventTime(@Valid @RequestBody FcfsEventTimeRequestDto fcfsEventTimeRequestDto) {
+        eventPageService.updateFcfsEventTime(fcfsEventTimeRequestDto);
+
+        return ResponseDto.onSuccess();
+    }
+
+    @PostMapping("/draw")
+    public ResponseDto<Void> updateDrawEventTime(@Valid @RequestBody DrawEventTimeRequestDto drawEventTimeRequestDto) {
+        eventPageService.updateDrawEventTime(drawEventTimeRequestDto);
+
+        return ResponseDto.onSuccess();
+    }
+
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/IndicatorPageController.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/IndicatorPageController.html new file mode 100644 index 00000000..15894db2 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/IndicatorPageController.html @@ -0,0 +1 @@ +IndicatorPageController

IndicatorPageController

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total7 of 70%0 of 0n/a112211
getEventIndicator()70%n/a112211
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/IndicatorPageController.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/IndicatorPageController.java.html new file mode 100644 index 00000000..51a219c9 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/IndicatorPageController.java.html @@ -0,0 +1,25 @@ +IndicatorPageController.java

IndicatorPageController.java

package com.softeer.backend.bo_domain.admin.controller;
+
+import com.softeer.backend.bo_domain.admin.dto.indicator.EventIndicatorResponseDto;
+import com.softeer.backend.bo_domain.admin.service.IndicatorPageService;
+import com.softeer.backend.global.common.response.ResponseDto;
+import lombok.RequiredArgsConstructor;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequiredArgsConstructor
+@RequestMapping("/admin")
+public class IndicatorPageController {
+
+    private final IndicatorPageService indicatorPageService;
+
+    @GetMapping("/indicator")
+    public ResponseDto<EventIndicatorResponseDto> getEventIndicator() {
+        EventIndicatorResponseDto eventIndicatorResponseDto = indicatorPageService.getEventIndicator();
+
+        return ResponseDto.onSuccess(eventIndicatorResponseDto);
+    }
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/WinnerPageController.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/WinnerPageController.html new file mode 100644 index 00000000..24d984b3 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/WinnerPageController.html @@ -0,0 +1 @@ +WinnerPageController

WinnerPageController

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total37 of 370%0 of 0n/a55101055
getFcfsWinnerList(Integer)90%n/a112211
getDrawWinnerList(Integer)90%n/a112211
getWinnerPage()70%n/a112211
updateFcfsWinnerNum(FcfsWinnerUpdateRequestDto)60%n/a112211
updateFcfsWinnerNum(DrawWinnerUpdateRequestDto)60%n/a112211
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/WinnerPageController.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/WinnerPageController.java.html new file mode 100644 index 00000000..4c3ce32c --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/WinnerPageController.java.html @@ -0,0 +1,58 @@ +WinnerPageController.java

WinnerPageController.java

package com.softeer.backend.bo_domain.admin.controller;
+
+import com.softeer.backend.bo_domain.admin.dto.event.EventPageResponseDto;
+import com.softeer.backend.bo_domain.admin.dto.winner.*;
+import com.softeer.backend.bo_domain.admin.service.WinnerPageService;
+import com.softeer.backend.global.common.response.ResponseDto;
+import jakarta.validation.Valid;
+import lombok.RequiredArgsConstructor;
+import org.springframework.web.bind.annotation.*;
+
+@RestController
+@RequiredArgsConstructor
+@RequestMapping("/admin/winner")
+public class WinnerPageController {
+    private final WinnerPageService winnerPageService;
+
+    @GetMapping
+    public ResponseDto<WinnerPageResponseDto> getWinnerPage() {
+        WinnerPageResponseDto winnerPageResponseDto = winnerPageService.getWinnerPage();
+
+        return ResponseDto.onSuccess(winnerPageResponseDto);
+    }
+
+    @GetMapping("/fcfs/{round}")
+    public ResponseDto<FcfsWinnerListResponseDto> getFcfsWinnerList(@PathVariable Integer round) {
+
+        FcfsWinnerListResponseDto fcfsWinnerListResponseDto = winnerPageService.getFcfsWinnerList(round);
+
+        return ResponseDto.onSuccess(fcfsWinnerListResponseDto);
+    }
+
+    @GetMapping("/draw/{rank}")
+    public ResponseDto<DrawWinnerListResponseDto> getDrawWinnerList(@PathVariable Integer rank) {
+
+        DrawWinnerListResponseDto drawWinnerListResponseDto = winnerPageService.getDrawWinnerList(rank);
+
+        return ResponseDto.onSuccess(drawWinnerListResponseDto);
+    }
+
+    @PostMapping("/fcfs")
+    public ResponseDto<Void> updateFcfsWinnerNum(@Valid @RequestBody FcfsWinnerUpdateRequestDto fcfsWinnerUpdateRequestDto) {
+
+        winnerPageService.updateFcfsWinnerNum(fcfsWinnerUpdateRequestDto);
+
+        return ResponseDto.onSuccess();
+    }
+
+    @PostMapping("/draw")
+    public ResponseDto<Void> updateFcfsWinnerNum(@Valid @RequestBody DrawWinnerUpdateRequestDto drawWinnerUpdateRequestDto) {
+
+        winnerPageService.updateDrawWinnerNum(drawWinnerUpdateRequestDto);
+
+        return ResponseDto.onSuccess();
+    }
+
+
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/index.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/index.html new file mode 100644 index 00000000..ef8b497e --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/index.html @@ -0,0 +1 @@ +com.softeer.backend.bo_domain.admin.controller

com.softeer.backend.bo_domain.admin.controller

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total84 of 840%0 of 0n/a12122424121244
WinnerPageController370%n/a5510105511
AdminLoginController210%n/a33663311
EventPageController190%n/a33663311
IndicatorPageController70%n/a11221111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/index.source.html new file mode 100644 index 00000000..1a276f93 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/index.source.html @@ -0,0 +1 @@ +com.softeer.backend.bo_domain.admin.controller

com.softeer.backend.bo_domain.admin.controller

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total84 of 840%0 of 0n/a12122424121244
WinnerPageController.java370%n/a5510105511
AdminLoginController.java210%n/a33663311
EventPageController.java190%n/a33663311
IndicatorPageController.java70%n/a11221111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.event/EventPageResponseDto.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.event/EventPageResponseDto.html new file mode 100644 index 00000000..d01d99c4 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.event/EventPageResponseDto.html @@ -0,0 +1 @@ +EventPageResponseDto

EventPageResponseDto

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total40 of 400%0 of 0n/a22181822
of(List, DrawSetting)280%n/a11131311
lambda$of$0(FcfsSetting)120%n/a115511
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.event/EventPageResponseDto.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.event/EventPageResponseDto.java.html new file mode 100644 index 00000000..1d290aac --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.event/EventPageResponseDto.java.html @@ -0,0 +1,85 @@ +EventPageResponseDto.java

EventPageResponseDto.java

package com.softeer.backend.bo_domain.admin.dto.event;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.softeer.backend.bo_domain.admin.dto.main.AdminMainPageResponseDto;
+import com.softeer.backend.fo_domain.draw.domain.DrawSetting;
+import com.softeer.backend.fo_domain.draw.service.DrawSettingManager;
+import com.softeer.backend.fo_domain.fcfs.domain.FcfsSetting;
+import com.softeer.backend.fo_domain.fcfs.service.FcfsSettingManager;
+import lombok.*;
+
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.LocalTime;
+import java.util.Arrays;
+import java.util.List;
+
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
+@AllArgsConstructor(access = AccessLevel.PUBLIC)
+@Builder
+@Getter
+public class EventPageResponseDto {
+
+    private List<FcfsEvent> fcfsEventList;
+
+    private DrawEvent drawEvent;
+
+    @Getter
+    @AllArgsConstructor
+    @Builder
+    public static class FcfsEvent {
+
+        private int round;
+
+        @JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss")
+        private LocalDateTime startTime;
+
+        @JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss")
+        private LocalDateTime endTime;
+
+    }
+
+    @Getter
+    @AllArgsConstructor
+    @Builder
+    public static class DrawEvent {
+
+        @JsonFormat(pattern = "yyyy-MM-dd")
+        private LocalDate startDate;
+
+        @JsonFormat(pattern = "yyyy-MM-dd")
+        private LocalDate endDate;
+
+        @JsonFormat(pattern = "HH:mm:ss")
+        private LocalTime startTime;
+
+        @JsonFormat(pattern = "HH:mm:ss")
+        private LocalTime endTime;
+
+    }
+
+    public static EventPageResponseDto of(List<FcfsSetting> fcfsSettingList, DrawSetting drawSetting) {
+        List<FcfsEvent> fcfsEventList = fcfsSettingList.stream()
+                .map((fcfsSetting) ->
+                        EventPageResponseDto.FcfsEvent.builder()
+                                .round(fcfsSetting.getRound())
+                                .startTime(fcfsSetting.getStartTime())
+                                .endTime(fcfsSetting.getEndTime())
+                                .build())
+                .toList();
+
+        DrawEvent drawEvent = DrawEvent.builder()
+                .startDate(drawSetting.getStartDate())
+                .endDate(drawSetting.getEndDate())
+                .startTime(drawSetting.getStartTime())
+                .endTime(drawSetting.getEndTime())
+                .build();
+
+        return EventPageResponseDto.builder()
+                .fcfsEventList(fcfsEventList)
+                .drawEvent(drawEvent)
+                .build();
+
+    }
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.event/index.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.event/index.html new file mode 100644 index 00000000..d863bb43 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.event/index.html @@ -0,0 +1 @@ +com.softeer.backend.bo_domain.admin.dto.event

com.softeer.backend.bo_domain.admin.dto.event

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total40 of 400%0 of 0n/a2218182211
EventPageResponseDto400%n/a2218182211
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.event/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.event/index.source.html new file mode 100644 index 00000000..428ee76a --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.event/index.source.html @@ -0,0 +1 @@ +com.softeer.backend.bo_domain.admin.dto.event

com.softeer.backend.bo_domain.admin.dto.event

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total40 of 400%0 of 0n/a2218182211
EventPageResponseDto.java400%n/a2218182211
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.indicator/EventIndicatorResponseDto.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.indicator/EventIndicatorResponseDto.html new file mode 100644 index 00000000..c5a599f4 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.indicator/EventIndicatorResponseDto.html @@ -0,0 +1 @@ +EventIndicatorResponseDto

EventIndicatorResponseDto

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total78 of 780%4 of 40%44303022
of(List, DrawSetting)690%40%33262611
lambda$of$0(EventParticipation)90%n/a114411
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.indicator/EventIndicatorResponseDto.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.indicator/EventIndicatorResponseDto.java.html new file mode 100644 index 00000000..a4143d26 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.indicator/EventIndicatorResponseDto.java.html @@ -0,0 +1,92 @@ +EventIndicatorResponseDto.java

EventIndicatorResponseDto.java

package com.softeer.backend.bo_domain.admin.dto.indicator;
+
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.softeer.backend.bo_domain.admin.serializer.PercentageSerializer;
+import com.softeer.backend.bo_domain.admin.serializer.PhoneNumberSerializer;
+import com.softeer.backend.bo_domain.eventparticipation.domain.EventParticipation;
+import com.softeer.backend.fo_domain.draw.domain.DrawSetting;
+import com.softeer.backend.fo_domain.draw.service.DrawSettingManager;
+import lombok.*;
+
+import java.time.LocalDate;
+import java.util.List;
+
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
+@AllArgsConstructor(access = AccessLevel.PUBLIC)
+@Builder
+@Getter
+public class EventIndicatorResponseDto {
+
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private LocalDate startDate;
+
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private LocalDate endDate;
+
+    private int totalVisitorCount;
+
+    private int totalFcfsParticipantCount;
+
+    private int totalDrawParticipantCount;
+
+    @JsonSerialize(using = PercentageSerializer.class)
+    private double fcfsParticipantRate;
+
+    @JsonSerialize(using = PercentageSerializer.class)
+    private double drawParticipantRate;
+
+    private List<VisitorNum> visitorNumList;
+
+    @Getter
+    @AllArgsConstructor
+    @Builder
+    public static class VisitorNum {
+
+        @JsonFormat(pattern = "yyyy-MM-dd")
+        private LocalDate visitDate;
+
+        private int visitorNum;
+    }
+
+    public static EventIndicatorResponseDto of(List<EventParticipation> eventParticipationList, DrawSetting drawSetting) {
+        LocalDate startDate = drawSetting.getStartDate();
+        LocalDate endDate = drawSetting.getEndDate();
+
+        int totalVisitorCount = eventParticipationList.stream()
+                .mapToInt(EventParticipation::getVisitorCount)
+                .sum();
+
+        int totalFcfsParticipantCount = eventParticipationList.stream()
+                .mapToInt(EventParticipation::getFcfsParticipantCount)
+                .sum();
+
+        int totalDrawParticipantCount = eventParticipationList.stream()
+                .mapToInt(EventParticipation::getDrawParticipantCount)
+                .sum();
+
+        double fcfsParticipantRate = totalVisitorCount == 0 ? 0 : (double) totalFcfsParticipantCount / (double) totalVisitorCount;
+        double drawParticipantRate = totalVisitorCount == 0 ? 0 : (double) totalDrawParticipantCount / (double) totalVisitorCount;
+
+        List<VisitorNum> visitorNumList = eventParticipationList.stream()
+                .map((eventParticipation) ->
+                        VisitorNum.builder()
+                                .visitDate(eventParticipation.getEventDate())
+                                .visitorNum(eventParticipation.getVisitorCount())
+                                .build())
+                .toList();
+
+        return EventIndicatorResponseDto.builder()
+                .startDate(startDate)
+                .endDate(endDate)
+                .totalVisitorCount(totalVisitorCount)
+                .totalFcfsParticipantCount(totalFcfsParticipantCount)
+                .totalDrawParticipantCount(totalDrawParticipantCount)
+                .fcfsParticipantRate(fcfsParticipantRate)
+                .drawParticipantRate(drawParticipantRate)
+                .visitorNumList(visitorNumList)
+                .build();
+    }
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.indicator/index.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.indicator/index.html new file mode 100644 index 00000000..ecaf2aa4 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.indicator/index.html @@ -0,0 +1 @@ +com.softeer.backend.bo_domain.admin.dto.indicator

com.softeer.backend.bo_domain.admin.dto.indicator

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total78 of 780%4 of 40%4430302211
EventIndicatorResponseDto780%40%4430302211
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.indicator/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.indicator/index.source.html new file mode 100644 index 00000000..feb28f64 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.indicator/index.source.html @@ -0,0 +1 @@ +com.softeer.backend.bo_domain.admin.dto.indicator

com.softeer.backend.bo_domain.admin.dto.indicator

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total78 of 780%4 of 40%4430302211
EventIndicatorResponseDto.java780%40%4430302211
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.main/AdminMainPageResponseDto.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.main/AdminMainPageResponseDto.html new file mode 100644 index 00000000..3b4e06bb --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.main/AdminMainPageResponseDto.html @@ -0,0 +1 @@ +AdminMainPageResponseDto

AdminMainPageResponseDto

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total113 of 1130%0 of 0n/a33383833
of(List, List)930%n/a11313111
lambda$of$0(FcfsSetting)150%n/a116611
calculateWinningProbability(int)50%n/a111111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.main/AdminMainPageResponseDto.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.main/AdminMainPageResponseDto.java.html new file mode 100644 index 00000000..7fe0a016 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.main/AdminMainPageResponseDto.java.html @@ -0,0 +1,124 @@ +AdminMainPageResponseDto.java

AdminMainPageResponseDto.java

package com.softeer.backend.bo_domain.admin.dto.main;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.softeer.backend.bo_domain.admin.serializer.PercentageSerializer;
+import com.softeer.backend.fo_domain.draw.domain.DrawSetting;
+import com.softeer.backend.fo_domain.fcfs.domain.FcfsSetting;
+import lombok.*;
+
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.LocalTime;
+import java.util.Arrays;
+import java.util.List;
+
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
+@AllArgsConstructor(access = AccessLevel.PUBLIC)
+@Builder
+@Getter
+public class AdminMainPageResponseDto {
+    public static final int EXPECTED_PARTICIPANT_COUNT = 10000;
+
+    private List<FcfsEvent> fcfsEventList;
+
+    private DrawEvent drawEvent;
+
+    @Getter
+    @AllArgsConstructor
+    @Builder
+    public static class FcfsEvent {
+
+        private int round;
+
+        @JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss")
+        private LocalDateTime startTime;
+
+        @JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss")
+        private LocalDateTime endTime;
+
+        private int winnerNum;
+    }
+
+    @Getter
+    @AllArgsConstructor
+    @Builder
+    public static class DrawEvent {
+
+        @JsonFormat(pattern = "yyyy-MM-dd")
+        private LocalDate startDate;
+
+        @JsonFormat(pattern = "yyyy-MM-dd")
+        private LocalDate endDate;
+
+        @JsonFormat(pattern = "hh:mm:ss")
+        private LocalTime startTime;
+
+        @JsonFormat(pattern = "hh:mm:ss")
+        private LocalTime endTime;
+
+        private List<DrawInfo> drawInfoList;
+    }
+
+    @Getter
+    @AllArgsConstructor
+    @Builder
+    public static class DrawInfo {
+
+        private int rank;
+
+        private int winnerNum;
+
+        @JsonSerialize(using = PercentageSerializer.class)
+        private double probability;
+    }
+
+    public static AdminMainPageResponseDto of(List<FcfsSetting> fcfsSettingList, List<DrawSetting> drawSettingList) {
+        List<FcfsEvent> fcfsEventList = fcfsSettingList.stream()
+                .map((fcfsSetting) ->
+                        FcfsEvent.builder()
+                                .round(fcfsSetting.getRound())
+                                .startTime(fcfsSetting.getStartTime())
+                                .endTime(fcfsSetting.getEndTime())
+                                .winnerNum(fcfsSetting.getWinnerNum())
+                                .build())
+                .toList();
+
+        DrawSetting drawSetting = drawSettingList.get(0);
+        DrawInfo drawInfoFirst = DrawInfo.builder()
+                .rank(1)
+                .winnerNum(drawSetting.getWinnerNum1())
+                .probability(calculateWinningProbability(drawSetting.getWinnerNum1()))
+                .build();
+        DrawInfo drawInfoSecond = DrawInfo.builder()
+                .rank(2)
+                .winnerNum(drawSetting.getWinnerNum2())
+                .probability(calculateWinningProbability(drawSetting.getWinnerNum2()))
+                .build();
+        DrawInfo drawInfoThird = DrawInfo.builder()
+                .rank(3)
+                .winnerNum(drawSetting.getWinnerNum3())
+                .probability(calculateWinningProbability(drawSetting.getWinnerNum3()))
+                .build();
+
+        List<DrawInfo> drawInfoList = Arrays.asList(drawInfoFirst, drawInfoSecond, drawInfoThird);
+        DrawEvent drawEvent = DrawEvent.builder()
+                .startDate(drawSetting.getStartDate())
+                .endDate(drawSetting.getEndDate())
+                .startTime(drawSetting.getStartTime())
+                .endTime(drawSetting.getEndTime())
+                .drawInfoList(drawInfoList)
+                .build();
+
+        return AdminMainPageResponseDto.builder()
+                .fcfsEventList(fcfsEventList)
+                .drawEvent(drawEvent)
+                .build();
+
+    }
+
+    private static double calculateWinningProbability(int winnerNum) {
+        return (double) winnerNum / (double) EXPECTED_PARTICIPANT_COUNT;
+    }
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.main/index.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.main/index.html new file mode 100644 index 00000000..b3eb3563 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.main/index.html @@ -0,0 +1 @@ +com.softeer.backend.bo_domain.admin.dto.main

com.softeer.backend.bo_domain.admin.dto.main

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total113 of 1130%0 of 0n/a3338383311
AdminMainPageResponseDto1130%n/a3338383311
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.main/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.main/index.source.html new file mode 100644 index 00000000..1d064aa4 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.main/index.source.html @@ -0,0 +1 @@ +com.softeer.backend.bo_domain.admin.dto.main

com.softeer.backend.bo_domain.admin.dto.main

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total113 of 1130%0 of 0n/a3338383311
AdminMainPageResponseDto.java1130%n/a3338383311
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/DrawWinnerListResponseDto.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/DrawWinnerListResponseDto.html new file mode 100644 index 00000000..447e24eb --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/DrawWinnerListResponseDto.html @@ -0,0 +1 @@ +DrawWinnerListResponseDto

DrawWinnerListResponseDto

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total27 of 270%0 of 0n/a22111122
of(List, int)160%n/a118811
lambda$of$0(Draw)110%n/a114411
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/DrawWinnerListResponseDto.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/DrawWinnerListResponseDto.java.html new file mode 100644 index 00000000..f5fe3075 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/DrawWinnerListResponseDto.java.html @@ -0,0 +1,49 @@ +DrawWinnerListResponseDto.java

DrawWinnerListResponseDto.java

package com.softeer.backend.bo_domain.admin.dto.winner;
+
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.softeer.backend.bo_domain.admin.serializer.PhoneNumberSerializer;
+import com.softeer.backend.fo_domain.draw.domain.Draw;
+import com.softeer.backend.fo_domain.fcfs.domain.Fcfs;
+import lombok.*;
+
+import java.util.Comparator;
+import java.util.List;
+
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
+@AllArgsConstructor(access = AccessLevel.PUBLIC)
+@Builder
+@Getter
+public class DrawWinnerListResponseDto {
+
+    int rank;
+
+    private List<DrawWinner> drawWinnerList;
+
+    @Getter
+    @AllArgsConstructor
+    @Builder
+    public static class DrawWinner {
+
+        private String name;
+
+        @JsonSerialize(using = PhoneNumberSerializer.class)
+        private String phoneNumber;
+    }
+
+    public static DrawWinnerListResponseDto of(List<Draw> drawList, int rank) {
+        List<DrawWinner> drawWinnerList = drawList.stream()
+                .map((draw) -> DrawWinner.builder()
+                        .name(draw.getUser().getName())
+                        .phoneNumber(draw.getUser().getPhoneNumber())
+                        .build())
+                .sorted(Comparator.comparing(DrawWinnerListResponseDto.DrawWinner::getName))
+                .toList();
+
+        return DrawWinnerListResponseDto.builder()
+                .rank(rank)
+                .drawWinnerList(drawWinnerList)
+                .build();
+    }
+
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/FcfsWinnerListResponseDto.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/FcfsWinnerListResponseDto.html new file mode 100644 index 00000000..89a22cf8 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/FcfsWinnerListResponseDto.html @@ -0,0 +1 @@ +FcfsWinnerListResponseDto

FcfsWinnerListResponseDto

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total27 of 270%0 of 0n/a22111122
of(List, int)160%n/a118811
lambda$of$0(Fcfs)110%n/a114411
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/FcfsWinnerListResponseDto.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/FcfsWinnerListResponseDto.java.html new file mode 100644 index 00000000..dc3cbb3d --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/FcfsWinnerListResponseDto.java.html @@ -0,0 +1,48 @@ +FcfsWinnerListResponseDto.java

FcfsWinnerListResponseDto.java

package com.softeer.backend.bo_domain.admin.dto.winner;
+
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.softeer.backend.bo_domain.admin.serializer.PhoneNumberSerializer;
+import com.softeer.backend.fo_domain.fcfs.domain.Fcfs;
+import lombok.*;
+
+import java.util.ArrayList;
+import java.util.Comparator;
+import java.util.List;
+
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
+@AllArgsConstructor(access = AccessLevel.PUBLIC)
+@Builder
+@Getter
+public class FcfsWinnerListResponseDto {
+
+    int round;
+
+    private List<FcfsWinner> fcfsWinnerList;
+
+    @Getter
+    @AllArgsConstructor
+    @Builder
+    public static class FcfsWinner {
+
+        private String name;
+
+        @JsonSerialize(using = PhoneNumberSerializer.class)
+        private String phoneNumber;
+    }
+
+    public static FcfsWinnerListResponseDto of(List<Fcfs> fcfsList, int round) {
+        List<FcfsWinner> fcfsWinnerList = fcfsList.stream()
+                .map((fcfs) -> FcfsWinner.builder()
+                        .name(fcfs.getUser().getName())
+                        .phoneNumber(fcfs.getUser().getPhoneNumber())
+                        .build())
+                .sorted(Comparator.comparing(FcfsWinner::getName))
+                .toList();
+
+        return FcfsWinnerListResponseDto.builder()
+                .round(round)
+                .fcfsWinnerList(fcfsWinnerList)
+                .build();
+    }
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/WinnerPageResponseDto.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/WinnerPageResponseDto.html new file mode 100644 index 00000000..bb48d7cd --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/WinnerPageResponseDto.html @@ -0,0 +1 @@ +WinnerPageResponseDto

WinnerPageResponseDto

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total89 of 890%0 of 0n/a33292933
of(List, DrawSetting)710%n/a11232311
lambda$of$0(FcfsSetting)130%n/a115511
calculateWinningProbability(int)50%n/a111111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/WinnerPageResponseDto.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/WinnerPageResponseDto.java.html new file mode 100644 index 00000000..3ea0ac87 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/WinnerPageResponseDto.java.html @@ -0,0 +1,93 @@ +WinnerPageResponseDto.java

WinnerPageResponseDto.java

package com.softeer.backend.bo_domain.admin.dto.winner;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.softeer.backend.bo_domain.admin.serializer.PercentageSerializer;
+import com.softeer.backend.fo_domain.draw.domain.DrawSetting;
+import com.softeer.backend.fo_domain.draw.service.DrawSettingManager;
+import com.softeer.backend.fo_domain.fcfs.domain.FcfsSetting;
+import com.softeer.backend.fo_domain.fcfs.service.FcfsSettingManager;
+import lombok.*;
+
+import java.time.LocalDate;
+import java.util.Arrays;
+import java.util.List;
+
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
+@AllArgsConstructor(access = AccessLevel.PUBLIC)
+@Builder
+@Getter
+public class WinnerPageResponseDto {
+
+    public static final int EXPECTED_PARTICIPANT_COUNT = 10000;
+
+    private List<FcfsEvent> fcfsEventList;
+
+    private List<DrawEvent> drawEventList;
+
+    @Getter
+    @AllArgsConstructor
+    @Builder
+    public static class FcfsEvent {
+
+        private int round;
+
+        @JsonFormat(pattern = "yyyy-MM-dd")
+        private LocalDate eventDate;
+
+        private int winnerNum;
+    }
+
+    @Getter
+    @AllArgsConstructor
+    @Builder
+    public static class DrawEvent {
+
+        private int rank;
+
+        private int winnerNum;
+
+        @JsonSerialize(using = PercentageSerializer.class)
+        private double probability;
+    }
+
+    public static WinnerPageResponseDto of(List<FcfsSetting> fcfsSettingList, DrawSetting drawSetting) {
+        List<FcfsEvent> fcfsEventList = fcfsSettingList.stream()
+                .map((fcfsSetting) ->
+                        FcfsEvent.builder()
+                                .round(fcfsSetting.getRound())
+                                .eventDate(LocalDate.from(fcfsSetting.getStartTime()))
+                                .winnerNum(fcfsSetting.getWinnerNum())
+                                .build())
+                .toList();
+
+        DrawEvent drawEvent1 = DrawEvent.builder()
+                .rank(1)
+                .winnerNum(drawSetting.getWinnerNum1())
+                .probability(calculateWinningProbability(drawSetting.getWinnerNum1()))
+                .build();
+        DrawEvent drawEvent2 = DrawEvent.builder()
+                .rank(2)
+                .winnerNum(drawSetting.getWinnerNum2())
+                .probability(calculateWinningProbability(drawSetting.getWinnerNum2()))
+                .build();
+        DrawEvent drawEvent3 = DrawEvent.builder()
+                .rank(3)
+                .winnerNum(drawSetting.getWinnerNum3())
+                .probability(calculateWinningProbability(drawSetting.getWinnerNum3()))
+                .build();
+
+        List<DrawEvent> drawEventList = Arrays.asList(drawEvent1, drawEvent2, drawEvent3);
+
+        return WinnerPageResponseDto.builder()
+                .fcfsEventList(fcfsEventList)
+                .drawEventList(drawEventList)
+                .build();
+
+    }
+
+    private static double calculateWinningProbability(int winnerNum) {
+        return (double) winnerNum / (double) EXPECTED_PARTICIPANT_COUNT;
+    }
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/index.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/index.html new file mode 100644 index 00000000..4c94cde8 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/index.html @@ -0,0 +1 @@ +com.softeer.backend.bo_domain.admin.dto.winner

com.softeer.backend.bo_domain.admin.dto.winner

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total143 of 1430%0 of 0n/a7751517733
WinnerPageResponseDto890%n/a3329293311
DrawWinnerListResponseDto270%n/a2211112211
FcfsWinnerListResponseDto270%n/a2211112211
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/index.source.html new file mode 100644 index 00000000..400abace --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/index.source.html @@ -0,0 +1 @@ +com.softeer.backend.bo_domain.admin.dto.winner

com.softeer.backend.bo_domain.admin.dto.winner

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total143 of 1430%0 of 0n/a7751517733
WinnerPageResponseDto.java890%n/a3329293311
FcfsWinnerListResponseDto.java270%n/a2211112211
DrawWinnerListResponseDto.java270%n/a2211112211
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.exception/AdminException.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.exception/AdminException.html new file mode 100644 index 00000000..134b3b24 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.exception/AdminException.html @@ -0,0 +1 @@ +AdminException

AdminException

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total4 of 40%0 of 0n/a112211
AdminException(BaseErrorCode)40%n/a112211
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.exception/AdminException.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.exception/AdminException.java.html new file mode 100644 index 00000000..ae60560e --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.exception/AdminException.java.html @@ -0,0 +1,12 @@ +AdminException.java

AdminException.java

package com.softeer.backend.bo_domain.admin.exception;
+
+import com.softeer.backend.global.common.code.BaseErrorCode;
+import com.softeer.backend.global.common.exception.GeneralException;
+
+public class AdminException extends GeneralException {
+
+    public AdminException(BaseErrorCode code) {
+        super(code);
+    }
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.exception/index.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.exception/index.html new file mode 100644 index 00000000..216a9f3e --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.exception/index.html @@ -0,0 +1 @@ +com.softeer.backend.bo_domain.admin.exception

com.softeer.backend.bo_domain.admin.exception

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total4 of 40%0 of 0n/a11221111
AdminException40%n/a11221111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.exception/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.exception/index.source.html new file mode 100644 index 00000000..269a73e4 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.exception/index.source.html @@ -0,0 +1 @@ +com.softeer.backend.bo_domain.admin.exception

com.softeer.backend.bo_domain.admin.exception

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total4 of 40%0 of 0n/a11221111
AdminException.java40%n/a11221111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/PercentageSerializer.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/PercentageSerializer.html new file mode 100644 index 00000000..383a1cc3 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/PercentageSerializer.html @@ -0,0 +1 @@ +PercentageSerializer

PercentageSerializer

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total22 of 220%2 of 20%335522
serialize(Double, JsonGenerator, SerializerProvider)190%20%224411
PercentageSerializer()30%n/a111111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/PercentageSerializer.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/PercentageSerializer.java.html new file mode 100644 index 00000000..d15bed41 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/PercentageSerializer.java.html @@ -0,0 +1,20 @@ +PercentageSerializer.java

PercentageSerializer.java

package com.softeer.backend.bo_domain.admin.serializer;
+
+import com.fasterxml.jackson.core.JsonGenerator;
+import com.fasterxml.jackson.databind.JsonSerializer;
+import com.fasterxml.jackson.databind.SerializerProvider;
+
+import java.io.IOException;
+
+public class PercentageSerializer extends JsonSerializer<Double> {
+
+    @Override
+    public void serialize(Double value, JsonGenerator gen, SerializerProvider serializers) throws IOException {
+        if (value != null) {
+            // 백분율로 변환하고 % 기호를 붙입니다.
+            String formatted = String.format("%.2f%%", value * 100);
+            gen.writeString(formatted);
+        }
+    }
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/PhoneNumberSerializer.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/PhoneNumberSerializer.html new file mode 100644 index 00000000..49823d36 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/PhoneNumberSerializer.html @@ -0,0 +1 @@ +PhoneNumberSerializer

PhoneNumberSerializer

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total12 of 120%0 of 0n/a224422
serialize(String, JsonGenerator, SerializerProvider)90%n/a113311
PhoneNumberSerializer()30%n/a111111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/PhoneNumberSerializer.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/PhoneNumberSerializer.java.html new file mode 100644 index 00000000..5b3f7632 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/PhoneNumberSerializer.java.html @@ -0,0 +1,18 @@ +PhoneNumberSerializer.java

PhoneNumberSerializer.java

package com.softeer.backend.bo_domain.admin.serializer;
+
+import com.fasterxml.jackson.core.JsonGenerator;
+import com.fasterxml.jackson.databind.JsonSerializer;
+import com.fasterxml.jackson.databind.SerializerProvider;
+
+import java.io.IOException;
+
+public class PhoneNumberSerializer extends JsonSerializer<String> {
+
+    @Override
+    public void serialize(String value, JsonGenerator gen, SerializerProvider serializers) throws IOException {
+
+        String formatted = value.replaceAll("(\\d{3})(\\d{4})(\\d+)", "$1-$2-$3");
+        gen.writeString(formatted);
+    }
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/index.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/index.html new file mode 100644 index 00000000..cd7d0e99 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/index.html @@ -0,0 +1 @@ +com.softeer.backend.bo_domain.admin.serializer

com.softeer.backend.bo_domain.admin.serializer

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total34 of 340%2 of 20%55994422
PercentageSerializer220%20%33552211
PhoneNumberSerializer120%n/a22442211
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/index.source.html new file mode 100644 index 00000000..743c8e2e --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/index.source.html @@ -0,0 +1 @@ +com.softeer.backend.bo_domain.admin.serializer

com.softeer.backend.bo_domain.admin.serializer

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total34 of 340%2 of 20%55994422
PercentageSerializer.java220%20%33552211
PhoneNumberSerializer.java120%n/a22442211
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/AdminLoginService.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/AdminLoginService.html new file mode 100644 index 00000000..346d68e1 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/AdminLoginService.html @@ -0,0 +1 @@ +AdminLoginService

AdminLoginService

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total89 of 890%4 of 40%77252555
handleLogin(AdminLoginRequestDto)370%20%229911
handleSignUp(AdminSignUpRequestDto)300%20%228811
handleLogout(int)100%n/a115511
lambda$handleLogin$0()80%n/a112211
static {...}40%n/a111111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/AdminLoginService.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/AdminLoginService.java.html new file mode 100644 index 00000000..c2a389e6 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/AdminLoginService.java.html @@ -0,0 +1,73 @@ +AdminLoginService.java

AdminLoginService.java

package com.softeer.backend.bo_domain.admin.service;
+
+import com.softeer.backend.bo_domain.admin.domain.Admin;
+import com.softeer.backend.bo_domain.admin.dto.login.AdminLoginRequestDto;
+import com.softeer.backend.bo_domain.admin.dto.login.AdminSignUpRequestDto;
+import com.softeer.backend.bo_domain.admin.exception.AdminException;
+import com.softeer.backend.bo_domain.admin.repository.AdminRepository;
+import com.softeer.backend.bo_domain.admin.util.PasswordEncoder;
+import com.softeer.backend.global.common.code.status.ErrorStatus;
+import com.softeer.backend.global.common.constant.RoleType;
+import com.softeer.backend.global.common.dto.JwtClaimsDto;
+import com.softeer.backend.global.common.dto.JwtTokenResponseDto;
+import com.softeer.backend.global.util.JwtUtil;
+import com.softeer.backend.global.util.StringRedisUtil;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+@Slf4j
+@Service
+@RequiredArgsConstructor
+public class AdminLoginService {
+
+    private final AdminRepository adminRepository;
+    private final JwtUtil jwtUtil;
+    private final StringRedisUtil stringRedisUtil;
+    private final PasswordEncoder passwordEncoder;
+
+    @Transactional(readOnly = true)
+    public JwtTokenResponseDto handleLogin(AdminLoginRequestDto adminLoginRequestDto) {
+
+        Admin admin = adminRepository.findByAccount(adminLoginRequestDto.getAccount())
+                .orElseThrow(() -> {
+                    log.error("Admin not found.");
+                    return new AdminException(ErrorStatus._NOT_FOUND);
+                });
+
+        if (!passwordEncoder.matches(adminLoginRequestDto.getPassword(), admin.getPassword())) {
+            log.error("Admin password not match.");
+            throw new AdminException(ErrorStatus._NOT_FOUND);
+        }
+
+        return jwtUtil.createServiceToken(JwtClaimsDto.builder()
+                .id(admin.getId())
+                .roleType(RoleType.ROLE_ADMIN)
+                .build());
+
+    }
+
+    public void handleLogout(int adminId) {
+
+        stringRedisUtil.deleteRefreshToken(JwtClaimsDto.builder()
+                .id(adminId)
+                .roleType(RoleType.ROLE_ADMIN)
+                .build());
+    }
+
+    @Transactional
+    public void handleSignUp(AdminSignUpRequestDto adminSignUpRequestDto) {
+
+        if (adminRepository.existsByAccount(adminSignUpRequestDto.getAccount())) {
+            log.error("Admin account already exist.");
+            throw new AdminException(ErrorStatus._BAD_REQUEST);
+        }
+
+        adminRepository.save(Admin.builder()
+                .account(adminSignUpRequestDto.getAccount())
+                .password(passwordEncoder.encode(adminSignUpRequestDto.getPassword()))
+                .build());
+    }
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/EventPageService.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/EventPageService.html new file mode 100644 index 00000000..592b6ba9 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/EventPageService.html @@ -0,0 +1 @@ +EventPageService

EventPageService

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total138 of 1380%0 of 0n/a55292955
updateFcfsEventTime(FcfsEventTimeRequestDto)740%n/a11131311
updateDrawSetting(DrawSetting, LocalDate, LocalDate)220%n/a116611
updateDrawEventTime(DrawEventTimeRequestDto)160%n/a114411
updateFcfsSetting(FcfsSetting, LocalDate, LocalTime)150%n/a115511
getEventPage()110%n/a111111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/EventPageService.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/EventPageService.java.html new file mode 100644 index 00000000..7a030ee4 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/EventPageService.java.html @@ -0,0 +1,93 @@ +EventPageService.java

EventPageService.java

package com.softeer.backend.bo_domain.admin.service;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.softeer.backend.bo_domain.admin.dto.event.DrawEventTimeRequestDto;
+import com.softeer.backend.bo_domain.admin.dto.event.EventPageResponseDto;
+import com.softeer.backend.bo_domain.admin.dto.event.FcfsEventTimeRequestDto;
+import com.softeer.backend.bo_domain.admin.dto.main.AdminMainPageResponseDto;
+import com.softeer.backend.fo_domain.draw.domain.DrawSetting;
+import com.softeer.backend.fo_domain.draw.repository.DrawSettingRepository;
+import com.softeer.backend.fo_domain.draw.service.DrawSettingManager;
+import com.softeer.backend.fo_domain.fcfs.domain.FcfsSetting;
+import com.softeer.backend.fo_domain.fcfs.repository.FcfsSettingRepository;
+import com.softeer.backend.fo_domain.fcfs.service.FcfsSettingManager;
+import lombok.RequiredArgsConstructor;
+import org.springframework.data.domain.Sort;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.time.DayOfWeek;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.LocalTime;
+import java.time.temporal.TemporalAdjusters;
+import java.util.List;
+
+@Service
+@RequiredArgsConstructor
+@Transactional
+public class EventPageService {
+
+    private final FcfsSettingRepository fcfsSettingRepository;
+    private final DrawSettingRepository drawSettingRepository;
+
+    @Transactional(readOnly = true)
+    public EventPageResponseDto getEventPage() {
+
+        return EventPageResponseDto.of(fcfsSettingRepository.findAll(), drawSettingRepository.findAll().get(0));
+    }
+
+    public void updateFcfsEventTime(FcfsEventTimeRequestDto fcfsEventTimeRequestDto) {
+
+        List<FcfsSetting> fcfsSettingList = fcfsSettingRepository.findAll(Sort.by(Sort.Order.asc("id")));
+
+        LocalDate startDate = fcfsEventTimeRequestDto.getStartDate();
+        LocalDate endDate = fcfsEventTimeRequestDto.getEndDate();
+        LocalTime startTime = fcfsEventTimeRequestDto.getStartTime();
+
+        updateFcfsSetting(fcfsSettingList.get(0), startDate, startTime);
+        updateFcfsSetting(fcfsSettingList.get(1), endDate, startTime);
+
+        LocalDate nextWeekStartDate = startDate.plusWeeks(1);
+        LocalDate nextWeekEndDate = endDate.plusWeeks(1);
+
+        updateFcfsSetting(fcfsSettingList.get(2), nextWeekStartDate, startTime);
+        updateFcfsSetting(fcfsSettingList.get(3), nextWeekEndDate, startTime);
+
+        DrawSetting drawSetting = drawSettingRepository.findAll().get(0);
+        updateDrawSetting(drawSetting, startDate, endDate);
+
+    }
+
+    private void updateFcfsSetting(FcfsSetting fcfsSetting, LocalDate date, LocalTime time) {
+
+        LocalDateTime newStartTime = LocalDateTime.of(date, time);
+        LocalDateTime newEndTime = newStartTime.plusHours(2);
+
+        fcfsSetting.setStartTime(newStartTime);
+        fcfsSetting.setEndTime(newEndTime);
+
+    }
+
+    private void updateDrawSetting(DrawSetting drawSetting, LocalDate startDate, LocalDate endDate) {
+        LocalDate startDateOfDraw = startDate.with(TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY));
+
+        LocalDate endDateOfPreviousWeek = endDate.with(TemporalAdjusters.nextOrSame(DayOfWeek.SUNDAY));
+        LocalDate endDateOfDraw = endDateOfPreviousWeek.with(TemporalAdjusters.next(DayOfWeek.SUNDAY));
+
+        drawSetting.setStartDate(startDateOfDraw);
+        drawSetting.setEndDate(endDateOfDraw);
+
+    }
+
+    public void updateDrawEventTime(DrawEventTimeRequestDto drawEventTimeRequestDto) {
+        DrawSetting drawSetting = drawSettingRepository.findAll().get(0);
+
+        drawSetting.setStartTime(drawEventTimeRequestDto.getStartTime());
+        drawSetting.setEndTime(drawEventTimeRequestDto.getEndTime());
+
+    }
+
+
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/IndicatorPageService.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/IndicatorPageService.html new file mode 100644 index 00000000..eaeaba56 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/IndicatorPageService.html @@ -0,0 +1 @@ +IndicatorPageService

IndicatorPageService

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total19 of 190%0 of 0n/a114411
getEventIndicator()190%n/a114411
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/IndicatorPageService.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/IndicatorPageService.java.html new file mode 100644 index 00000000..bc2862e9 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/IndicatorPageService.java.html @@ -0,0 +1,34 @@ +IndicatorPageService.java

IndicatorPageService.java

package com.softeer.backend.bo_domain.admin.service;
+
+import com.softeer.backend.bo_domain.admin.dto.indicator.EventIndicatorResponseDto;
+import com.softeer.backend.bo_domain.eventparticipation.domain.EventParticipation;
+import com.softeer.backend.bo_domain.eventparticipation.repository.EventParticipationRepository;
+import com.softeer.backend.fo_domain.draw.domain.DrawSetting;
+import com.softeer.backend.fo_domain.draw.repository.DrawSettingRepository;
+import com.softeer.backend.fo_domain.draw.service.DrawSettingManager;
+import kotlinx.serialization.Required;
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+@RequiredArgsConstructor
+public class IndicatorPageService {
+
+    private final EventParticipationRepository eventParticipationRepository;
+    private final DrawSettingRepository drawSettingRepository;
+
+    public EventIndicatorResponseDto getEventIndicator() {
+
+        DrawSetting drawSetting = drawSettingRepository.findAll().get(0);
+
+        List<EventParticipation> eventParticipationList = eventParticipationRepository.findAllByEventDateBetween(
+                drawSetting.getStartDate(), drawSetting.getEndDate()
+        );
+
+        return EventIndicatorResponseDto.of(eventParticipationList, drawSetting);
+    }
+
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/WinnerPageService.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/WinnerPageService.html new file mode 100644 index 00000000..23e3109b --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/WinnerPageService.html @@ -0,0 +1 @@ +WinnerPageService

WinnerPageService

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total68 of 680%0 of 0n/a77141477
updateDrawWinnerNum(DrawWinnerUpdateRequestDto)200%n/a115511
getWinnerPage()110%n/a111111
getFcfsWinnerList(int)90%n/a112211
getDrawWinnerList(int)90%n/a112211
updateFcfsWinnerNum(FcfsWinnerUpdateRequestDto)90%n/a113311
lambda$updateFcfsWinnerNum$0(FcfsWinnerUpdateRequestDto, FcfsSetting)60%n/a111111
static {...}40%n/a111111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/WinnerPageService.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/WinnerPageService.java.html new file mode 100644 index 00000000..fd80c074 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/WinnerPageService.java.html @@ -0,0 +1,72 @@ +WinnerPageService.java

WinnerPageService.java

package com.softeer.backend.bo_domain.admin.service;
+
+import com.softeer.backend.bo_domain.admin.dto.event.EventPageResponseDto;
+import com.softeer.backend.bo_domain.admin.dto.winner.*;
+import com.softeer.backend.bo_domain.admin.exception.AdminException;
+import com.softeer.backend.fo_domain.draw.domain.Draw;
+import com.softeer.backend.fo_domain.draw.domain.DrawSetting;
+import com.softeer.backend.fo_domain.draw.repository.DrawRepository;
+import com.softeer.backend.fo_domain.draw.repository.DrawSettingRepository;
+import com.softeer.backend.fo_domain.draw.service.DrawSettingManager;
+import com.softeer.backend.fo_domain.fcfs.domain.Fcfs;
+import com.softeer.backend.fo_domain.fcfs.domain.FcfsSetting;
+import com.softeer.backend.fo_domain.fcfs.repository.FcfsRepository;
+import com.softeer.backend.fo_domain.fcfs.repository.FcfsSettingRepository;
+import com.softeer.backend.fo_domain.fcfs.service.FcfsSettingManager;
+import com.softeer.backend.fo_domain.user.repository.UserRepository;
+import com.softeer.backend.global.common.code.status.ErrorStatus;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.data.domain.Sort;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+
+@Slf4j
+@Service
+@RequiredArgsConstructor
+public class WinnerPageService {
+
+    private final FcfsRepository fcfsRepository;
+    private final DrawRepository drawRepository;
+    private final FcfsSettingRepository fcfsSettingRepository;
+    private final DrawSettingRepository drawSettingRepository;
+
+    @Transactional(readOnly = true)
+    public WinnerPageResponseDto getWinnerPage() {
+
+        return WinnerPageResponseDto.of(fcfsSettingRepository.findAll(), drawSettingRepository.findAll().get(0));
+    }
+
+    @Transactional(readOnly = true)
+    public FcfsWinnerListResponseDto getFcfsWinnerList(int round) {
+        List<Fcfs> fcfsList = fcfsRepository.findFcfsWithUser(round);
+
+        return FcfsWinnerListResponseDto.of(fcfsList, round);
+    }
+
+    @Transactional(readOnly = true)
+    public DrawWinnerListResponseDto getDrawWinnerList(int rank) {
+        List<Draw> drawList = drawRepository.findDrawWithUser(rank);
+
+        return DrawWinnerListResponseDto.of(drawList, rank);
+    }
+
+    @Transactional
+    public void updateFcfsWinnerNum(FcfsWinnerUpdateRequestDto fcfsWinnerUpdateRequestDto) {
+        List<FcfsSetting> fcfsSettingList = fcfsSettingRepository.findAll();
+
+        fcfsSettingList.forEach((fcfsSetting) -> fcfsSetting.setWinnerNum(fcfsWinnerUpdateRequestDto.getFcfsWinnerNum()));
+    }
+
+    @Transactional
+    public void updateDrawWinnerNum(DrawWinnerUpdateRequestDto drawWinnerUpdateRequestDto) {
+        DrawSetting drawSetting = drawSettingRepository.findAll().get(0);
+
+        drawSetting.setWinnerNum1(drawWinnerUpdateRequestDto.getFirstWinnerNum());
+        drawSetting.setWinnerNum2(drawWinnerUpdateRequestDto.getSecondWinnerNum());
+        drawSetting.setWinnerNum3(drawWinnerUpdateRequestDto.getThirdWinnerNum());
+    }
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/index.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/index.html new file mode 100644 index 00000000..2d68aec4 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/index.html @@ -0,0 +1 @@ +com.softeer.backend.bo_domain.admin.service

com.softeer.backend.bo_domain.admin.service

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total314 of 3140%4 of 40%20207272181844
EventPageService1380%n/a5529295511
AdminLoginService890%40%7725255511
WinnerPageService680%n/a7714147711
IndicatorPageService190%n/a11441111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/index.source.html new file mode 100644 index 00000000..8e3490dc --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/index.source.html @@ -0,0 +1 @@ +com.softeer.backend.bo_domain.admin.service

com.softeer.backend.bo_domain.admin.service

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total314 of 3140%4 of 40%20207272181844
EventPageService.java1380%n/a5529295511
AdminLoginService.java890%40%7725255511
WinnerPageService.java680%n/a7714147711
IndicatorPageService.java190%n/a11441111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.util/PasswordEncoder.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.util/PasswordEncoder.html new file mode 100644 index 00000000..4951a1e2 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.util/PasswordEncoder.html @@ -0,0 +1 @@ +PasswordEncoder

PasswordEncoder

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total11 of 110%0 of 0n/a333333
encode(String)40%n/a111111
matches(String, String)40%n/a111111
PasswordEncoder()30%n/a111111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.util/PasswordEncoder.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.util/PasswordEncoder.java.html new file mode 100644 index 00000000..eae600b0 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.util/PasswordEncoder.java.html @@ -0,0 +1,19 @@ +PasswordEncoder.java

PasswordEncoder.java

package com.softeer.backend.bo_domain.admin.util;
+
+import org.mindrot.jbcrypt.BCrypt;
+import org.springframework.stereotype.Component;
+
+@Component
+public class PasswordEncoder {
+
+    // 비밀번호를 해시화
+    public String encode(String rawPassword) {
+        return BCrypt.hashpw(rawPassword, BCrypt.gensalt());
+    }
+
+    // 비밀번호 비교 (평문 vs 해시)
+    public boolean matches(String rawPassword, String encodedPassword) {
+        return BCrypt.checkpw(rawPassword, encodedPassword);
+    }
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.util/index.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.util/index.html new file mode 100644 index 00000000..e7514b8e --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.util/index.html @@ -0,0 +1 @@ +com.softeer.backend.bo_domain.admin.util

com.softeer.backend.bo_domain.admin.util

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total11 of 110%0 of 0n/a33333311
PasswordEncoder110%n/a33333311
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.util/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.util/index.source.html new file mode 100644 index 00000000..a4cd281c --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.util/index.source.html @@ -0,0 +1 @@ +com.softeer.backend.bo_domain.admin.util

com.softeer.backend.bo_domain.admin.util

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total11 of 110%0 of 0n/a33333311
PasswordEncoder.java110%n/a33333311
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/DrawTimeRangeValidator.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/DrawTimeRangeValidator.html new file mode 100644 index 00000000..73b05d56 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/DrawTimeRangeValidator.html @@ -0,0 +1 @@ +DrawTimeRangeValidator

DrawTimeRangeValidator

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total46 of 460%10 of 100%88121233
isValid(DrawEventTimeRequestDto, ConstraintValidatorContext)390%100%669911
initialize(ValidDrawTimeRange)40%n/a112211
DrawTimeRangeValidator()30%n/a111111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/DrawTimeRangeValidator.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/DrawTimeRangeValidator.java.html new file mode 100644 index 00000000..cea7d914 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/DrawTimeRangeValidator.java.html @@ -0,0 +1,40 @@ +DrawTimeRangeValidator.java

DrawTimeRangeValidator.java

package com.softeer.backend.bo_domain.admin.validator;
+
+import com.softeer.backend.bo_domain.admin.dto.event.DrawEventTimeRequestDto;
+import com.softeer.backend.bo_domain.admin.validator.annotation.ValidDrawTimeRange;
+import jakarta.validation.ConstraintValidator;
+import jakarta.validation.ConstraintValidatorContext;
+
+import java.time.LocalTime;
+
+public class DrawTimeRangeValidator implements ConstraintValidator<ValidDrawTimeRange, DrawEventTimeRequestDto> {
+
+    @Override
+    public void initialize(ValidDrawTimeRange constraintAnnotation) {
+        ConstraintValidator.super.initialize(constraintAnnotation);
+    }
+
+    @Override
+    public boolean isValid(DrawEventTimeRequestDto value, ConstraintValidatorContext context) {
+        if (value.getStartTime() == null || value.getEndTime() == null) {
+            return true;
+        }
+
+        LocalTime startTime = value.getStartTime();
+        LocalTime endTime = value.getEndTime();
+
+        // 시작 시간 검증: 09:00:00 이후
+        if (startTime.isBefore(LocalTime.of(9, 0))) {
+            return false;
+        }
+
+        // 종료 시간 검증: 23:59:59 이전
+        if (endTime.isAfter(LocalTime.of(23, 59, 59))) {
+            return false;
+        }
+
+        // 시작 시간이 종료 시간보다 이전인지 확인
+        return !startTime.isAfter(endTime);
+    }
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/FcfsDateRangeValidator.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/FcfsDateRangeValidator.html new file mode 100644 index 00000000..f786eae7 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/FcfsDateRangeValidator.html @@ -0,0 +1 @@ +FcfsDateRangeValidator

FcfsDateRangeValidator

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total51 of 510%10 of 100%88121233
isValid(FcfsEventTimeRequestDto, ConstraintValidatorContext)440%100%669911
initialize(ValidFcfsDateRange)40%n/a112211
FcfsDateRangeValidator()30%n/a111111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/FcfsDateRangeValidator.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/FcfsDateRangeValidator.java.html new file mode 100644 index 00000000..ee84f2c7 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/FcfsDateRangeValidator.java.html @@ -0,0 +1,42 @@ +FcfsDateRangeValidator.java

FcfsDateRangeValidator.java

package com.softeer.backend.bo_domain.admin.validator;
+
+import com.softeer.backend.bo_domain.admin.dto.event.FcfsEventTimeRequestDto;
+import com.softeer.backend.bo_domain.admin.validator.annotation.ValidFcfsDateRange;
+import jakarta.validation.ConstraintValidator;
+import jakarta.validation.ConstraintValidatorContext;
+
+import java.time.DayOfWeek;
+import java.time.LocalDate;
+import java.time.temporal.TemporalAdjusters;
+import java.time.temporal.WeekFields;
+import java.util.Locale;
+
+public class FcfsDateRangeValidator implements ConstraintValidator<ValidFcfsDateRange, FcfsEventTimeRequestDto> {
+
+    @Override
+    public void initialize(ValidFcfsDateRange constraintAnnotation) {
+        ConstraintValidator.super.initialize(constraintAnnotation);
+    }
+
+    @Override
+    public boolean isValid(FcfsEventTimeRequestDto value, ConstraintValidatorContext context) {
+        if (value.getStartDate() == null || value.getEndDate() == null) {
+            return true;
+        }
+
+        LocalDate startDate = value.getStartDate();
+        LocalDate endDate = value.getEndDate();
+
+        LocalDate startDateWeekStart = startDate.with(TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY));
+        LocalDate endDateWeekStart = endDate.with(TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY));
+
+        boolean isSameWeek = startDateWeekStart.equals(endDateWeekStart);
+
+        // 시작 날짜가 종료 날짜보다 이전인지 확인
+        boolean isStartBeforeEnd = !startDate.isAfter(endDate);
+
+        // 두 검증 조건을 모두 만족하는지 확인
+        return isSameWeek && isStartBeforeEnd;
+    }
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/FcfsTimeRangeValidator.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/FcfsTimeRangeValidator.html new file mode 100644 index 00000000..781bfbca --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/FcfsTimeRangeValidator.html @@ -0,0 +1 @@ +FcfsTimeRangeValidator

FcfsTimeRangeValidator

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total43 of 430%10 of 100%889933
isValid(FcfsEventTimeRequestDto, ConstraintValidatorContext)360%100%666611
initialize(ValidFcfsTimeRange)40%n/a112211
FcfsTimeRangeValidator()30%n/a111111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/FcfsTimeRangeValidator.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/FcfsTimeRangeValidator.java.html new file mode 100644 index 00000000..07a839ce --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/FcfsTimeRangeValidator.java.html @@ -0,0 +1,35 @@ +FcfsTimeRangeValidator.java

FcfsTimeRangeValidator.java

package com.softeer.backend.bo_domain.admin.validator;
+
+import com.softeer.backend.bo_domain.admin.dto.event.FcfsEventTimeRequestDto;
+import com.softeer.backend.bo_domain.admin.validator.annotation.ValidFcfsTimeRange;
+import jakarta.validation.ConstraintValidator;
+import jakarta.validation.ConstraintValidatorContext;
+
+import java.time.LocalTime;
+
+public class FcfsTimeRangeValidator implements ConstraintValidator<ValidFcfsTimeRange, FcfsEventTimeRequestDto> {
+
+    @Override
+    public void initialize(ValidFcfsTimeRange constraintAnnotation) {
+        ConstraintValidator.super.initialize(constraintAnnotation);
+    }
+
+    @Override
+    public boolean isValid(FcfsEventTimeRequestDto value, ConstraintValidatorContext context) {
+        if (value.getStartTime() == null) {
+            return true;
+        }
+
+        LocalTime startTime = value.getStartTime();
+
+        // 시작 시간이 오전 9시 이후인지 검증
+        boolean isStartTimeValid = !startTime.isBefore(LocalTime.of(9, 0));
+
+        // 시작 시간이 오후 6시 이전인지 검증
+        boolean isEndTimeValid = !startTime.isAfter(LocalTime.of(18, 0));
+
+        // 모든 검증 조건이 만족되는지 확인
+        return isStartTimeValid && isEndTimeValid;
+    }
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/index.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/index.html new file mode 100644 index 00000000..2156958f --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/index.html @@ -0,0 +1 @@ +com.softeer.backend.bo_domain.admin.validator

com.softeer.backend.bo_domain.admin.validator

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total140 of 1400%30 of 300%242433339933
FcfsDateRangeValidator510%100%8812123311
DrawTimeRangeValidator460%100%8812123311
FcfsTimeRangeValidator430%100%88993311
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/index.source.html new file mode 100644 index 00000000..6abfa6d4 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/index.source.html @@ -0,0 +1 @@ +com.softeer.backend.bo_domain.admin.validator

com.softeer.backend.bo_domain.admin.validator

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total140 of 1400%30 of 300%242433339933
FcfsDateRangeValidator.java510%100%8812123311
DrawTimeRangeValidator.java460%100%8812123311
FcfsTimeRangeValidator.java430%100%88993311
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.eventparticipation.repository/EventParticipationRepository.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.eventparticipation.repository/EventParticipationRepository.html new file mode 100644 index 00000000..4a38a0d5 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.eventparticipation.repository/EventParticipationRepository.html @@ -0,0 +1 @@ +EventParticipationRepository

EventParticipationRepository

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total17 of 170%2 of 20%224411
findSingleEventParticipation()170%20%224411
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.eventparticipation.repository/EventParticipationRepository.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.eventparticipation.repository/EventParticipationRepository.java.html new file mode 100644 index 00000000..7de9e8d1 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.eventparticipation.repository/EventParticipationRepository.java.html @@ -0,0 +1,25 @@ +EventParticipationRepository.java

EventParticipationRepository.java

package com.softeer.backend.bo_domain.eventparticipation.repository;
+
+import com.softeer.backend.bo_domain.eventparticipation.domain.EventParticipation;
+import org.springframework.dao.EmptyResultDataAccessException;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.repository.query.Param;
+
+import java.time.LocalDate;
+import java.util.List;
+
+public interface EventParticipationRepository extends JpaRepository<EventParticipation, Integer> {
+
+    @Query("SELECT e FROM EventParticipation e WHERE e.eventDate BETWEEN :startDate AND :endDate")
+    List<EventParticipation> findAllByEventDateBetween(@Param("startDate") LocalDate startDate, @Param("endDate") LocalDate endDate);
+
+    default EventParticipation findSingleEventParticipation() {
+        List<EventParticipation> results = findAll();
+        if (results.isEmpty()) {
+            throw new EmptyResultDataAccessException("Entity not found", 1);
+        }
+        return results.get(0);
+    }
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.eventparticipation.repository/index.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.eventparticipation.repository/index.html new file mode 100644 index 00000000..d0da5f9e --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.eventparticipation.repository/index.html @@ -0,0 +1 @@ +com.softeer.backend.bo_domain.eventparticipation.repository

com.softeer.backend.bo_domain.eventparticipation.repository

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total17 of 170%2 of 20%22441111
EventParticipationRepository170%20%22441111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.eventparticipation.repository/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.eventparticipation.repository/index.source.html new file mode 100644 index 00000000..b1d82e0c --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.eventparticipation.repository/index.source.html @@ -0,0 +1 @@ +com.softeer.backend.bo_domain.eventparticipation.repository

com.softeer.backend.bo_domain.eventparticipation.repository

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total17 of 170%2 of 20%22441111
EventParticipationRepository.java170%20%22441111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.constant/CommentNickname.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.constant/CommentNickname.html new file mode 100644 index 00000000..8fb4feba --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.constant/CommentNickname.html @@ -0,0 +1 @@ +CommentNickname

CommentNickname

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total109 of 1090%0 of 0n/a44202044
static {...}730%n/a11111111
getRandomNickname()150%n/a113311
getMyRandomNickname(int)130%n/a113311
CommentNickname(String, int, String)80%n/a113311
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.constant/CommentNickname.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.constant/CommentNickname.java.html new file mode 100644 index 00000000..a867676b --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.constant/CommentNickname.java.html @@ -0,0 +1,44 @@ +CommentNickname.java

CommentNickname.java

package com.softeer.backend.fo_domain.comment.constant;
+
+import lombok.Getter;
+
+/**
+ * 기대평 닉네임을 관리하는 Enum 클래스
+ */
+@Getter
+public enum CommentNickname {
+    NICKNAME_1("곰"),
+    NICKNAME_2("코끼리"),
+    NICKNAME_3("토끼"),
+    NICKNAME_4("기린"),
+    NICKNAME_5("돌고래"),
+    NICKNAME_6("개구리"),
+    NICKNAME_7("고양이"),
+    NICKNAME_8("악어"),
+    NICKNAME_9("판다"),
+    NICKNAME_10("호랑이");
+
+    public static final String NICKNAME_PREFIX = "익명의 ";
+    public static final String MY_NICKNAME_SUFFIX = "(나)";
+
+    private final String nickname;
+
+    CommentNickname(String nickname) {
+        this.nickname = nickname;
+    }
+
+    // 인증 하지 않은 유저의 닉네임 생성 메서드
+    public static String getRandomNickname() {
+        CommentNickname[] nicknames = values();
+        int index = (int) (Math.random() * nicknames.length);
+        return NICKNAME_PREFIX + nicknames[index].getNickname();
+    }
+
+    // 인증한 유저의 닉네임 생성 메서드
+    public static String getMyRandomNickname(int userId) {
+        CommentNickname[] nicknames = values();
+        int index = userId % nicknames.length;
+        return NICKNAME_PREFIX + nicknames[index].getNickname();
+    }
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.constant/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.constant/index.html new file mode 100644 index 00000000..0677e5ec --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.constant/index.html @@ -0,0 +1 @@ +com.softeer.backend.fo_domain.comment.constant

com.softeer.backend.fo_domain.comment.constant

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total109 of 1090%0 of 0n/a4420204411
CommentNickname1090%n/a4420204411
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.constant/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.constant/index.source.html new file mode 100644 index 00000000..6c9e1b02 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.constant/index.source.html @@ -0,0 +1 @@ +com.softeer.backend.fo_domain.comment.constant

com.softeer.backend.fo_domain.comment.constant

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total109 of 1090%0 of 0n/a4420204411
CommentNickname.java1090%n/a4420204411
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.controller/CommentController.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.controller/CommentController.html new file mode 100644 index 00000000..8db44bf6 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.controller/CommentController.html @@ -0,0 +1 @@ +CommentController

CommentController

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total52 of 520%10 of 100%88121233
saveComment(Integer, Integer)270%60%445511
getComment(Integer, Integer)210%40%336611
static {...}40%n/a111111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.controller/CommentController.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.controller/CommentController.java.html new file mode 100644 index 00000000..bd0a76d2 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.controller/CommentController.java.html @@ -0,0 +1,53 @@ +CommentController.java

CommentController.java

package com.softeer.backend.fo_domain.comment.controller;
+
+import com.softeer.backend.fo_domain.comment.dto.CommentsResponseDto;
+import com.softeer.backend.fo_domain.comment.exception.CommentException;
+import com.softeer.backend.fo_domain.comment.service.CommentService;
+import com.softeer.backend.global.annotation.AuthInfo;
+import com.softeer.backend.global.common.code.status.ErrorStatus;
+import com.softeer.backend.global.common.response.ResponseDto;
+import io.swagger.v3.oas.annotations.Parameter;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.*;
+
+@Slf4j
+@RequiredArgsConstructor
+@RestController
+public class CommentController {
+
+    private final CommentService commentService;
+
+    @GetMapping("/comment")
+    ResponseDto<CommentsResponseDto> getComment(@RequestParam(name = "cursor", required = false) Integer cursor,
+                                                @Parameter(hidden = true) @AuthInfo Integer userId) {
+        if (cursor == null) {
+            cursor = Integer.MAX_VALUE;
+        }
+
+        CommentsResponseDto commentsResponseDto = commentService.getComments(userId, cursor);
+
+        if (commentsResponseDto.getNextCursor() != CommentsResponseDto.LAST_CURSOR)
+            return ResponseDto.onSuccess(commentsResponseDto);
+
+        return ResponseDto.onSuccess(commentsResponseDto);
+    }
+
+    @PostMapping("/comment")
+    ResponseDto<Void> saveComment(@RequestParam(name = "commentType") Integer commentType,
+                                  @Parameter(hidden = true) @AuthInfo Integer userId) {
+
+        if(commentType == null || commentType<1 || commentType > 5){
+
+            log.error("Invalid commentType value: {}. It must be between 1 and 5.", commentType);
+            throw new CommentException(ErrorStatus._VALIDATION_ERROR);
+        }
+
+        commentService.saveComment(userId, commentType);
+
+        return ResponseDto.onSuccess();
+
+    }
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.controller/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.controller/index.html new file mode 100644 index 00000000..649c45aa --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.controller/index.html @@ -0,0 +1 @@ +com.softeer.backend.fo_domain.comment.controller

com.softeer.backend.fo_domain.comment.controller

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total52 of 520%10 of 100%8812123311
CommentController520%100%8812123311
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.controller/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.controller/index.source.html new file mode 100644 index 00000000..dbbdceed --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.controller/index.source.html @@ -0,0 +1 @@ +com.softeer.backend.fo_domain.comment.controller

com.softeer.backend.fo_domain.comment.controller

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total52 of 520%10 of 100%8812123311
CommentController.java520%100%8812123311
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.domain/Comment.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.domain/Comment.html new file mode 100644 index 00000000..1ac7938a --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.domain/Comment.html @@ -0,0 +1 @@ +Comment

Comment

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total14 of 140%2 of 20%224411
assignRandomNickname()140%20%224411
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.domain/Comment.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.domain/Comment.java.html new file mode 100644 index 00000000..d870a246 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.domain/Comment.java.html @@ -0,0 +1,52 @@ +Comment.java

Comment.java

package com.softeer.backend.fo_domain.comment.domain;
+
+
+import com.softeer.backend.fo_domain.comment.constant.CommentNickname;
+import jakarta.persistence.*;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import org.springframework.data.annotation.CreatedDate;
+import org.springframework.data.jpa.domain.support.AuditingEntityListener;
+
+import java.time.LocalDateTime;
+
+@Entity
+@NoArgsConstructor
+@AllArgsConstructor
+@Getter
+@Builder
+@EntityListeners(AuditingEntityListener.class)
+@Table(name = "comment")
+public class Comment {
+
+    @Id
+    @Column(name = "comment_id")
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    private Integer id;
+
+    @Column(name = "nickname", nullable = false)
+    private String nickname;
+
+    @Column(name = "comment_type", nullable = false)
+    private Integer commentType;
+
+    @CreatedDate
+    @Column(name = "upload_time", updatable = false)
+    private LocalDateTime uploadTime;
+
+    @Column(name = "user_id", nullable = true)
+    private Integer userId;
+
+    @PrePersist
+    public void assignRandomNickname() {
+        if (userId != null) {
+            this.nickname = CommentNickname.getMyRandomNickname(userId);
+        } else {
+            this.nickname = CommentNickname.getRandomNickname();
+        }
+    }
+
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.domain/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.domain/index.html new file mode 100644 index 00000000..9137ace0 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.domain/index.html @@ -0,0 +1 @@ +com.softeer.backend.fo_domain.comment.domain

com.softeer.backend.fo_domain.comment.domain

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total14 of 140%2 of 20%22441111
Comment140%20%22441111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.domain/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.domain/index.source.html new file mode 100644 index 00000000..f6c7fcec --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.domain/index.source.html @@ -0,0 +1 @@ +com.softeer.backend.fo_domain.comment.domain

com.softeer.backend.fo_domain.comment.domain

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total14 of 140%2 of 20%22441111
Comment.java140%20%22441111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.dto/CommentsResponseDto.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.dto/CommentsResponseDto.html new file mode 100644 index 00000000..67557527 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.dto/CommentsResponseDto.html @@ -0,0 +1 @@ +CommentsResponseDto

CommentsResponseDto

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total76 of 760%8 of 80%99242455
lambda$getContents$0(Integer, Comment)340%60%44121211
of(ScrollPaginationUtil, Integer)180%20%223311
newScrollHasNext(List, int, Integer)120%n/a115511
getContents(List, Integer)70%n/a113311
newLastScroll(List, Integer)50%n/a111111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.dto/CommentsResponseDto.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.dto/CommentsResponseDto.java.html new file mode 100644 index 00000000..17457913 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.dto/CommentsResponseDto.java.html @@ -0,0 +1,85 @@ +CommentsResponseDto.java

CommentsResponseDto.java

package com.softeer.backend.fo_domain.comment.dto;
+
+import com.softeer.backend.fo_domain.comment.constant.CommentNickname;
+import com.softeer.backend.fo_domain.comment.domain.Comment;
+import com.softeer.backend.fo_domain.comment.util.ScrollPaginationUtil;
+import lombok.*;
+
+import java.util.List;
+
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
+@AllArgsConstructor(access = AccessLevel.PUBLIC)
+@Builder
+@Getter
+public class CommentsResponseDto {
+    public static final int LAST_CURSOR = -1;
+
+    private int nextCursor;
+
+    private int totalComments;
+
+    private List<CommentResponse> comments;
+
+    @Getter
+    @AllArgsConstructor
+    @Builder
+    public static class CommentResponse {
+
+        private Boolean isMine;
+
+        private String nickName;
+
+        private int commentType;
+    }
+
+    public static CommentsResponseDto of(ScrollPaginationUtil<Comment> commentsScroll, Integer userId) {
+        if (commentsScroll.isLastScroll()) {
+            return CommentsResponseDto.newLastScroll(commentsScroll.getCurrentScrollItems(), userId);
+        }
+        return CommentsResponseDto.newScrollHasNext(commentsScroll.getCurrentScrollItems(), commentsScroll.getNextCursor().getId(),
+                userId);
+    }
+
+    // 마지막 스크롤일 때의 응답값을 구성하는 메서드
+    // nextCursor 값을 -1로 설정한다.
+    private static CommentsResponseDto newLastScroll(List<Comment> commentsScroll, Integer userId) {
+        return newScrollHasNext(commentsScroll, LAST_CURSOR, userId);
+    }
+
+    // 마지막 스크롤이 아닐 때의 응답값을 구성하는 메서드
+    private static CommentsResponseDto newScrollHasNext(List<Comment> commentsScroll, int nextCursor,
+                                                        Integer userId) {
+        return CommentsResponseDto.builder()
+                .nextCursor(nextCursor)
+                .totalComments(commentsScroll.size())
+                .comments(getContents(commentsScroll, userId))
+                .build();
+    }
+
+    // CommentResponse를 생성하여 반환하는 메서드
+    // 유저가 로그인을 한 상태에서 자신의 댓글이 응답에 포함될 경우,
+    // isMine 변수값을 true로, nickname의 접미사에 '(나)'를 붙여서 응답을 구성한다.
+    private static List<CommentResponse> getContents(List<Comment> commentsScroll, Integer userId) {
+        return commentsScroll.stream()
+                .map(_comment -> {
+                    boolean isMine = false;
+                    String nickname = _comment.getNickname();
+                    int commentType = _comment.getCommentType();
+
+                    if (userId != null && _comment.getUserId() != null &&
+                            _comment.getUserId().equals(userId)) {
+                        isMine = true;
+                        nickname = nickname + CommentNickname.MY_NICKNAME_SUFFIX;
+                    }
+
+                    return CommentResponse.builder()
+                            .isMine(isMine)
+                            .nickName(nickname)
+                            .commentType(commentType)
+                            .build();
+                })
+                .toList();
+
+    }
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.dto/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.dto/index.html new file mode 100644 index 00000000..68bf3d74 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.dto/index.html @@ -0,0 +1 @@ +com.softeer.backend.fo_domain.comment.dto

com.softeer.backend.fo_domain.comment.dto

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total76 of 760%8 of 80%9924245511
CommentsResponseDto760%80%9924245511
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.dto/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.dto/index.source.html new file mode 100644 index 00000000..ab14446b --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.dto/index.source.html @@ -0,0 +1 @@ +com.softeer.backend.fo_domain.comment.dto

com.softeer.backend.fo_domain.comment.dto

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total76 of 760%8 of 80%9924245511
CommentsResponseDto.java760%80%9924245511
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.exception/CommentException.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.exception/CommentException.html new file mode 100644 index 00000000..00c39560 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.exception/CommentException.html @@ -0,0 +1 @@ +CommentException

CommentException

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total4 of 40%0 of 0n/a112211
CommentException(BaseErrorCode)40%n/a112211
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.exception/CommentException.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.exception/CommentException.java.html new file mode 100644 index 00000000..49bf2f57 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.exception/CommentException.java.html @@ -0,0 +1,12 @@ +CommentException.java

CommentException.java

package com.softeer.backend.fo_domain.comment.exception;
+
+import com.softeer.backend.global.common.code.BaseErrorCode;
+import com.softeer.backend.global.common.exception.GeneralException;
+
+public class CommentException extends GeneralException {
+
+    public CommentException(BaseErrorCode code) {
+        super(code);
+    }
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.exception/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.exception/index.html new file mode 100644 index 00000000..34db7bad --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.exception/index.html @@ -0,0 +1 @@ +com.softeer.backend.fo_domain.comment.exception

com.softeer.backend.fo_domain.comment.exception

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total4 of 40%0 of 0n/a11221111
CommentException40%n/a11221111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.exception/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.exception/index.source.html new file mode 100644 index 00000000..044e63a5 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.exception/index.source.html @@ -0,0 +1 @@ +com.softeer.backend.fo_domain.comment.exception

com.softeer.backend.fo_domain.comment.exception

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total4 of 40%0 of 0n/a11221111
CommentException.java40%n/a11221111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.service/CommentService.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.service/CommentService.html new file mode 100644 index 00000000..31901c27 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.service/CommentService.html @@ -0,0 +1 @@ +CommentService

CommentService

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total43 of 430%2 of 20%33131322
saveComment(Integer, int)220%20%228811
getComments(Integer, Integer)210%n/a115511
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.service/CommentService.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.service/CommentService.java.html new file mode 100644 index 00000000..449ed6df --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.service/CommentService.java.html @@ -0,0 +1,61 @@ +CommentService.java

CommentService.java

package com.softeer.backend.fo_domain.comment.service;
+
+import com.softeer.backend.fo_domain.comment.constant.CommentNickname;
+import com.softeer.backend.fo_domain.comment.domain.Comment;
+import com.softeer.backend.fo_domain.comment.dto.CommentsResponseDto;
+import com.softeer.backend.fo_domain.comment.repository.CommentRepository;
+import com.softeer.backend.fo_domain.comment.util.ScrollPaginationUtil;
+import lombok.RequiredArgsConstructor;
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+@Service
+@RequiredArgsConstructor
+public class CommentService {
+    private static final int SCROLL_SIZE = 30;
+
+    private final CommentRepository commentRepository;
+
+    /**
+     * SCROLL_SIZE 만큼의 기대평을 반환하는 메서드
+     * <p>
+     * 커서 기반 무한 스크롤 기능을 사용하여 다음 cursor 값을 받아 해당 값보다 작으면서 정해진 개수 만큼의 기대평을 반환한다.
+     */
+    @Transactional(readOnly = true)
+    public CommentsResponseDto getComments(Integer userId, Integer cursor) {
+
+        PageRequest pageRequest = PageRequest.of(0, SCROLL_SIZE + 1);
+        Page<Comment> page = commentRepository.findAllByIdLessThanEqualOrderByIdDesc(cursor, pageRequest);
+
+        List<Comment> comments = page.getContent();
+
+        ScrollPaginationUtil<Comment> commentCursor = ScrollPaginationUtil.of(comments, SCROLL_SIZE);
+        return CommentsResponseDto.of(commentCursor, userId);
+    }
+
+    /**
+     * 기대평을 저장하는 메서드
+     */
+    @Transactional
+    public void saveComment(Integer userId, int commentType) {
+
+        // 로그인 한 유저가 기대평을 등록했다면 User entity의 id값을 기반으로 닉네임을 설정한다.
+        // 로그인 하지 않았다면, 랜덤으로 닉네임을 설정한다.
+        String randomNickname = (userId != null ?
+                CommentNickname.getMyRandomNickname(userId) : CommentNickname.getRandomNickname());
+
+        commentRepository.save(Comment.builder()
+                .nickname(randomNickname)
+                .commentType(commentType)
+                .userId(userId)
+                .build()
+        );
+    }
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.service/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.service/index.html new file mode 100644 index 00000000..d45c458e --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.service/index.html @@ -0,0 +1 @@ +com.softeer.backend.fo_domain.comment.service

com.softeer.backend.fo_domain.comment.service

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total43 of 430%2 of 20%3313132211
CommentService430%20%3313132211
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.service/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.service/index.source.html new file mode 100644 index 00000000..2a1e587d --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.service/index.source.html @@ -0,0 +1 @@ +com.softeer.backend.fo_domain.comment.service

com.softeer.backend.fo_domain.comment.service

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total43 of 430%2 of 20%3313132211
CommentService.java430%20%3313132211
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.util/ScrollPaginationUtil.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.util/ScrollPaginationUtil.html new file mode 100644 index 00000000..b24496bc --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.util/ScrollPaginationUtil.html @@ -0,0 +1 @@ +ScrollPaginationUtil

ScrollPaginationUtil

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total48 of 480%4 of 40%668844
getCurrentScrollItems()240%20%225511
isLastScroll()100%20%221111
getNextCursor()80%n/a111111
of(List, int)60%n/a111111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.util/ScrollPaginationUtil.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.util/ScrollPaginationUtil.java.html new file mode 100644 index 00000000..bc052759 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.util/ScrollPaginationUtil.java.html @@ -0,0 +1,53 @@ +ScrollPaginationUtil.java

ScrollPaginationUtil.java

package com.softeer.backend.fo_domain.comment.util;
+
+import lombok.AccessLevel;
+import lombok.RequiredArgsConstructor;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+/**
+ * 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스
+ */
+@RequiredArgsConstructor(access = AccessLevel.PRIVATE)
+public class ScrollPaginationUtil<T> {
+
+    // 마지막 스크롤인지를 확인하기 위해서 size+1의 개수만큼 item을 저장한다.
+    private final List<T> itemsWithNextCursor;
+
+    // 한번 스크롤 할 때의 데이터 개수
+    private final int countPerScroll;
+
+    public static <T> ScrollPaginationUtil<T> of(List<T> itemsWithNextCursor, int size) {
+        return new ScrollPaginationUtil<>(itemsWithNextCursor, size);
+    }
+
+    // 마지막 스크롤인지를 확인하는 메서드
+    public boolean isLastScroll() {
+        return this.itemsWithNextCursor.size() <= countPerScroll;
+    }
+
+    // 마지막 스크롤일 경우, 그대로 데이터를 반환한다.
+    // 마지막 스크롤이 아닌 경우, 마지막 데이터를 제외하고 반환한다.
+    public List<T> getCurrentScrollItems() {
+        List<T> itemsList;
+
+        if (isLastScroll()) {
+            itemsList = new ArrayList<>(this.itemsWithNextCursor);
+        }
+        else{
+            itemsList = new ArrayList<>(itemsWithNextCursor.subList(0, countPerScroll));
+        }
+        Collections.reverse(itemsList);
+
+        return itemsList;
+    }
+
+    // 다음 커서 값을 갖고 있는 데이터를 반환하는 메서드
+    public T getNextCursor() {
+        return itemsWithNextCursor.get(countPerScroll-1);
+    }
+
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.util/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.util/index.html new file mode 100644 index 00000000..fa902d0f --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.util/index.html @@ -0,0 +1 @@ +com.softeer.backend.fo_domain.comment.util

com.softeer.backend.fo_domain.comment.util

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total48 of 480%4 of 40%66884411
ScrollPaginationUtil480%40%66884411
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.util/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.util/index.source.html new file mode 100644 index 00000000..90ec0b9b --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.util/index.source.html @@ -0,0 +1 @@ +com.softeer.backend.fo_domain.comment.util

com.softeer.backend.fo_domain.comment.util

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total48 of 480%4 of 40%66884411
ScrollPaginationUtil.java480%40%66884411
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.controller/DrawController.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.controller/DrawController.html new file mode 100644 index 00000000..85626008 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.controller/DrawController.html @@ -0,0 +1 @@ +DrawController

DrawController

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total32 of 320%0 of 0n/a446644
participateDrawEvent()140%n/a113311
getDrawMainPageInfo(Integer)60%n/a111111
getDrawResult(Integer)60%n/a111111
getDrawHistory(Integer)60%n/a111111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.controller/DrawController.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.controller/DrawController.java.html new file mode 100644 index 00000000..c9e1f3a6 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.controller/DrawController.java.html @@ -0,0 +1,44 @@ +DrawController.java

DrawController.java

package com.softeer.backend.fo_domain.draw.controller;
+
+import com.softeer.backend.fo_domain.draw.dto.main.DrawMainResponseDto;
+import com.softeer.backend.fo_domain.draw.dto.participate.DrawModalResponseDto;
+import com.softeer.backend.fo_domain.draw.dto.result.DrawHistoryResponseDto;
+import com.softeer.backend.fo_domain.draw.service.DrawService;
+import com.softeer.backend.global.annotation.AuthInfo;
+import com.softeer.backend.global.common.response.ResponseDto;
+import lombok.RequiredArgsConstructor;
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequiredArgsConstructor
+public class DrawController {
+    private final DrawService drawService;
+
+    @GetMapping("/event/draw")
+    public ResponseDto<DrawMainResponseDto> getDrawMainPageInfo(@AuthInfo Integer userId) {
+        return ResponseDto.onSuccess(drawService.getDrawMainPageInfo(userId));
+    }
+
+    @PostMapping("/event/draw")
+    public ResponseEntity<Void> participateDrawEvent() {
+        HttpHeaders headers = new HttpHeaders();
+        headers.add("Location", "/event/draw-result");
+        return new ResponseEntity<>(headers, HttpStatus.FOUND); // HTTP 302 Found 응답
+    }
+
+    @GetMapping("/event/draw-result")
+    public ResponseDto<DrawModalResponseDto> getDrawResult(@AuthInfo Integer userId) {
+        return ResponseDto.onSuccess(drawService.participateDrawEvent(userId));
+    }
+
+    @GetMapping("/event/draw/history")
+    public ResponseDto<DrawHistoryResponseDto> getDrawHistory(@AuthInfo Integer userId) {
+        return ResponseDto.onSuccess(drawService.getDrawHistory(userId));
+    }
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.controller/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.controller/index.html new file mode 100644 index 00000000..ab82d4c3 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.controller/index.html @@ -0,0 +1 @@ +com.softeer.backend.fo_domain.draw.controller

com.softeer.backend.fo_domain.draw.controller

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total32 of 320%0 of 0n/a44664411
DrawController320%n/a44664411
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.controller/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.controller/index.source.html new file mode 100644 index 00000000..17a33d16 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.controller/index.source.html @@ -0,0 +1 @@ +com.softeer.backend.fo_domain.draw.controller

com.softeer.backend.fo_domain.draw.controller

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total32 of 320%0 of 0n/a44664411
DrawController.java320%n/a44664411
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.exception/DrawException.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.exception/DrawException.html new file mode 100644 index 00000000..2c21bbeb --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.exception/DrawException.html @@ -0,0 +1 @@ +DrawException

DrawException

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total4 of 40%0 of 0n/a112211
DrawException(BaseErrorCode)40%n/a112211
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.exception/DrawException.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.exception/DrawException.java.html new file mode 100644 index 00000000..1504c282 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.exception/DrawException.java.html @@ -0,0 +1,12 @@ +DrawException.java

DrawException.java

package com.softeer.backend.fo_domain.draw.exception;
+
+import com.softeer.backend.global.common.code.BaseErrorCode;
+import com.softeer.backend.global.common.exception.GeneralException;
+
+public class DrawException extends GeneralException {
+
+    public DrawException(BaseErrorCode code) {
+        super(code);
+    }
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.exception/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.exception/index.html new file mode 100644 index 00000000..0ba91937 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.exception/index.html @@ -0,0 +1 @@ +com.softeer.backend.fo_domain.draw.exception

com.softeer.backend.fo_domain.draw.exception

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total4 of 40%0 of 0n/a11221111
DrawException40%n/a11221111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.exception/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.exception/index.source.html new file mode 100644 index 00000000..0d9d44bf --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.exception/index.source.html @@ -0,0 +1 @@ +com.softeer.backend.fo_domain.draw.exception

com.softeer.backend.fo_domain.draw.exception

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total4 of 40%0 of 0n/a11221111
DrawException.java40%n/a11221111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.interceptor/DrawTimeCheckInterceptor.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.interceptor/DrawTimeCheckInterceptor.html new file mode 100644 index 00000000..809d9f15 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.interceptor/DrawTimeCheckInterceptor.html @@ -0,0 +1 @@ +DrawTimeCheckInterceptor

DrawTimeCheckInterceptor

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total78 of 780%16 of 160%1212141444
compareTime(LocalDateTime)270%40%334411
compareDate(LocalDateTime)220%40%333311
preHandle(HttpServletRequest, HttpServletResponse, Object)150%40%335511
isAvailableTime()140%40%332211
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.interceptor/DrawTimeCheckInterceptor.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.interceptor/DrawTimeCheckInterceptor.java.html new file mode 100644 index 00000000..a1266167 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.interceptor/DrawTimeCheckInterceptor.java.html @@ -0,0 +1,68 @@ +DrawTimeCheckInterceptor.java

DrawTimeCheckInterceptor.java

package com.softeer.backend.fo_domain.draw.interceptor;
+
+import com.softeer.backend.fo_domain.draw.exception.DrawException;
+import com.softeer.backend.fo_domain.draw.service.DrawSettingManager;
+import com.softeer.backend.global.common.code.status.ErrorStatus;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Component;
+import org.springframework.web.cors.CorsUtils;
+import org.springframework.web.servlet.HandlerInterceptor;
+
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+
+@Component
+@RequiredArgsConstructor
+public class DrawTimeCheckInterceptor implements HandlerInterceptor {
+    private final DrawSettingManager drawSettingManager;
+
+    @Override
+    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
+        if (CorsUtils.isPreFlightRequest(request))
+            return true;
+
+        if (!isAvailableTime()) {
+            throw new DrawException(ErrorStatus._BAD_REQUEST);
+        }
+
+        return true;
+    }
+
+    /**
+     * 참가 가능한 시간인지 확인
+     * @return 참가 가능하면 true, 불가능하면 false 반환
+     */
+    private boolean isAvailableTime() {
+        LocalDateTime now = LocalDateTime.now();
+
+        return compareDate(now) && compareTime(now);
+    }
+
+    /**
+     * 날짜 비교
+     * @param now 현재시각
+     * @return 참가 가능한 날짜이면 true, 불가능하면 false 반환
+     */
+    private boolean compareDate(LocalDateTime now) {
+        LocalDateTime startDateTime = drawSettingManager.getStartDate().atStartOfDay();
+        LocalDateTime endDateTime = drawSettingManager.getEndDate().atStartOfDay();
+
+        return now.isAfter(startDateTime) && now.isBefore(endDateTime);
+    }
+
+    /**
+     * 시간 비교
+     * @param now 현재 시각
+     * @return 참가 가능한 시간이면 true, 불가능하면 false 반환
+     */
+    private boolean compareTime(LocalDateTime now) {
+        LocalDate nowDate = now.toLocalDate();
+        LocalDateTime startTimeAsDateTime = LocalDateTime.of(nowDate, drawSettingManager.getStartTime());
+        LocalDateTime endTimeAsDateTime = LocalDateTime.of(nowDate, drawSettingManager.getEndTime());
+
+        return (now.isAfter(startTimeAsDateTime) && now.isBefore(endTimeAsDateTime));
+    }
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.interceptor/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.interceptor/index.html new file mode 100644 index 00000000..eb1bb1fa --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.interceptor/index.html @@ -0,0 +1 @@ +com.softeer.backend.fo_domain.draw.interceptor

com.softeer.backend.fo_domain.draw.interceptor

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total78 of 780%16 of 160%121214144411
DrawTimeCheckInterceptor780%160%121214144411
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.interceptor/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.interceptor/index.source.html new file mode 100644 index 00000000..2c6f419e --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.interceptor/index.source.html @@ -0,0 +1 @@ +com.softeer.backend.fo_domain.draw.interceptor

com.softeer.backend.fo_domain.draw.interceptor

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total78 of 780%16 of 160%121214144411
DrawTimeCheckInterceptor.java780%160%121214144411
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/DrawService.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/DrawService.html new file mode 100644 index 00000000..edfb904d --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/DrawService.html @@ -0,0 +1 @@ +DrawService

DrawService

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total15 of 20892%0 of 16100%31404636
lambda$participateDrawEvent$2()50%n/a111111
lambda$getDrawMainPageInfo$1()50%n/a111111
lambda$getDrawMainPageInfo$0()50%n/a111111
participateDrawEvent(Integer)123100%12100%0703101
getDrawMainPageInfo(Integer)53100%2100%0201101
getDrawHistory(Integer)17100%2100%020401
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/DrawService.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/DrawService.java.html new file mode 100644 index 00000000..e63423e6 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/DrawService.java.html @@ -0,0 +1,145 @@ +DrawService.java

DrawService.java

package com.softeer.backend.fo_domain.draw.service;
+
+import com.softeer.backend.fo_domain.draw.domain.DrawParticipationInfo;
+import com.softeer.backend.fo_domain.draw.dto.main.DrawMainResponseDto;
+import com.softeer.backend.fo_domain.draw.dto.participate.DrawModalResponseDto;
+import com.softeer.backend.fo_domain.draw.dto.result.DrawHistoryResponseDto;
+import com.softeer.backend.fo_domain.draw.exception.DrawException;
+import com.softeer.backend.fo_domain.draw.repository.DrawParticipationInfoRepository;
+import com.softeer.backend.fo_domain.draw.util.DrawAttendanceCountUtil;
+import com.softeer.backend.fo_domain.draw.util.DrawResponseGenerateUtil;
+import com.softeer.backend.fo_domain.draw.util.DrawUtil;
+import com.softeer.backend.fo_domain.share.domain.ShareInfo;
+import com.softeer.backend.fo_domain.share.exception.ShareInfoException;
+import com.softeer.backend.fo_domain.share.repository.ShareInfoRepository;
+import com.softeer.backend.global.common.code.status.ErrorStatus;
+import com.softeer.backend.global.util.DrawRedisUtil;
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Service;
+
+@Service
+@RequiredArgsConstructor
+public class DrawService {
+    private final DrawParticipationInfoRepository drawParticipationInfoRepository;
+    private final ShareInfoRepository shareInfoRepository;
+    private final DrawRedisUtil drawRedisUtil;
+    private final DrawUtil drawUtil;
+    private final DrawResponseGenerateUtil drawResponseGenerateUtil;
+    private final DrawAttendanceCountUtil drawAttendanceCountUtil;
+    private final DrawSettingManager drawSettingManager;
+
+    /**
+     * 1. 연속 참여일수 조회
+     * 1-1. 만약 7일 연속 참여했다면 상품 정보 응답
+     * 1-2. 만약 7일 미만 참여라면 일반 정보 응답
+     */
+    public DrawMainResponseDto getDrawMainPageInfo(Integer userId) {
+        // 참여 정보 (연속참여일수) 조회
+        DrawParticipationInfo drawParticipationInfo = drawParticipationInfoRepository.findDrawParticipationInfoByUserId(userId)
+                .orElseThrow(() -> new DrawException(ErrorStatus._NOT_FOUND));
+
+        // 초대한 친구 수, 복권 기회 조회
+        ShareInfo shareInfo = shareInfoRepository.findShareInfoByUserId(userId)
+                .orElseThrow(() -> new ShareInfoException(ErrorStatus._NOT_FOUND));
+
+        int drawAttendanceCount = drawAttendanceCountUtil.handleAttendanceCount(userId, drawParticipationInfo);
+        int invitedNum = shareInfo.getInvitedNum();
+        int remainDrawCount = shareInfo.getRemainDrawCount();
+
+        System.out.println("Draw Attendance = " + drawAttendanceCount);
+
+        if (drawAttendanceCount >= 7) {
+            // 7일 연속 출석자라면
+            return drawResponseGenerateUtil.generateMainFullAttendResponse(invitedNum, remainDrawCount, drawAttendanceCount % 8);
+        } else {
+            // 연속 출석자가 아니라면
+            return drawResponseGenerateUtil.generateMainNotAttendResponse(invitedNum, remainDrawCount, drawAttendanceCount);
+        }
+    }
+
+    /**
+     * 추첨 이벤트 당첨 로직 작성
+     *
+     * @param userId 사용자 아이디
+     * @return 추첨 결과에 따른 응답 반환
+     */
+    public DrawModalResponseDto participateDrawEvent(Integer userId) {
+        // 복권 기회 조회
+        ShareInfo shareInfo = shareInfoRepository.findShareInfoByUserId(userId)
+                .orElseThrow(() -> new ShareInfoException(ErrorStatus._NOT_FOUND));
+
+        // 만약 남은 참여 기회가 0이라면
+        if (shareInfo.getRemainDrawCount() == 0) {
+            return drawResponseGenerateUtil.generateDrawLoserResponse(userId);
+        }
+
+        drawRedisUtil.increaseDrawParticipationCount(); // 추첨 이벤트 참여자수 증가
+        shareInfoRepository.decreaseRemainDrawCount(userId); // 횟수 1회 차감
+
+        // 만약 당첨 목록에 존재한다면 이미 오늘은 한 번 당첨됐다는 뜻이므로 LoseModal 반환
+        int ranking = drawRedisUtil.getRankingIfWinner(userId); // 당첨 목록에 존재한다면 랭킹 반환
+        if (ranking != 0) {
+            drawParticipationInfoRepository.increaseLoseCount(userId);  // 낙첨 횟수 증가
+            return drawResponseGenerateUtil.generateDrawLoserResponse(userId); // LoseModal 반환
+        }
+
+        // 당첨자 수 조회
+        int first = drawSettingManager.getWinnerNum1(); // 1등 수
+        int second = drawSettingManager.getWinnerNum2(); // 2등 수
+        int third = drawSettingManager.getWinnerNum3(); // 3등 수
+
+        // 당첨자 수 설정
+        drawUtil.setFirst(first);
+        drawUtil.setSecond(second);
+        drawUtil.setThird(third);
+
+        // 추첨 로직 실행
+        drawUtil.performDraw();
+
+        if (drawUtil.isDrawWin()) { // 당첨자일 경우
+            ranking = drawUtil.getRanking();
+            int winnerNum;
+            if (ranking == 1) {
+                winnerNum = first;
+            } else if (ranking == 2) {
+                winnerNum = second;
+            } else {
+                winnerNum = third;
+            }
+
+            if (drawRedisUtil.isWinner(userId, ranking, winnerNum)) { // 레디스에 추첨 티켓이 남았다면, 레디스 당첨 목록에 추가
+                // 추첨 티켓이 다 팔리지 않았다면
+                drawParticipationInfoRepository.increaseWinCount(userId); // 당첨 횟수 증가
+                return drawResponseGenerateUtil.generateDrawWinnerResponse(ranking); // WinModal 반환
+            } else {
+                // 추첨 티켓이 다 팔렸다면 로직상 당첨자라도 실패 반환
+                drawParticipationInfoRepository.increaseLoseCount(userId);  // 낙첨 횟수 증가
+                return drawResponseGenerateUtil.generateDrawLoserResponse(userId); // LoseModal 반환
+            }
+        } else { // 낙첨자일 경우
+            drawParticipationInfoRepository.increaseLoseCount(userId);  // 낙첨 횟수 증가
+            return drawResponseGenerateUtil.generateDrawLoserResponse(userId); // LoseModal 반환
+        }
+    }
+
+    /**
+     * 당첨 내역 조회하는 메서드
+     * 1. 당첨자라면 WinModal과 같은 당첨 내역 모달 응답
+     * 2. 낙첨자라면 LoseModal과 같은 공유 url 모달 응답
+     *
+     * @param userId 사용자 아이디
+     * @return 당첨 내역에 따른 응답
+     */
+    public DrawHistoryResponseDto getDrawHistory(Integer userId) {
+        int ranking = drawRedisUtil.getRankingIfWinner(userId);
+
+        if (ranking != 0) {
+            // 당첨자라면
+            return drawResponseGenerateUtil.generateDrawHistoryWinnerResponse(ranking);
+        }
+
+        // 당첨자가 아니라면
+        return drawResponseGenerateUtil.generateDrawHistoryLoserResponse(userId);
+    }
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/DrawSettingManager.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/DrawSettingManager.html new file mode 100644 index 00000000..097690ec --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/DrawSettingManager.html @@ -0,0 +1 @@ +DrawSettingManager

DrawSettingManager

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total78 of 780%0 of 0n/a33181833
initializeDrawSettingManager()410%n/a11101011
setDrawSetting(DrawSetting)320%n/a118811
lambda$initializeDrawSettingManager$0()50%n/a111111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/DrawSettingManager.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/DrawSettingManager.java.html new file mode 100644 index 00000000..a30aa7c3 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/DrawSettingManager.java.html @@ -0,0 +1,68 @@ +DrawSettingManager.java

DrawSettingManager.java

package com.softeer.backend.fo_domain.draw.service;
+
+import com.softeer.backend.fo_domain.draw.domain.DrawSetting;
+import com.softeer.backend.fo_domain.draw.exception.DrawException;
+import com.softeer.backend.fo_domain.draw.repository.DrawRepository;
+import com.softeer.backend.fo_domain.draw.repository.DrawSettingRepository;
+import com.softeer.backend.fo_domain.user.repository.UserRepository;
+import com.softeer.backend.global.common.code.status.ErrorStatus;
+import com.softeer.backend.global.util.DrawRedisUtil;
+import com.softeer.backend.global.util.EventLockRedisUtil;
+import jakarta.annotation.PostConstruct;
+import lombok.Getter;
+import lombok.RequiredArgsConstructor;
+import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
+import org.springframework.stereotype.Component;
+
+import java.time.LocalDate;
+import java.time.LocalTime;
+
+@Getter
+@Component
+@RequiredArgsConstructor
+public class DrawSettingManager {
+    private final DrawRepository drawRepository;
+    private final DrawSettingRepository drawSettingRepository;
+    private final ThreadPoolTaskScheduler taskScheduler;
+    private final EventLockRedisUtil eventLockRedisUtil;
+    private final DrawRedisUtil drawRedisUtil;
+    private final UserRepository userRepository;
+
+    private LocalDate startDate;
+    private LocalDate endDate;
+    private LocalTime startTime;
+    private LocalTime endTime;
+    private int winnerNum1;
+    private int winnerNum2;
+    private int winnerNum3;
+
+    // @PostConstruct로 생성됐을 시 세팅정보 가져오기
+    // 스케줄러로 01:00:00에 redis 임시 목록 삭제하기
+
+    @PostConstruct
+    public void initializeDrawSettingManager() {
+        DrawSetting drawSetting = drawSettingRepository.findById(1)
+                .orElseThrow(() -> new DrawException(ErrorStatus._NOT_FOUND));
+
+        startDate = drawSetting.getStartDate();
+        endDate = drawSetting.getEndDate();
+        startTime = drawSetting.getStartTime();
+        endTime = drawSetting.getEndTime();
+        winnerNum1 = drawSetting.getWinnerNum1();
+        winnerNum2 = drawSetting.getWinnerNum2();
+        winnerNum3 = drawSetting.getWinnerNum3();
+    }
+
+    public void setDrawSetting(DrawSetting drawSetting) {
+        this.startDate = drawSetting.getStartDate();
+        this.endDate = drawSetting.getEndDate();
+        this.startTime = drawSetting.getStartTime();
+        this.endTime = drawSetting.getEndTime();
+
+        this.winnerNum1 = drawSetting.getWinnerNum1();
+        this.winnerNum2 = drawSetting.getWinnerNum2();
+        this.winnerNum3 = drawSetting.getWinnerNum3();
+    }
+
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/index.html new file mode 100644 index 00000000..226b4433 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/index.html @@ -0,0 +1 @@ +com.softeer.backend.fo_domain.draw.service

com.softeer.backend.fo_domain.draw.service

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total93 of 28667%0 of 16100%61718646912
DrawSettingManager780%n/a3318183311
DrawService1519392%16100%3140463601
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/index.source.html new file mode 100644 index 00000000..39de8b6c --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/index.source.html @@ -0,0 +1 @@ +com.softeer.backend.fo_domain.draw.service

com.softeer.backend.fo_domain.draw.service

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total93 of 28667%0 of 16100%61718646912
DrawSettingManager.java780%n/a3318183311
DrawService.java1519392%16100%3140463601
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawAttendanceCountUtil.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawAttendanceCountUtil.html new file mode 100644 index 00000000..fd8eefef --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawAttendanceCountUtil.html @@ -0,0 +1 @@ +DrawAttendanceCountUtil

DrawAttendanceCountUtil

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total109 of 1090%14 of 140%1010232333
handleAttendanceCount(Integer, DrawParticipationInfo)590%60%44151511
isContinuousAttendance(LocalDateTime)260%40%334411
isLastAttendanceToday(LocalDateTime)240%40%334411
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawAttendanceCountUtil.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawAttendanceCountUtil.java.html new file mode 100644 index 00000000..546bc54a --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawAttendanceCountUtil.java.html @@ -0,0 +1,93 @@ +DrawAttendanceCountUtil.java

DrawAttendanceCountUtil.java

package com.softeer.backend.fo_domain.draw.util;
+
+import com.softeer.backend.fo_domain.draw.domain.DrawParticipationInfo;
+import com.softeer.backend.fo_domain.draw.repository.DrawParticipationInfoRepository;
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Component;
+
+import java.time.LocalDateTime;
+import java.time.LocalTime;
+
+@Component
+@RequiredArgsConstructor
+public class DrawAttendanceCountUtil {
+    private final DrawParticipationInfoRepository drawParticipationInfoRepository;
+
+    /**
+     * 연속 출석인지 판단
+     * 1. 연속 출석이면 연속 출석일수 1 증가하여 DB에 업데이트
+     * 2. 연속 출석이 아니면 DB에 연속 출석일수 1로 초기화
+     * 3. 현재 출석시각을 마지막 출석시각으로 DB에 업데이트
+     *
+     * @param userId                사용자 아이디
+     * @param drawParticipationInfo 참여 정보
+     * @return 연속출석 일수 반환
+     */
+    public int handleAttendanceCount(Integer userId, DrawParticipationInfo drawParticipationInfo) {
+        LocalDateTime lastAttendance = drawParticipationInfo.getLastAttendance();
+
+        // 한 번도 접속한 적이 없는 사람이라면
+        if (lastAttendance == null) {
+            // 연속출석일수 1로 초기화
+            drawParticipationInfoRepository.setAttendanceCountToOne(userId);
+
+            // lastAttendance를 현재 시각으로 설정
+            drawParticipationInfoRepository.setLastAttendance(userId, LocalDateTime.now());
+
+            return 1;
+        }
+
+        // 마지막 접속 시간이 오늘이라면 false 반환
+        if (isLastAttendanceToday(lastAttendance)) {
+            // lastAttendance를 현재 시각으로 설정
+            drawParticipationInfoRepository.setLastAttendance(userId, LocalDateTime.now());
+
+            return drawParticipationInfo.getDrawAttendanceCount();
+        }
+
+        if (isContinuousAttendance(lastAttendance)) {
+            // 연속 출석이라면 연속출석일수 1 증가
+            drawParticipationInfoRepository.increaseAttendanceCount(userId);
+
+            // lastAttendance를 현재 시각으로 설정
+            drawParticipationInfoRepository.setLastAttendance(userId, LocalDateTime.now());
+            return drawParticipationInfo.getDrawAttendanceCount() + 1;
+        } else {
+            // 연속출석이 아니라면 연속출석일수 1로 초기화
+            drawParticipationInfoRepository.setAttendanceCountToOne(userId);
+
+            // lastAttendance를 현재 시각으로 설정
+            drawParticipationInfoRepository.setLastAttendance(userId, LocalDateTime.now());
+            return 1;
+        }
+    }
+
+    /**
+     * 연속 출석인지 판단
+     *
+     * @param lastAttendance 마지막 출석 날짜
+     * @return 연속 출석이면 true, 연속출석이 아니면 false 반환
+     */
+    private boolean isContinuousAttendance(LocalDateTime lastAttendance) {
+        LocalDateTime now = LocalDateTime.now();
+        LocalDateTime startDateTime = lastAttendance.plusDays(1).with(LocalTime.MIDNIGHT); // 마지막 접속일자의 다음날 자정
+        LocalDateTime endDateTime = lastAttendance.plusDays(2).with(LocalTime.MIDNIGHT); // 마지막 접속일자의 2일 후 자정
+
+        return (now.isAfter(startDateTime) && now.isBefore(endDateTime));
+    }
+
+    /**
+     * 마지막 출석 시간이 오늘인지 판단
+     *
+     * @param lastAttendance 마지막 출석 날짜
+     * @return 마지막 출석 시간이 오늘이면 true, 아니면 false 반환
+     */
+    private boolean isLastAttendanceToday(LocalDateTime lastAttendance) {
+        LocalDateTime now = LocalDateTime.now();
+        LocalDateTime startDateTime = lastAttendance.with(LocalTime.MIDNIGHT);
+        LocalDateTime endDateTime = lastAttendance.plusDays(1).with(LocalTime.MIDNIGHT);
+
+        return (now.isAfter(startDateTime) && now.isBefore(endDateTime));
+    }
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawModalGenerateUtil.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawModalGenerateUtil.html new file mode 100644 index 00000000..73b189c2 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawModalGenerateUtil.html @@ -0,0 +1 @@ +DrawModalGenerateUtil

DrawModalGenerateUtil

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total142 of 1420%6 of 60%88333355
generateWinModal(int)370%60%449911
generateSecondWinModal(Map, Map)270%n/a116611
generateThirdWinModal(Map, Map)270%n/a116611
generateFullAttendModal(Map, Map)270%n/a116611
generateFirstWinModal(Map, Map)240%n/a116611
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawModalGenerateUtil.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawModalGenerateUtil.java.html new file mode 100644 index 00000000..d01c8d42 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawModalGenerateUtil.java.html @@ -0,0 +1,90 @@ +DrawModalGenerateUtil.java

DrawModalGenerateUtil.java

package com.softeer.backend.fo_domain.draw.util;
+
+import com.softeer.backend.fo_domain.draw.dto.modal.WinModal;
+import com.softeer.backend.global.staticresources.constant.S3FileName;
+import com.softeer.backend.global.staticresources.constant.StaticTextName;
+import com.softeer.backend.global.staticresources.util.StaticResourceUtil;
+import lombok.RequiredArgsConstructor;
+import org.springframework.cache.annotation.Cacheable;
+import org.springframework.stereotype.Component;
+
+import java.util.Map;
+
+@Component
+@RequiredArgsConstructor
+public class DrawModalGenerateUtil {
+
+    private final StaticResourceUtil staticResourceUtil;
+
+    /**
+     * @return 등수에 따른 WinModal을 반환
+     */
+    @Cacheable(value = "staticResources", key = "'draw_modal_' + #ranking")
+    public WinModal generateWinModal(int ranking) {
+
+        Map<String, String> textContentMap = staticResourceUtil.getTextContentMap();
+        Map<String, String> s3ContentMap = staticResourceUtil.getS3ContentMap();
+
+        if (ranking == 1) {
+            return generateFirstWinModal(textContentMap, s3ContentMap);
+        } else if (ranking == 2) {
+            return generateSecondWinModal(textContentMap, s3ContentMap);
+        } else if (ranking == 3) {
+            return generateThirdWinModal(textContentMap, s3ContentMap);
+        } else {
+            return generateFullAttendModal(textContentMap, s3ContentMap);
+        }
+    }
+
+    /**
+     * @return 1등 WinModal 반환
+     */
+
+    private WinModal generateFirstWinModal(Map<String, String> textContentMap, Map<String, String> s3ContentMap) {
+        return WinModal.builder()
+                .title(textContentMap.get(StaticTextName.DRAW_WINNER_MODAL_TITLE.name()))
+                .subtitle(textContentMap.get(StaticTextName.DRAW_FIRST_WINNER_SUBTITLE.name()))
+                .img(s3ContentMap.get(S3FileName.DRAW_REWARD_IMAGE_1.name()))
+                .description(StaticTextName.DRAW_WINNER_MODAL_DESCRIPTION.name())
+                .build();
+    }
+
+    /**
+     * @return 2등 WinModal 반환
+     */
+    private WinModal generateSecondWinModal(Map<String, String> textContentMap, Map<String, String> s3ContentMap) {
+        return WinModal.builder()
+                .title(textContentMap.get(StaticTextName.DRAW_WINNER_MODAL_TITLE.name()))
+                .subtitle(textContentMap.get(StaticTextName.DRAW_SECOND_WINNER_SUBTITLE.name()))
+                .img(s3ContentMap.get(S3FileName.DRAW_REWARD_IMAGE_2.name()))
+                .description(textContentMap.get(StaticTextName.DRAW_WINNER_MODAL_DESCRIPTION.name()))
+                .build();
+    }
+
+    /**
+     * @return 3등 WinModal 반환
+     */
+    private WinModal generateThirdWinModal(Map<String, String> textContentMap, Map<String, String> s3ContentMap) {
+        return WinModal.builder()
+                .title(textContentMap.get(StaticTextName.DRAW_WINNER_MODAL_TITLE.name()))
+                .subtitle(textContentMap.get(StaticTextName.DRAW_THIRD_WINNER_SUBTITLE.name()))
+                .img(s3ContentMap.get(S3FileName.DRAW_REWARD_IMAGE_3.name()))
+                .description(textContentMap.get(StaticTextName.DRAW_WINNER_MODAL_DESCRIPTION.name()))
+                .build();
+    }
+
+    /**
+     * 7일 연속 출석자 상품 정보 반환 메서드
+     *
+     * @return FullAttendModal 반환
+     */
+    public WinModal generateFullAttendModal(Map<String, String> textContentMap, Map<String, String> s3ContentMap) {
+        return WinModal.builder()
+                .title(textContentMap.get(StaticTextName.FULL_ATTEND_MODAL_TITLE.name()))
+                .subtitle(textContentMap.get(StaticTextName.FULL_ATTEND_MODAL_SUBTITLE.name()))
+                .img(s3ContentMap.get(S3FileName.ATTENDANCE_REWARD_IMAGE.name()))
+                .description(textContentMap.get(StaticTextName.FULL_ATTEND_MODAL_DESCRIPTION.name()))
+                .build();
+    }
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawResponseGenerateUtil.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawResponseGenerateUtil.html new file mode 100644 index 00000000..fdd310d8 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawResponseGenerateUtil.html @@ -0,0 +1 @@ +DrawResponseGenerateUtil

DrawResponseGenerateUtil

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total92 of 920%0 of 0n/a88313188
generateMainFullAttendResponse(int, int, int)170%n/a116611
generateDrawWinnerResponse(int)160%n/a115511
generateDrawLoserResponse(Integer)150%n/a115511
generateDrawHistoryWinnerResponse(int)110%n/a114411
generateDrawHistoryLoserResponse(Integer)100%n/a114411
generateMainNotAttendResponse(int, int, int)90%n/a115511
getShareUrl(Integer)90%n/a112211
lambda$getShareUrl$0()50%n/a111111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawResponseGenerateUtil.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawResponseGenerateUtil.java.html new file mode 100644 index 00000000..b4ab65e9 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawResponseGenerateUtil.java.html @@ -0,0 +1,120 @@ +DrawResponseGenerateUtil.java

DrawResponseGenerateUtil.java

package com.softeer.backend.fo_domain.draw.util;
+
+import com.softeer.backend.fo_domain.draw.dto.main.DrawMainFullAttendResponseDto;
+import com.softeer.backend.fo_domain.draw.dto.main.DrawMainResponseDto;
+import com.softeer.backend.fo_domain.draw.dto.participate.DrawLoseModalResponseDto;
+import com.softeer.backend.fo_domain.draw.dto.participate.DrawWinModalResponseDto;
+import com.softeer.backend.fo_domain.draw.dto.result.DrawHistoryLoserResponseDto;
+import com.softeer.backend.fo_domain.draw.dto.result.DrawHistoryWinnerResponseDto;
+import com.softeer.backend.fo_domain.share.exception.ShareUrlInfoException;
+import com.softeer.backend.fo_domain.share.repository.ShareUrlInfoRepository;
+import com.softeer.backend.global.common.code.status.ErrorStatus;
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Component;
+
+@Component
+@RequiredArgsConstructor
+public class DrawResponseGenerateUtil {
+    public static final String BASE_URL = "https://softeer.shop/share/";
+
+    private final ShareUrlInfoRepository shareUrlInfoRepository;
+    private final DrawUtil drawUtil;
+    private final DrawModalGenerateUtil drawModalGenerateUtil;
+
+
+    /**
+     * 7일 연속 출석 시 상품 정보 모달 만들어서 반환하는 메서드
+     *
+     * @param invitedNum             초대한 사람 수
+     * @param remainDrawCount        남은 추첨 기회
+     * @param drawAttendanceCount 연속 출석 일수
+     * @return 7일 연속 출석 상품 모달
+     */
+    public DrawMainFullAttendResponseDto generateMainFullAttendResponse(int invitedNum, int remainDrawCount, int drawAttendanceCount) {
+        return DrawMainFullAttendResponseDto.builder()
+                .invitedNum(invitedNum)
+                .remainDrawCount(remainDrawCount)
+                .drawAttendanceCount(drawAttendanceCount)
+                .fullAttendModal(drawModalGenerateUtil.generateWinModal(7))
+                .build();
+    }
+
+    /**
+     * 7일 미만 출석 시 모달 만들어서 반환하는 메서드
+     *
+     * @param invitedNum             초대한 사람 수
+     * @param remainDrawCount        남은 추첨 기회
+     * @param drawAttendanceCount 연속 출석 일수
+     * @return 7일 미만 출석 상품 모달
+     */
+    public DrawMainResponseDto generateMainNotAttendResponse(int invitedNum, int remainDrawCount, int drawAttendanceCount) {
+        return DrawMainResponseDto.builder()
+                .invitedNum(invitedNum)
+                .remainDrawCount(remainDrawCount)
+                .drawAttendanceCount(drawAttendanceCount)
+                .build();
+    }
+
+    /**
+     * 낙첨자 응답 만들어서 반환
+     *
+     * @param userId 를 이용하여 공유 url 조회
+     * @return 낙첨자 응답
+     */
+    public DrawLoseModalResponseDto generateDrawLoserResponse(Integer userId) {
+        return DrawLoseModalResponseDto.builder()
+                .isDrawWin(false)
+                .images(drawUtil.generateLoseImages())
+                .shareUrl(getShareUrl(userId))
+                .build();
+    }
+
+    /**
+     * 당첨자 응답 만들어서 반환
+     *
+     * @return 당첨자 응답
+     */
+    public DrawWinModalResponseDto generateDrawWinnerResponse(int ranking) {
+        return DrawWinModalResponseDto.builder()
+                .isDrawWin(true)
+                .images(drawUtil.generateWinImages())
+                .winModal(drawModalGenerateUtil.generateWinModal(ranking))
+                .build();
+    }
+
+    /**
+     * 당첨내역이 있는 경우 당첨 내역 응답 만들어서 반환
+     * @param ranking 등수
+     * @return 당첨 내역 응답
+     */
+    public DrawHistoryWinnerResponseDto generateDrawHistoryWinnerResponse(int ranking) {
+        return DrawHistoryWinnerResponseDto.builder()
+                .isDrawWin(true)
+                .winModal(drawModalGenerateUtil.generateWinModal(ranking))
+                .build();
+    }
+
+    /**
+     * 당첨내역이 없는 경우 낙첨 응답 만들어서 반환
+     * @param userId 사용자 아이디
+     * @return 낙첨 내역 응답
+     */
+    public DrawHistoryLoserResponseDto generateDrawHistoryLoserResponse(Integer userId) {
+        return DrawHistoryLoserResponseDto.builder()
+                .isDrawWin(false)
+                .shareUrl(getShareUrl(userId))
+                .build();
+    }
+
+    /**
+     * 공유 url 조회
+     *
+     * @param userId 사용자 아이디
+     * @return 공유 url
+     */
+    private String getShareUrl(Integer userId) {
+        return BASE_URL + shareUrlInfoRepository.findShareUrlByUserId(userId)
+                .orElseThrow(() -> new ShareUrlInfoException(ErrorStatus._NOT_FOUND));
+    }
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawUtil.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawUtil.html new file mode 100644 index 00000000..1fbec618 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawUtil.html @@ -0,0 +1 @@ +DrawUtil

DrawUtil

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total172 of 1720%16 of 160%1212414144
generateLoseImages()520%40%33111111
performDraw()430%60%44121211
getImageUrl(int)410%60%449911
generateWinImages()360%n/a119911
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawUtil.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawUtil.java.html new file mode 100644 index 00000000..daf1b7f2 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawUtil.java.html @@ -0,0 +1,119 @@ +DrawUtil.java

DrawUtil.java

package com.softeer.backend.fo_domain.draw.util;
+
+import com.softeer.backend.fo_domain.fcfs.service.FcfsService;
+import com.softeer.backend.global.staticresources.constant.S3FileName;
+import com.softeer.backend.global.staticresources.repository.S3ContentRepository;
+import com.softeer.backend.global.staticresources.util.StaticResourceUtil;
+import lombok.Getter;
+import lombok.RequiredArgsConstructor;
+import lombok.Setter;
+import org.springframework.beans.factory.ObjectProvider;
+import org.springframework.cache.annotation.Cacheable;
+import org.springframework.stereotype.Component;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.Random;
+
+@Component
+@RequiredArgsConstructor
+public class DrawUtil {
+
+    private final ObjectProvider<DrawUtil> drawUtilProvider;
+    private final StaticResourceUtil staticResourceUtil;
+
+    @Getter
+    private boolean isDrawWin = false;
+    @Getter
+    @Setter
+    private int ranking = 0;
+    @Setter
+    private int first;
+    @Setter
+    private int second;
+    @Setter
+    private int third;
+
+    /**
+     * 추첨 로직 실행
+     * 만약 1, 2, 3등 중 하나에 당첨되었다면 등수와 이미지 방향이 결정됨.
+     */
+    public void performDraw() {
+        Random random = new Random();
+        int randomNum = random.nextInt(10000) + 1; // 랜덤 수
+
+        if (randomNum <= this.first) {
+            isDrawWin = true;
+            ranking = 1;
+        } else if (randomNum <= this.second) {
+            isDrawWin = true;
+            ranking = 2;
+        } else if (randomNum <= this.third) {
+            isDrawWin = true;
+            ranking = 3;
+        }
+    }
+
+    /**
+     * @return 당첨자를 위한 방향 이미지 List 반환
+     */
+    public List<String> generateWinImages() {
+        Random random = new Random();
+        int direction = random.nextInt(4); // 랜덤 수
+
+        DrawUtil drawUtil = drawUtilProvider.getObject();
+        String directionImage = drawUtil.getImageUrl(direction);
+
+        ArrayList<String> images = new ArrayList<>(3);
+        images.add(directionImage);
+        images.add(directionImage);
+        images.add(directionImage);
+        return images;
+    }
+
+    /**
+     * @return 낙첨자를 위한 랜덤 방향 이미지 List 반환
+     */
+    public List<String> generateLoseImages() {
+        DrawUtil drawUtil = drawUtilProvider.getObject();
+
+        ArrayList<String> images = new ArrayList<>(3);
+        Random random = new Random();
+        int firstDirection, secondDirection, thirdDirection;
+
+        do {
+            firstDirection = random.nextInt(4);
+            secondDirection = random.nextInt(4);
+            thirdDirection = random.nextInt(4);
+        } while (firstDirection == secondDirection && secondDirection == thirdDirection);
+
+        images.add(drawUtil.getImageUrl(firstDirection));
+        images.add(drawUtil.getImageUrl(secondDirection));
+        images.add(drawUtil.getImageUrl(thirdDirection));
+        return images;
+    }
+
+    /**
+     * @param direction 방향을 나타냄. 0, 1, 2, 3이 각각 위, 오른쪽, 밑, 왼쪽
+     * @return 방향에 따른 이미지 url을 반환
+     */
+    @Cacheable(value = "staticResources", key = "'drawImage_' + #direction")
+    public String getImageUrl(int direction) {
+
+        Map<String, String> textContentMap = staticResourceUtil.getTextContentMap();
+
+        String directionImage;
+        if (direction == 0) {
+            directionImage = textContentMap.get(S3FileName.DRAW_BLOCK_UP_IMAGE.name());
+        } else if (direction == 1) {
+            directionImage = textContentMap.get(S3FileName.DRAW_BLOCK_RIGHT_IMAGE.name());
+        } else if (direction == 2) {
+            directionImage = textContentMap.get(S3FileName.DRAW_BLOCK_DOWN_IMAGE.name());
+        } else {
+            directionImage = textContentMap.get(S3FileName.DRAW_BLOCK_LEFT_IMAGE.name());
+        }
+        return directionImage;
+    }
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/index.html new file mode 100644 index 00000000..f6db7909 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/index.html @@ -0,0 +1 @@ +com.softeer.backend.fo_domain.draw.util

com.softeer.backend.fo_domain.draw.util

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total515 of 5150%36 of 360%3838128128202044
DrawUtil1720%160%121241414411
DrawModalGenerateUtil1420%60%8833335511
DrawAttendanceCountUtil1090%140%101023233311
DrawResponseGenerateUtil920%n/a8831318811
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/index.source.html new file mode 100644 index 00000000..0e726ea7 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/index.source.html @@ -0,0 +1 @@ +com.softeer.backend.fo_domain.draw.util

com.softeer.backend.fo_domain.draw.util

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total515 of 5150%36 of 360%3838128128202044
DrawUtil.java1720%160%121241414411
DrawModalGenerateUtil.java1420%60%8833335511
DrawAttendanceCountUtil.java1090%140%101023233311
DrawResponseGenerateUtil.java920%n/a8831318811
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.controller/FcfsController.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.controller/FcfsController.html new file mode 100644 index 00000000..3b0cda5e --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.controller/FcfsController.html @@ -0,0 +1 @@ +FcfsController

FcfsController

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total42 of 420%0 of 0n/a449944
handleFcfs(HttpServletRequest, Integer, FcfsRequestDto)170%n/a113311
getFcfsPage(HttpServletRequest)140%n/a113311
getFcfsTutorialPage()70%n/a112211
static {...}40%n/a111111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.controller/FcfsController.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.controller/FcfsController.java.html new file mode 100644 index 00000000..3e23946d --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.controller/FcfsController.java.html @@ -0,0 +1,67 @@ +FcfsController.java

FcfsController.java

package com.softeer.backend.fo_domain.fcfs.controller;
+
+import com.softeer.backend.fo_domain.fcfs.dto.FcfsPageResponseDto;
+import com.softeer.backend.fo_domain.fcfs.dto.FcfsRequestDto;
+import com.softeer.backend.fo_domain.fcfs.dto.result.FcfsResult;
+import com.softeer.backend.fo_domain.fcfs.dto.result.FcfsResultResponseDto;
+import com.softeer.backend.fo_domain.fcfs.service.FcfsService;
+import com.softeer.backend.global.annotation.AuthInfo;
+import com.softeer.backend.global.common.response.ResponseDto;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpSession;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.servlet.mvc.support.RedirectAttributes;
+
+import java.net.URI;
+import java.net.URLEncoder;
+import java.nio.charset.StandardCharsets;
+
+@Slf4j
+@RestController
+@RequiredArgsConstructor
+@RequestMapping("/fcfs")
+@Tag(name = "Fcfs Controller", description = "선착순 API")
+public class FcfsController {
+    private final FcfsService fcfsService;
+
+    @GetMapping
+    public ResponseDto<FcfsPageResponseDto> getFcfsPage(@Parameter(hidden = true) HttpServletRequest request) {
+
+        int round = (Integer) request.getAttribute("round");
+
+        FcfsPageResponseDto fcfsPageResponseDto = fcfsService.getFcfsPage(round);
+
+        return ResponseDto.onSuccess(fcfsPageResponseDto);
+    }
+
+    @GetMapping("/tutorial")
+    public ResponseDto<FcfsPageResponseDto> getFcfsTutorialPage() {
+
+        FcfsPageResponseDto fcfsPageResponseDto = fcfsService.getFcfsTutorialPage();
+
+        return ResponseDto.onSuccess(fcfsPageResponseDto);
+    }
+
+    @PostMapping
+    public ResponseDto<FcfsResultResponseDto> handleFcfs(@Parameter(hidden = true) HttpServletRequest request,
+                                     @Parameter(hidden = true) @AuthInfo Integer userId,
+                                     @RequestBody FcfsRequestDto fcfsRequestDto) {
+
+        int round = (Integer) request.getAttribute("round");
+
+        FcfsResultResponseDto fcfsResultResponseDto = fcfsService.handleFcfsEvent(userId, round, fcfsRequestDto);
+
+        return ResponseDto.onSuccess(fcfsResultResponseDto);
+    }
+
+
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.controller/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.controller/index.html new file mode 100644 index 00000000..3ec30809 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.controller/index.html @@ -0,0 +1 @@ +com.softeer.backend.fo_domain.fcfs.controller

com.softeer.backend.fo_domain.fcfs.controller

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total42 of 420%0 of 0n/a44994411
FcfsController420%n/a44994411
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.controller/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.controller/index.source.html new file mode 100644 index 00000000..5c45fdef --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.controller/index.source.html @@ -0,0 +1 @@ +com.softeer.backend.fo_domain.fcfs.controller

com.softeer.backend.fo_domain.fcfs.controller

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total42 of 420%0 of 0n/a44994411
FcfsController.java420%n/a44994411
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.exception/FcfsException.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.exception/FcfsException.html new file mode 100644 index 00000000..1e8e55bb --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.exception/FcfsException.html @@ -0,0 +1 @@ +FcfsException

FcfsException

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total4 of 40%0 of 0n/a112211
FcfsException(BaseErrorCode)40%n/a112211
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.exception/FcfsException.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.exception/FcfsException.java.html new file mode 100644 index 00000000..5a55fefc --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.exception/FcfsException.java.html @@ -0,0 +1,12 @@ +FcfsException.java

FcfsException.java

package com.softeer.backend.fo_domain.fcfs.exception;
+
+import com.softeer.backend.global.common.code.BaseErrorCode;
+import com.softeer.backend.global.common.exception.GeneralException;
+
+public class FcfsException extends GeneralException {
+
+    public FcfsException(BaseErrorCode code) {
+        super(code);
+    }
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.exception/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.exception/index.html new file mode 100644 index 00000000..74ce8b33 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.exception/index.html @@ -0,0 +1 @@ +com.softeer.backend.fo_domain.fcfs.exception

com.softeer.backend.fo_domain.fcfs.exception

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total4 of 40%0 of 0n/a11221111
FcfsException40%n/a11221111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.exception/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.exception/index.source.html new file mode 100644 index 00000000..475fa5df --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.exception/index.source.html @@ -0,0 +1 @@ +com.softeer.backend.fo_domain.fcfs.exception

com.softeer.backend.fo_domain.fcfs.exception

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total4 of 40%0 of 0n/a11221111
FcfsException.java40%n/a11221111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.interceptor/FcfsTimeCheckInterceptor.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.interceptor/FcfsTimeCheckInterceptor.html new file mode 100644 index 00000000..48fb9800 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.interceptor/FcfsTimeCheckInterceptor.html @@ -0,0 +1 @@ +FcfsTimeCheckInterceptor

FcfsTimeCheckInterceptor

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total37 of 370%4 of 40%44101022
preHandle(HttpServletRequest, HttpServletResponse, Object)330%40%339911
static {...}40%n/a111111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.interceptor/FcfsTimeCheckInterceptor.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.interceptor/FcfsTimeCheckInterceptor.java.html new file mode 100644 index 00000000..27fe3372 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.interceptor/FcfsTimeCheckInterceptor.java.html @@ -0,0 +1,45 @@ +FcfsTimeCheckInterceptor.java

FcfsTimeCheckInterceptor.java

package com.softeer.backend.fo_domain.fcfs.interceptor;
+
+import com.softeer.backend.fo_domain.fcfs.exception.FcfsException;
+import com.softeer.backend.fo_domain.fcfs.service.FcfsSettingManager;
+import com.softeer.backend.global.common.code.status.ErrorStatus;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+import org.springframework.web.cors.CorsUtils;
+import org.springframework.web.servlet.HandlerInterceptor;
+
+import java.time.LocalDateTime;
+
+@Slf4j
+@Component
+@RequiredArgsConstructor
+public class FcfsTimeCheckInterceptor implements HandlerInterceptor {
+
+    private final FcfsSettingManager fcfsSettingManager;
+
+    @Override
+    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
+
+        if(CorsUtils.isPreFlightRequest(request))
+            return true;
+
+        LocalDateTime now = LocalDateTime.now();
+
+        if(!fcfsSettingManager.isFcfsEntryAvailable(now)){
+
+            log.error("Cannot access the FCFS event");
+            throw new FcfsException(ErrorStatus._BAD_REQUEST);
+        }
+
+
+        int round = fcfsSettingManager.getFcfsRound(now);
+        request.setAttribute("round", round);
+
+
+        return true;
+    }
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.interceptor/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.interceptor/index.html new file mode 100644 index 00000000..b3964ed0 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.interceptor/index.html @@ -0,0 +1 @@ +com.softeer.backend.fo_domain.fcfs.interceptor

com.softeer.backend.fo_domain.fcfs.interceptor

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total37 of 370%4 of 40%4410102211
FcfsTimeCheckInterceptor370%40%4410102211
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.interceptor/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.interceptor/index.source.html new file mode 100644 index 00000000..152426dd --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.interceptor/index.source.html @@ -0,0 +1 @@ +com.softeer.backend.fo_domain.fcfs.interceptor

com.softeer.backend.fo_domain.fcfs.interceptor

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total37 of 370%4 of 40%4410102211
FcfsTimeCheckInterceptor.java370%40%4410102211
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/FcfsService.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/FcfsService.html new file mode 100644 index 00000000..7bf836c2 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/FcfsService.html @@ -0,0 +1 @@ +FcfsService

FcfsService

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total400 of 4000%14 of 140%171780801010
saveFcfsWinners(int, int)970%80%55141411
getFcfsSuccessResult(Map, Map, FcfsSettingDto)820%n/a11121211
getFcfsResult(boolean, String)470%20%22161611
handleFcfsEvent(int, int, FcfsRequestDto)460%40%339911
getFcfsPage(int)420%n/a11101011
getFcfsTutorialPage()410%n/a11101011
getFcfsFailResult(Map)210%n/a115511
makeFcfsCode(int)120%n/a111111
countFcfsParticipant(int)80%n/a112211
static {...}40%n/a111111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/FcfsService.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/FcfsService.java.html new file mode 100644 index 00000000..646b47ef --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/FcfsService.java.html @@ -0,0 +1,202 @@ +FcfsService.java

FcfsService.java

package com.softeer.backend.fo_domain.fcfs.service;
+
+import com.softeer.backend.fo_domain.draw.service.DrawSettingManager;
+import com.softeer.backend.fo_domain.fcfs.dto.*;
+import com.softeer.backend.fo_domain.fcfs.dto.result.FcfsFailResult;
+import com.softeer.backend.fo_domain.fcfs.dto.result.FcfsResultResponseDto;
+import com.softeer.backend.fo_domain.fcfs.dto.result.FcfsSuccessResult;
+import com.softeer.backend.fo_domain.fcfs.exception.FcfsException;
+import com.softeer.backend.global.annotation.EventLock;
+import com.softeer.backend.global.common.code.status.ErrorStatus;
+import com.softeer.backend.global.common.constant.RedisKeyPrefix;
+import com.softeer.backend.global.staticresources.constant.S3FileName;
+import com.softeer.backend.global.staticresources.constant.StaticTextName;
+import com.softeer.backend.global.staticresources.domain.S3Content;
+import com.softeer.backend.global.staticresources.domain.TextContent;
+import com.softeer.backend.global.staticresources.repository.S3ContentRepository;
+import com.softeer.backend.global.staticresources.repository.TextContentRepository;
+import com.softeer.backend.global.staticresources.util.StaticResourceUtil;
+import com.softeer.backend.global.util.FcfsRedisUtil;
+import com.softeer.backend.global.util.RandomCodeUtil;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.ObjectProvider;
+import org.springframework.cache.annotation.Cacheable;
+import org.springframework.stereotype.Service;
+
+import java.time.format.DateTimeFormatter;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+/**
+ * 선착순 관련 이벤트를 처리하는 클래스
+ */
+@Slf4j
+@Service
+@RequiredArgsConstructor
+public class FcfsService {
+    DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("M월 d일");
+    private final ObjectProvider<FcfsService> fcfsServiceProvider;
+
+    private final FcfsSettingManager fcfsSettingManager;
+    private final DrawSettingManager drawSettingManager;
+    private final QuizManager quizManager;
+    private final FcfsRedisUtil fcfsRedisUtil;
+    private final RandomCodeUtil randomCodeUtil;
+    private final StaticResourceUtil staticResourceUtil;
+
+
+    public FcfsPageResponseDto getFcfsPage(int round) {
+
+        QuizDto quiz = quizManager.getQuiz(round);
+        Map<String, String> textContentMap = staticResourceUtil.getTextContentMap();
+
+        return FcfsPageResponseDto.builder()
+                .answerWord(quiz.getAnswerWord())
+                .answerSentence(quiz.getAnswerSentence())
+                .startIndex(quiz.getStartIndex())
+                .endIndex(quiz.getEndIndex())
+                .quizDescription(staticResourceUtil.format(textContentMap.get(StaticTextName.FCFS_QUIZ_DESCRIPTION.name()),
+                        fcfsSettingManager.getFcfsWinnerNum()))
+                .build();
+    }
+
+    public FcfsPageResponseDto getFcfsTutorialPage() {
+
+        QuizDto tutorialQuiz = quizManager.getTutorialQuiz();
+        Map<String, String> textContentMap = staticResourceUtil.getTextContentMap();
+
+        return FcfsPageResponseDto.builder()
+                .answerWord(tutorialQuiz.getAnswerWord())
+                .answerSentence(tutorialQuiz.getAnswerSentence())
+                .startIndex(tutorialQuiz.getStartIndex())
+                .endIndex(tutorialQuiz.getEndIndex())
+                .quizDescription(staticResourceUtil.format(textContentMap.get(StaticTextName.FCFS_QUIZ_DESCRIPTION.name()),
+                        fcfsSettingManager.getFcfsWinnerNum()))
+                .build();
+    }
+
+    /**
+     * 1. 선착순 당첨자가 아직 다 결정되지 않았으면, 선착순 당첨 응답 생성 및 반환
+     * 2. 선착순 당첨자가 다 결정됐다면, Redisson lock을 사용하지 않고 Redis에 저장된 선착순 이벤트 참여자 수를 1명씩 더한다.
+     */
+    public FcfsResultResponseDto handleFcfsEvent(int userId, int round, FcfsRequestDto fcfsRequestDto) {
+
+        if(!fcfsRequestDto.getAnswer().equals(quizManager.getQuiz(round).getAnswerWord())) {
+            log.error("fcfs quiz answer is not match, correct answer: {}, wrong anwer: {}",
+                    quizManager.getQuiz(round).getAnswerWord(), fcfsRequestDto.getAnswer());
+            throw new FcfsException(ErrorStatus._BAD_REQUEST);
+        }
+
+        if (fcfsSettingManager.isFcfsClosed()){
+            countFcfsParticipant(round);
+
+            return getFcfsResult(false, null);
+        }
+        FcfsService fcfsService = fcfsServiceProvider.getObject();
+        return fcfsService.saveFcfsWinners(userId, round);
+    }
+
+    @EventLock(key = "FCFS_#{#round}")
+    public FcfsResultResponseDto saveFcfsWinners(int userId, int round) {
+
+        long numOfWinners = fcfsRedisUtil.getIntegerSetSize(RedisKeyPrefix.FCFS_USERID_PREFIX.getPrefix() + round);
+
+        if (numOfWinners < fcfsSettingManager.getFcfsWinnerNum()
+                && !fcfsRedisUtil.isValueInIntegerSet(RedisKeyPrefix.FCFS_USERID_PREFIX.getPrefix() + round, userId)) {
+
+            // redis에 userId 등록
+            fcfsRedisUtil.addToIntegerSet(RedisKeyPrefix.FCFS_USERID_PREFIX.getPrefix() + round, userId);
+
+            // redis에 code 등록
+            String code = makeFcfsCode(round);
+            while (fcfsRedisUtil.isValueInStringSet(RedisKeyPrefix.FCFS_CODE_PREFIX.getPrefix() + round, code)) {
+                code = makeFcfsCode(round);
+            }
+            fcfsRedisUtil.addToStringSet(RedisKeyPrefix.FCFS_CODE_PREFIX.getPrefix() + round, code);
+
+            // redis에 code-userId 형태로 등록(hash)
+            fcfsRedisUtil.addToHash(RedisKeyPrefix.FCFS_CODE_USERID_PREFIX.getPrefix() + round, code, userId);
+
+            // redis에 선착순 참가자 수 +1
+            countFcfsParticipant(round);
+
+            // 선착순 당첨이 마감되면 FcfsSettingManager의 fcfsClodes 변수값을 true로 설정
+            if (numOfWinners + 1 == fcfsSettingManager.getFcfsWinnerNum()) {
+                fcfsSettingManager.setFcfsClosed(true);
+            }
+
+            return getFcfsResult(true, code);
+        }
+
+        return getFcfsResult(false, null);
+
+    }
+
+    private String makeFcfsCode(int round){
+        return (char)('A'+round-1) + randomCodeUtil.generateRandomCode(5);
+    }
+
+    private void countFcfsParticipant(int round) {
+        fcfsRedisUtil.incrementValue(RedisKeyPrefix.FCFS_PARTICIPANT_COUNT_PREFIX.getPrefix() + round);
+    }
+
+    public FcfsResultResponseDto getFcfsResult(boolean fcfsWin, String fcfsCode){
+
+        Map<String, String> textContentMap = staticResourceUtil.getTextContentMap();
+        Map<String, String> s3ContentMap = staticResourceUtil.getS3ContentMap();
+
+        FcfsSettingDto firstFcfsSetting = fcfsSettingManager.getFcfsSettingByRound(1);
+
+        FcfsService fcfsService = fcfsServiceProvider.getObject();
+
+        if(fcfsWin){
+            FcfsSuccessResult fcfsSuccessResult = fcfsService.getFcfsSuccessResult(
+                    textContentMap, s3ContentMap, firstFcfsSetting
+            );
+            fcfsSuccessResult.setFcfsCode(fcfsCode);
+
+            return FcfsResultResponseDto.builder()
+                    .isFcfsWinner(fcfsWin)
+                    .fcfsResult(fcfsSuccessResult)
+                    .build();
+        }
+
+        FcfsFailResult fcfsFailResult = fcfsService.getFcfsFailResult(textContentMap);
+
+        return FcfsResultResponseDto.builder()
+                .isFcfsWinner(fcfsWin)
+                .fcfsResult(fcfsFailResult)
+                .build();
+    }
+
+    @Cacheable(value = "staticResources", key = "'fcfsSuccess'")
+    public FcfsSuccessResult getFcfsSuccessResult(Map<String, String> textContentMap, Map<String, String> s3ContentMap,
+                                                  FcfsSettingDto firstFcfsSetting){
+
+        return FcfsSuccessResult.builder()
+                .title(staticResourceUtil.format(textContentMap.get(StaticTextName.FCFS_WINNER_TITLE.name()),
+                        fcfsSettingManager.getFcfsWinnerNum()))
+                .subTitle(textContentMap.get(StaticTextName.FCFS_WINNER_SUBTITLE.name()))
+                .qrCode(s3ContentMap.get(S3FileName.BARCODE_IMAGE.name()))
+                .codeWord(textContentMap.get(StaticTextName.FCFS_WINNER_CODE_WORD.name()))
+                .expirationDate(staticResourceUtil.format(textContentMap.get(StaticTextName.FCFS_WINNER_EXPIRY_DATE.name()),
+                        firstFcfsSetting.getStartTime().getYear(),
+                        firstFcfsSetting.getStartTime().format(dateFormatter),
+                        drawSettingManager.getEndDate().plusDays(14).format(dateFormatter)))
+                .caution(textContentMap.get(StaticTextName.FCFS_WINNER_CAUTION.name()))
+                .build();
+    }
+
+    @Cacheable(value = "staticResources", key = "'fcfsFail'")
+    public FcfsFailResult getFcfsFailResult(Map<String, String> textContentMap){
+
+        return FcfsFailResult.builder()
+                .title(textContentMap.get(StaticTextName.FCFS_LOSER_TITLE.name()))
+                .subTitle(textContentMap.get(StaticTextName.FCFS_LOSER_SUBTITLE.name()))
+                .caution(textContentMap.get(StaticTextName.FCFS_LOSER_CAUTION.name()))
+                .build();
+    }
+
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/FcfsSettingManager.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/FcfsSettingManager.html new file mode 100644 index 00000000..6bcb650c --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/FcfsSettingManager.html @@ -0,0 +1 @@ +FcfsSettingManager

FcfsSettingManager

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total231 of 2310%32 of 320%282857571212
getFcfsRound(LocalDateTime)400%100%668811
isFcfsEntryAvailable(LocalDateTime)380%100%668811
getRoundForScheduler(LocalDate)310%60%448811
loadInitialData()260%20%226611
getNextFcfsTime(LocalDateTime)230%40%336611
lambda$setFcfsSettingList$1(FcfsSetting)230%n/a117711
lambda$loadInitialData$0(FcfsSetting)230%n/a117711
getFcfsSettingByRound(int)80%n/a111111
getFcfsWinnerNum()70%n/a111111
setFcfsSettingList(List)50%n/a112211
static {...}40%n/a111111
init()30%n/a112211
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/FcfsSettingManager.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/FcfsSettingManager.java.html new file mode 100644 index 00000000..d6dc630a --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/FcfsSettingManager.java.html @@ -0,0 +1,145 @@ +FcfsSettingManager.java

FcfsSettingManager.java

package com.softeer.backend.fo_domain.fcfs.service;
+
+import com.softeer.backend.bo_domain.eventparticipation.repository.EventParticipationRepository;
+import com.softeer.backend.fo_domain.fcfs.domain.FcfsSetting;
+import com.softeer.backend.fo_domain.fcfs.domain.Quiz;
+import com.softeer.backend.fo_domain.fcfs.dto.FcfsSettingDto;
+import com.softeer.backend.fo_domain.fcfs.dto.QuizDto;
+import com.softeer.backend.fo_domain.fcfs.repository.FcfsSettingRepository;
+import com.softeer.backend.fo_domain.fcfs.repository.QuizRepository;
+import com.softeer.backend.global.util.EventLockRedisUtil;
+import jakarta.annotation.PostConstruct;
+import lombok.*;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.data.domain.Sort;
+import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
+import org.springframework.stereotype.Component;
+
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 선착순 이벤트 정보를 관리하는 클래스
+ */
+@Slf4j
+@Getter
+@Component
+@RequiredArgsConstructor
+public class FcfsSettingManager {
+
+    private final FcfsSettingRepository fcfsSettingRepository;
+    private final ThreadPoolTaskScheduler taskScheduler;
+    private final EventLockRedisUtil eventLockRedisUtil;
+    private final EventParticipationRepository eventParticipationRepository;
+    private final QuizRepository quizRepository;
+
+    private List<FcfsSettingDto> fcfsSettingList;
+
+    @Setter
+    private boolean isFcfsClosed = false;
+
+    @PostConstruct
+    public void init() {
+        loadInitialData();
+    }
+
+    public FcfsSettingDto getFcfsSettingByRound(int round) {
+        return fcfsSettingList.get(round - 1);
+    }
+
+    /**
+     * round 1에 해당하는 선착순 이벤트 속성으로 초기화
+     */
+    public void loadInitialData() {
+
+        List<FcfsSetting> fcfsSettings = fcfsSettingRepository.findAll();
+        fcfsSettingList = new ArrayList<>();
+
+        for (int i = 0; i < 4; i++) {
+            fcfsSettingList.add(null);  // 인덱스 0부터 3까지 빈 슬롯을 추가
+        }
+
+        fcfsSettings.forEach((fcfsSetting) -> {
+            fcfsSettingList.set(fcfsSetting.getRound() - 1, FcfsSettingDto.builder()
+                    .round(fcfsSetting.getRound())
+                    .startTime(fcfsSetting.getStartTime())
+                    .endTime(fcfsSetting.getEndTime())
+                    .winnerNum(fcfsSetting.getWinnerNum())
+                    .build());
+        });
+    }
+
+    public void setFcfsSettingList(List<FcfsSetting> fcfsSettings){
+
+        fcfsSettings.forEach((fcfsSetting) -> {
+            fcfsSettingList.set(fcfsSetting.getRound() - 1, FcfsSettingDto.builder()
+                    .round(fcfsSetting.getRound())
+                    .startTime(fcfsSetting.getStartTime())
+                    .endTime(fcfsSetting.getEndTime())
+                    .winnerNum(fcfsSetting.getWinnerNum())
+                    .build());
+        });
+    }
+
+    public int getRoundForScheduler(LocalDate localDate) {
+        for (FcfsSettingDto fcfsSettingDto : fcfsSettingList) {
+            if (fcfsSettingDto != null) {
+                LocalDate startDate = fcfsSettingDto.getStartTime().toLocalDate();
+                LocalDate dayAfterStartDate = startDate.plusDays(1);
+
+                // localDate가 startDate의 하루 다음날과 같은지 확인
+                if (localDate.equals(dayAfterStartDate)) {
+                    return fcfsSettingDto.getRound();
+                }
+            }
+        }
+        return -1;  // 해당하는 데이터가 없는 경우
+    }
+
+    public int getFcfsWinnerNum(){
+        return fcfsSettingList.get(0).getWinnerNum();
+    }
+
+    public boolean isFcfsEntryAvailable(LocalDateTime now){
+        for(FcfsSettingDto fcfsSettingDto : fcfsSettingList){
+            LocalDateTime startTime = fcfsSettingDto.getStartTime();
+            LocalDateTime endTime = fcfsSettingDto.getEndTime();
+
+            if((now.isEqual(startTime) || now.isAfter(startTime))
+                    && (now.isEqual(endTime) || now.isBefore(endTime))) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    public Integer getFcfsRound(LocalDateTime now){
+
+        for(FcfsSettingDto fcfsSettingDto : fcfsSettingList){
+            LocalDateTime startTime = fcfsSettingDto.getStartTime();
+            LocalDateTime endTime = fcfsSettingDto.getEndTime();
+
+            if((now.isEqual(startTime) || now.isAfter(startTime))
+                    && (now.isEqual(endTime) || now.isBefore(endTime))) {
+                return fcfsSettingDto.getRound();
+            }
+        }
+        return null;
+    }
+
+    public LocalDateTime getNextFcfsTime(LocalDateTime now){
+
+        for(FcfsSettingDto fcfsSettingDto : fcfsSettingList){
+            LocalDateTime startTime = fcfsSettingDto.getStartTime();
+
+            if(now.isBefore(startTime)) {
+                return startTime;
+            }
+        }
+        return null;
+    }
+
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/QuizManager.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/QuizManager.html new file mode 100644 index 00000000..dc3d658d --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/QuizManager.html @@ -0,0 +1 @@ +QuizManager

QuizManager

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total119 of 1190%8 of 80%1010282866
getHint()370%60%448811
lambda$loadInitialData$0(Quiz)360%20%22111111
loadInitialData()220%n/a114411
getQuiz(int)170%n/a112211
static {...}40%n/a111111
init()30%n/a112211
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/QuizManager.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/QuizManager.java.html new file mode 100644 index 00000000..7cab6fc1 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/QuizManager.java.html @@ -0,0 +1,85 @@ +QuizManager.java

QuizManager.java

package com.softeer.backend.fo_domain.fcfs.service;
+
+import com.softeer.backend.fo_domain.fcfs.domain.FcfsSetting;
+import com.softeer.backend.fo_domain.fcfs.domain.Quiz;
+import com.softeer.backend.fo_domain.fcfs.dto.FcfsSettingDto;
+import com.softeer.backend.fo_domain.fcfs.dto.QuizDto;
+import com.softeer.backend.fo_domain.fcfs.repository.QuizRepository;
+import jakarta.annotation.PostConstruct;
+import lombok.Getter;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.data.domain.Sort;
+import org.springframework.stereotype.Component;
+import org.springframework.stereotype.Service;
+
+import java.time.LocalDateTime;
+import java.util.ArrayList;
+import java.util.List;
+
+@Slf4j
+@Component
+@RequiredArgsConstructor
+@Getter
+public class QuizManager {
+
+    private final FcfsSettingManager fcfsSettingManager;
+    private final QuizRepository quizRepository;
+
+    private QuizDto tutorialQuiz;
+    private List<QuizDto> quizList;
+
+    @PostConstruct
+    public void init() {
+        loadInitialData();
+    }
+
+    public void loadInitialData() {
+
+        List<Quiz> quizs = quizRepository.findAll(Sort.by(Sort.Direction.ASC, "id"));
+        quizList = new ArrayList<>();
+
+        quizs.forEach((quiz) -> {
+
+            QuizDto quizDto = QuizDto.builder()
+                    .hint(quiz.getHint())
+                    .answerWord(quiz.getAnswerWord())
+                    .answerSentence(quiz.getAnswerSentence().replace("\\n", "\n"))
+                    .startIndex(quiz.getStartIndex())
+                    .endIndex(quiz.getEndIndex())
+                    .build();
+
+            if(quiz.getHint().equals("튜토리얼"))
+                tutorialQuiz = quizDto;
+            else
+                quizList.add(quizDto);
+        });
+    }
+
+    public String getHint(){
+
+        LocalDateTime now = LocalDateTime.now();
+
+        for (int i=0; i<fcfsSettingManager.getFcfsSettingList().size(); i++) {
+
+            FcfsSettingDto fcfsSettingDto = fcfsSettingManager.getFcfsSettingList().get(i);
+
+            if (fcfsSettingDto != null) {
+                LocalDateTime endTime = fcfsSettingDto.getEndTime();
+
+                // localDate가 startDate의 하루 다음날과 같은지 확인
+                if (endTime.isBefore(now)) {
+                    return quizList.get(i).getHint();
+                }
+            }
+        }
+
+        return null;
+    }
+
+    public QuizDto getQuiz(int round){
+        log.info("quiz: {}", quizList.get(round-1));
+        return quizList.get(round - 1);
+    }
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/index.html new file mode 100644 index 00000000..2e82e15b --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/index.html @@ -0,0 +1 @@ +com.softeer.backend.fo_domain.fcfs.service

com.softeer.backend.fo_domain.fcfs.service

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total750 of 7500%54 of 540%5555165165282833
FcfsService4000%140%17178080101011
FcfsSettingManager2310%320%28285757121211
QuizManager1190%80%101028286611
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/index.source.html new file mode 100644 index 00000000..f77531c4 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/index.source.html @@ -0,0 +1 @@ +com.softeer.backend.fo_domain.fcfs.service

com.softeer.backend.fo_domain.fcfs.service

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total750 of 7500%54 of 540%5555165165282833
FcfsService.java4000%140%17178080101011
FcfsSettingManager.java2310%320%28285757121211
QuizManager.java1190%80%101028286611
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.controller/MainPageController.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.controller/MainPageController.html new file mode 100644 index 00000000..8dc6747d --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.controller/MainPageController.html @@ -0,0 +1 @@ +MainPageController

MainPageController

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total37 of 370%0 of 0n/a33101033
getEventPageStatic()150%n/a114411
getCarPage()150%n/a114411
getEventPageInfo()70%n/a112211
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.controller/MainPageController.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.controller/MainPageController.java.html new file mode 100644 index 00000000..6c463cb7 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.controller/MainPageController.java.html @@ -0,0 +1,53 @@ +MainPageController.java

MainPageController.java

package com.softeer.backend.fo_domain.mainpage.controller;
+
+import com.softeer.backend.fo_domain.mainpage.dto.MainPageCarResponseDto;
+import com.softeer.backend.fo_domain.mainpage.dto.MainPageEventInfoResponseDto;
+import com.softeer.backend.fo_domain.mainpage.dto.MainPageEventStaticResponseDto;
+import com.softeer.backend.fo_domain.mainpage.service.MainPageService;
+import com.softeer.backend.global.common.response.ResponseDto;
+import lombok.RequiredArgsConstructor;
+import org.springframework.http.CacheControl;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.concurrent.TimeUnit;
+
+@RestController
+@RequiredArgsConstructor
+@RequestMapping("/main")
+public class MainPageController {
+
+    private final MainPageService mainPageService;
+
+    @GetMapping("/event/static")
+    public ResponseEntity<ResponseDto<MainPageEventStaticResponseDto>> getEventPageStatic(){
+        MainPageEventStaticResponseDto mainPageEventStaticResponseDto= mainPageService.getEventPageStatic();
+
+        return ResponseEntity.ok()
+                .cacheControl(CacheControl.maxAge(1, TimeUnit.DAYS).cachePublic()) // 1일 동안 public 캐싱
+                .body(ResponseDto.onSuccess(mainPageEventStaticResponseDto));
+    }
+
+    @GetMapping("/event/info")
+    public ResponseDto<MainPageEventInfoResponseDto> getEventPageInfo(){
+
+        MainPageEventInfoResponseDto mainPageEventInfoResponseDto = mainPageService.getEventPageInfo();
+
+        return ResponseDto.onSuccess(mainPageEventInfoResponseDto);
+    }
+
+    @GetMapping("/car")
+    public ResponseEntity<ResponseDto<MainPageCarResponseDto>> getCarPage(){
+
+        MainPageCarResponseDto mainPageCarResponseDto = mainPageService.getCarPage();
+
+        return ResponseEntity.ok()
+                .cacheControl(CacheControl.maxAge(1, TimeUnit.DAYS).cachePublic()) // 1일 동안 public 캐싱
+                .body(ResponseDto.onSuccess(mainPageCarResponseDto));
+    }
+
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.controller/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.controller/index.html new file mode 100644 index 00000000..a56d9edb --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.controller/index.html @@ -0,0 +1 @@ +com.softeer.backend.fo_domain.mainpage.controller

com.softeer.backend.fo_domain.mainpage.controller

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total37 of 370%0 of 0n/a3310103311
MainPageController370%n/a3310103311
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.controller/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.controller/index.source.html new file mode 100644 index 00000000..57cb8e39 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.controller/index.source.html @@ -0,0 +1 @@ +com.softeer.backend.fo_domain.mainpage.controller

com.softeer.backend.fo_domain.mainpage.controller

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total37 of 370%0 of 0n/a3310103311
MainPageController.java370%n/a3310103311
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.service/MainPageService.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.service/MainPageService.html new file mode 100644 index 00000000..5b586820 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.service/MainPageService.html @@ -0,0 +1 @@ +MainPageService

MainPageService

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total500 of 5000%4 of 40%1010939388
getCarPage()1440%n/a11232311
getEventPageInfo()1420%n/a11222211
getEventPageStatic()890%n/a11191911
createCarInfoWithDetails(int, StaticTextName, StaticTextName, StaticTextName, StaticTextName, S3FileName, S3FileName, List, Map, Map)430%n/a11101011
createCarInfo(int, StaticTextName, StaticTextName, S3FileName, S3FileName, Map, Map)290%n/a117711
createCarDetailInfo(int, StaticTextName, StaticTextName, StaticTextName, S3FileName, Map, Map)290%n/a117711
setTotalVisitorsCount()200%40%334411
static {...}40%n/a111111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.service/MainPageService.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.service/MainPageService.java.html new file mode 100644 index 00000000..195f63e8 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.service/MainPageService.java.html @@ -0,0 +1,298 @@ +MainPageService.java

MainPageService.java

package com.softeer.backend.fo_domain.mainpage.service;
+
+import com.softeer.backend.fo_domain.draw.repository.DrawRepository;
+import com.softeer.backend.fo_domain.draw.service.DrawSettingManager;
+import com.softeer.backend.fo_domain.fcfs.dto.FcfsSettingDto;
+import com.softeer.backend.fo_domain.fcfs.service.FcfsSettingManager;
+import com.softeer.backend.fo_domain.fcfs.service.QuizManager;
+import com.softeer.backend.fo_domain.mainpage.dto.MainPageCarResponseDto;
+import com.softeer.backend.fo_domain.mainpage.dto.MainPageEventInfoResponseDto;
+import com.softeer.backend.fo_domain.mainpage.dto.MainPageEventStaticResponseDto;
+import com.softeer.backend.global.common.constant.RedisKeyPrefix;
+import com.softeer.backend.global.staticresources.constant.S3FileName;
+import com.softeer.backend.global.staticresources.constant.StaticTextName;
+import com.softeer.backend.global.staticresources.util.StaticResourceUtil;
+import com.softeer.backend.global.util.EventLockRedisUtil;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.cache.annotation.Cacheable;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.text.DecimalFormat;
+import java.time.DayOfWeek;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+@Slf4j
+@Service
+@RequiredArgsConstructor
+public class MainPageService {
+    private final DateTimeFormatter eventTimeFormatter = DateTimeFormatter.ofPattern("yyyy.MM.dd");
+    private final DateTimeFormatter fcfsTimeFormatter = DateTimeFormatter.ofPattern("a h", Locale.KOREAN);
+    private final DecimalFormat decimalFormat = new DecimalFormat("#,###");
+
+    private final EventLockRedisUtil eventLockRedisUtil;
+    private final FcfsSettingManager fcfsSettingManager;
+    private final DrawSettingManager drawSettingManager;
+    private final QuizManager quizManager;
+    private final DrawRepository drawRepository;
+    private final StaticResourceUtil staticResourceUtil;
+
+    @Transactional(readOnly = true)
+    @Cacheable(value = "staticResources", key = "'event'")
+    public MainPageEventStaticResponseDto getEventPageStatic(){
+
+        Map<String, String> textContentMap = staticResourceUtil.getTextContentMap();
+        Map<String, String> s3ContentMap = staticResourceUtil.getS3ContentMap();
+
+        MainPageEventStaticResponseDto.EventInfo fcfsInfo = MainPageEventStaticResponseDto.EventInfo.builder()
+                .title(textContentMap.get(StaticTextName.FCFS_TITLE.name()))
+                .content(textContentMap.get(StaticTextName.FCFS_CONTENT.name()))
+                .rewardImage1(s3ContentMap.get(S3FileName.FCFS_REWARD_IMAGE_1.name()))
+                .rewardImage2(s3ContentMap.get(S3FileName.FCFS_REWARD_IMAGE_2.name()))
+                .build();
+
+        MainPageEventStaticResponseDto.EventInfo drawInfo = MainPageEventStaticResponseDto.EventInfo.builder()
+                .title(textContentMap.get(StaticTextName.DRAW_TITLE.name()))
+                .content(textContentMap.get(StaticTextName.DRAW_CONTENT.name()))
+                .rewardImage1(s3ContentMap.get(S3FileName.DRAW_REWARD_IMAGE_1.name()))
+                .rewardImage2(s3ContentMap.get(S3FileName.DRAW_REWARD_IMAGE_2_3.name()))
+                .build();
+
+        return MainPageEventStaticResponseDto.builder()
+                .eventTitle(textContentMap.get(StaticTextName.EVENT_TITLE.name()))
+                .eventDescription(textContentMap.get(StaticTextName.EVENT_DESCRIPTION.name()))
+                .eventInfoList(Arrays.asList(fcfsInfo, drawInfo))
+                .build();
+
+    }
+
+    @Transactional(readOnly = true)
+    public MainPageEventInfoResponseDto getEventPageInfo(){
+
+        setTotalVisitorsCount();
+
+        Map<String, String> textContentMap = staticResourceUtil.getTextContentMap();
+
+        FcfsSettingDto firstFcfsSetting = fcfsSettingManager.getFcfsSettingByRound(1);
+        FcfsSettingDto secondFcfsSetting = fcfsSettingManager.getFcfsSettingByRound(2);
+
+        int totalDrawWinner = drawSettingManager.getWinnerNum1()
+                + drawSettingManager.getWinnerNum2() + drawSettingManager.getWinnerNum3();
+
+        int remainDrawCount = totalDrawWinner - (int)drawRepository.count();
+
+        return MainPageEventInfoResponseDto.builder()
+                .startDate(drawSettingManager.getStartDate().format(eventTimeFormatter))
+                .endDate(drawSettingManager.getEndDate().format(eventTimeFormatter))
+                .fcfsInfo(staticResourceUtil.format(textContentMap.get(StaticTextName.FCFS_INFO.name()),
+                        staticResourceUtil.getKoreanDayOfWeek(firstFcfsSetting.getStartTime().getDayOfWeek()),
+                        staticResourceUtil.getKoreanDayOfWeek(secondFcfsSetting.getStartTime().getDayOfWeek()),
+                        firstFcfsSetting.getStartTime().format(fcfsTimeFormatter),
+                        firstFcfsSetting.getWinnerNum()))
+                .totalDrawWinner(staticResourceUtil.format(
+                        textContentMap.get(StaticTextName.TOTAL_DRAW_WINNER.name()), decimalFormat.format(totalDrawWinner)))
+                .remainDrawCount(staticResourceUtil.format(
+                        textContentMap.get(StaticTextName.REMAIN_DRAW_COUNT.name()), decimalFormat.format(remainDrawCount)))
+                .fcfsHint(quizManager.getHint())
+                .fcfsStartTime(fcfsSettingManager.getNextFcfsTime(LocalDateTime.now()))
+                .build();
+    }
+
+    // 이벤트 기간이면 redis에 사이트 방문자 수 +1 하기
+    public void setTotalVisitorsCount(){
+
+        LocalDate now = LocalDate.now();
+
+        if (!now.isBefore(drawSettingManager.getStartDate()) && !now.isAfter(drawSettingManager.getEndDate())) {
+            eventLockRedisUtil.incrementData(RedisKeyPrefix.TOTAL_VISITORS_COUNT_PREFIX.getPrefix());
+        }
+
+    }
+
+    @Transactional(readOnly = true)
+    @Cacheable(value = "staticResources", key = "'car'")
+    public MainPageCarResponseDto getCarPage() {
+        Map<String, String> textContentMap = staticResourceUtil.getTextContentMap();
+        Map<String, String> s3ContentMap = staticResourceUtil.getS3ContentMap();
+
+        List<MainPageCarResponseDto.CarInfo> carInfoList = List.of(
+                createCarInfo(1,
+                        StaticTextName.MAIN_TITLE,
+                        StaticTextName.MAIN_SUBTITLE,
+                        S3FileName.IONIQ_VIDEO,
+                        S3FileName.MAIN_BACKGROUND_IMAGE,
+                        textContentMap,
+                        s3ContentMap),
+                createCarInfoWithDetails(2,
+                        StaticTextName.INTERIOR_TITLE,
+                        StaticTextName.INTERIOR_SUBTITLE,
+                        StaticTextName.INTERIOR_IMAGE_TITLE,
+                        StaticTextName.INTERIOR_IMAGE_CONTENT,
+                        S3FileName.INTERIOR_THUMBNAIL_IMAGE,
+                        S3FileName.INTERIOR_BACKGROUND_IMAGE,
+                        List.of(
+                                createCarDetailInfo(1,
+                                        StaticTextName.INTERIOR_OPENNESS_TITLE,
+                                        StaticTextName.INTERIOR_OPENNESS_SUBTITLE,
+                                        StaticTextName.INTERIOR_OPENNESS_CONTENT,
+                                        S3FileName.INTERIOR_OPENNESS_IMAGE,
+                                        textContentMap,
+                                        s3ContentMap),
+                                createCarDetailInfo(2,
+                                        StaticTextName.INTERIOR_WELLNESS_TITLE,
+                                        StaticTextName.INTERIOR_WELLNESS_SUBTITLE,
+                                        StaticTextName.INTERIOR_WELLNESS_CONTENT,
+                                        S3FileName.INTERIOR_WELLNESS_IMAGE,
+                                        textContentMap,
+                                        s3ContentMap)
+                        ),
+                        textContentMap,
+                        s3ContentMap
+                ),
+                createCarInfoWithDetails(3,
+                        StaticTextName.PERFORMANCE_TITLE,
+                        StaticTextName.PERFORMANCE_SUBTITLE,
+                        StaticTextName.PERFORMANCE_IMAGE_TITLE,
+                        StaticTextName.PERFORMANCE_IMAGE_CONTENT,
+                        S3FileName.PERFORMANCE_THUMBNAIL_IMAGE,
+                        S3FileName.PERFORMANCE_BACKGROUND_IMAGE,
+                        List.of(
+                                createCarDetailInfo(1,
+                                        StaticTextName.PERFORMANCE_BRAKING_TITLE,
+                                        StaticTextName.PERFORMANCE_BRAKING_SUBTITLE,
+                                        StaticTextName.PERFORMANCE_BRAKING_CONTENT,
+                                        S3FileName.PERFORMANCE_BRAKING_IMAGE,
+                                        textContentMap,
+                                        s3ContentMap),
+                                createCarDetailInfo(2,
+                                        StaticTextName.PERFORMANCE_DRIVING_TITLE,
+                                        StaticTextName.PERFORMANCE_DRIVING_SUBTITLE,
+                                        StaticTextName.PERFORMANCE_DRIVING_CONTENT,
+                                        S3FileName.PERFORMANCE_DRIVING_IMAGE,
+                                        textContentMap,
+                                        s3ContentMap)
+                        ),
+                        textContentMap,
+                        s3ContentMap
+                ),
+                createCarInfoWithDetails(4, StaticTextName.CHARGING_TITLE,
+                        StaticTextName.CHARGING_SUBTITLE,
+                        StaticTextName.CHARGING_IMAGE_TITLE,
+                        StaticTextName.CHARGING_IMAGE_CONTENT,
+                        S3FileName.CHARGING_THUMBNAIL_IMAGE,
+                        S3FileName.CHARGING_BACKGROUND_IMAGE,
+                        List.of(
+                                createCarDetailInfo(1,
+                                        StaticTextName.CHARGING_FAST_TITLE,
+                                        StaticTextName.CHARGING_FAST_SUBTITLE,
+                                        StaticTextName.CHARGING_FAST_CONTENT,
+                                        S3FileName.CHARGING_FAST_IMAGE,
+                                        textContentMap,
+                                        s3ContentMap),
+                                createCarDetailInfo(2,
+                                        StaticTextName.CHARGING_V2L_TITLE,
+                                        StaticTextName.CHARGING_V2L_SUBTITLE,
+                                        StaticTextName.CHARGING_V2L_CONTENT,
+                                        S3FileName.CHARGING_V2L_IMAGE,
+                                        textContentMap,
+                                        s3ContentMap)
+                        ),
+                        textContentMap,
+                        s3ContentMap
+                ),
+                createCarInfoWithDetails(5,
+                        StaticTextName.SAFE_TITLE,
+                        StaticTextName.SAFE_SUBTITLE,
+                        StaticTextName.SAFE_IMAGE_TITLE,
+                        StaticTextName.SAFE_IMAGE_CONTENT,
+                        S3FileName.SAFE_THUMBNAIL_IMAGE,
+                        S3FileName.SAFE_BACKGROUND_IMAGE,
+                        List.of(
+                                createCarDetailInfo(1,
+                                        StaticTextName.SAFE_DRIVING_TITLE,
+                                        StaticTextName.SAFE_DRIVING_SUBTITLE,
+                                        StaticTextName.SAFE_DRIVING_CONTENT,
+                                        S3FileName.SAFE_DRIVING_IMAGE,
+                                        textContentMap,
+                                        s3ContentMap),
+                                createCarDetailInfo(2,
+                                        StaticTextName.SAFE_ADVANCED_TITLE,
+                                        StaticTextName.SAFE_ADVANCED_SUBTITLE,
+                                        StaticTextName.SAFE_ADVANCED_CONTENT,
+                                        S3FileName.SAFE_ADVANCED_IMAGE,
+                                        textContentMap,
+                                        s3ContentMap)
+                        ),
+                        textContentMap,
+                        s3ContentMap
+                )
+        );
+
+        return MainPageCarResponseDto.builder()
+                .carInfoList(carInfoList)
+                .build();
+    }
+
+    private MainPageCarResponseDto.CarInfo createCarInfo(int id,
+                                                         StaticTextName titleKey,
+                                                         StaticTextName subTitleKey,
+                                                         S3FileName imgUrlKey,
+                                                         S3FileName backgroundImgUrlKey,
+                                                         Map<String, String> textContentMap,
+                                                         Map<String, String> s3ContentMap) {
+        return MainPageCarResponseDto.CarInfo.builder()
+                .id(id)
+                .title(textContentMap.get(titleKey.name()))
+                .subTitle(textContentMap.get(subTitleKey.name()))
+                .imgUrl(s3ContentMap.get(imgUrlKey.name()))
+                .backgroundImgUrl(s3ContentMap.get(backgroundImgUrlKey.name()))
+                .build();
+    }
+
+    private MainPageCarResponseDto.CarDetailInfo createCarDetailInfo(int id,
+                                                                     StaticTextName titleKey,
+                                                                     StaticTextName subTitleKey,
+                                                                     StaticTextName contentKey,
+                                                                     S3FileName imgUrlKey,
+                                                                     Map<String, String> textContentMap,
+                                                                     Map<String, String> s3ContentMap) {
+        return MainPageCarResponseDto.CarDetailInfo.builder()
+                .id(id)
+                .title(textContentMap.get(titleKey.name()))
+                .subTitle(textContentMap.get(subTitleKey.name()))
+                .content(textContentMap.get(contentKey.name()))
+                .imgUrl(s3ContentMap.get(imgUrlKey.name()))
+                .build();
+    }
+
+    private MainPageCarResponseDto.CarInfo createCarInfoWithDetails(int id,
+                                                                    StaticTextName titleKey,
+                                                                    StaticTextName subTitleKey,
+                                                                    StaticTextName imgTitleKey,
+                                                                    StaticTextName imgContentKey,
+                                                                    S3FileName imgUrlKey,
+                                                                    S3FileName backgroundImgUrlKey,
+                                                                    List<MainPageCarResponseDto.CarDetailInfo> carDetailInfoList,
+                                                                    Map<String, String> textContentMap,
+                                                                    Map<String, String> s3ContentMap) {
+        return MainPageCarResponseDto.CarInfo.builder()
+                .id(id)
+                .title(textContentMap.get(titleKey.name()))
+                .subTitle(textContentMap.get(subTitleKey.name()))
+                .imgTitle(textContentMap.get(imgTitleKey.name()))
+                .imgContent(textContentMap.get(imgContentKey.name()))
+                .imgUrl(s3ContentMap.get(imgUrlKey.name()))
+                .backgroundImgUrl(s3ContentMap.get(backgroundImgUrlKey.name()))
+                .carDetailInfoList(carDetailInfoList)
+                .build();
+    }
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.service/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.service/index.html new file mode 100644 index 00000000..66039df0 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.service/index.html @@ -0,0 +1 @@ +com.softeer.backend.fo_domain.mainpage.service

com.softeer.backend.fo_domain.mainpage.service

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total500 of 5000%4 of 40%101093938811
MainPageService5000%40%101093938811
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.service/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.service/index.source.html new file mode 100644 index 00000000..12cff694 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.service/index.source.html @@ -0,0 +1 @@ +com.softeer.backend.fo_domain.mainpage.service

com.softeer.backend.fo_domain.mainpage.service

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total500 of 5000%4 of 40%101093938811
MainPageService.java5000%40%101093938811
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.controller/ShareController.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.controller/ShareController.html new file mode 100644 index 00000000..fb584b38 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.controller/ShareController.html @@ -0,0 +1 @@ +ShareController

ShareController

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total38 of 380%0 of 0n/a229922
redirectWithShareUrl(String, HttpServletRequest, HttpServletResponse)320%n/a118811
getShortenShareUrl(Integer)60%n/a111111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.controller/ShareController.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.controller/ShareController.java.html new file mode 100644 index 00000000..b84a90e6 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.controller/ShareController.java.html @@ -0,0 +1,45 @@ +ShareController.java

ShareController.java

package com.softeer.backend.fo_domain.share.controller;
+
+import com.softeer.backend.fo_domain.share.dto.ShareUrlInfoResponseDto;
+import com.softeer.backend.fo_domain.share.service.ShareUrlInfoService;
+import com.softeer.backend.global.annotation.AuthInfo;
+import com.softeer.backend.global.common.response.ResponseDto;
+import io.swagger.v3.oas.annotations.Parameter;
+import jakarta.servlet.http.Cookie;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpSession;
+import lombok.RequiredArgsConstructor;
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequiredArgsConstructor
+public class ShareController {
+    private final ShareUrlInfoService shareUrlInfoService;
+
+    @GetMapping("/share-shorten-url")
+    public ResponseDto<ShareUrlInfoResponseDto> getShortenShareUrl(@Parameter(hidden = true) @AuthInfo Integer userId) {
+        return ResponseDto.onSuccess(shareUrlInfoService.getShortenShareUrl(userId));
+    }
+
+    @GetMapping("/share/{shareUrl}")
+    public ResponseEntity<Void> redirectWithShareUrl(@PathVariable String shareUrl, HttpServletRequest request, HttpServletResponse response) {
+        // session을 이용해 공유 url 저장
+        Cookie shareCodeCookie = new Cookie("shareCode", shareUrl);
+        shareCodeCookie.setPath("/");
+        shareCodeCookie.setHttpOnly(false); // HttpOnly 속성을 비활성화
+        shareCodeCookie.setDomain("softeer.site"); // 도메인 설정. 이렇게 해서 softeer.site 포함 하위 모든 도메인에서 해당 쿠키 사용 가능
+        response.addCookie(shareCodeCookie);
+
+        // 헤더를 이용해 redirect
+        HttpHeaders headers = new HttpHeaders();
+        headers.add("Location", "https://softeer.site");
+        return new ResponseEntity<>(headers, HttpStatus.FOUND); // HTTP 302 Found 응답
+    }
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.controller/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.controller/index.html new file mode 100644 index 00000000..e360c138 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.controller/index.html @@ -0,0 +1 @@ +com.softeer.backend.fo_domain.share.controller

com.softeer.backend.fo_domain.share.controller

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total38 of 380%0 of 0n/a22992211
ShareController380%n/a22992211
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.controller/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.controller/index.source.html new file mode 100644 index 00000000..ce3d183a --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.controller/index.source.html @@ -0,0 +1 @@ +com.softeer.backend.fo_domain.share.controller

com.softeer.backend.fo_domain.share.controller

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total38 of 380%0 of 0n/a22992211
ShareController.java380%n/a22992211
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.domain/ShareInfo.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.domain/ShareInfo.html new file mode 100644 index 00000000..b7a81f79 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.domain/ShareInfo.html @@ -0,0 +1 @@ +ShareInfo

ShareInfo

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total0 of 13100%0 of 0n/a010501
ShareInfo(Integer, Integer, Integer)13100%n/a010501
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.domain/ShareInfo.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.domain/ShareInfo.java.html new file mode 100644 index 00000000..2716b738 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.domain/ShareInfo.java.html @@ -0,0 +1,33 @@ +ShareInfo.java

ShareInfo.java

package com.softeer.backend.fo_domain.share.domain;
+
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Id;
+import jakarta.persistence.Table;
+import lombok.Builder;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+
+@Getter
+@Entity
+@NoArgsConstructor
+@Table(name = "share_info")
+public class ShareInfo {
+    @Id
+    @Column(name = "user_id")
+    private int userId;
+
+    @Column(name = "invited_num")
+    private Integer invitedNum;
+
+    @Column(name = "remain_draw_count")
+    private Integer remainDrawCount;
+
+    @Builder
+    public ShareInfo(Integer userId, Integer invitedNum, Integer remainDrawCount) {
+        this.userId = userId;
+        this.invitedNum = invitedNum;
+        this.remainDrawCount = remainDrawCount;
+    }
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.domain/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.domain/index.html new file mode 100644 index 00000000..55cfde6a --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.domain/index.html @@ -0,0 +1 @@ +com.softeer.backend.fo_domain.share.domain

com.softeer.backend.fo_domain.share.domain

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total0 of 13100%0 of 0n/a01050101
ShareInfo13100%n/a01050101
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.domain/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.domain/index.source.html new file mode 100644 index 00000000..fdfde95f --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.domain/index.source.html @@ -0,0 +1 @@ +com.softeer.backend.fo_domain.share.domain

com.softeer.backend.fo_domain.share.domain

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total0 of 13100%0 of 0n/a01050101
ShareInfo.java13100%n/a01050101
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/ShareInfoException.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/ShareInfoException.html new file mode 100644 index 00000000..cf1329f7 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/ShareInfoException.html @@ -0,0 +1 @@ +ShareInfoException

ShareInfoException

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total4 of 40%0 of 0n/a112211
ShareInfoException(BaseErrorCode)40%n/a112211
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/ShareInfoException.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/ShareInfoException.java.html new file mode 100644 index 00000000..c1a9fbe1 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/ShareInfoException.java.html @@ -0,0 +1,12 @@ +ShareInfoException.java

ShareInfoException.java

package com.softeer.backend.fo_domain.share.exception;
+
+import com.softeer.backend.global.common.code.BaseErrorCode;
+import com.softeer.backend.global.common.exception.GeneralException;
+
+
+public class ShareInfoException extends GeneralException {
+    public ShareInfoException(BaseErrorCode code) {
+        super(code);
+    }
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/ShareUrlInfoException.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/ShareUrlInfoException.html new file mode 100644 index 00000000..7b58b031 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/ShareUrlInfoException.html @@ -0,0 +1 @@ +ShareUrlInfoException

ShareUrlInfoException

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total4 of 40%0 of 0n/a112211
ShareUrlInfoException(BaseErrorCode)40%n/a112211
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/ShareUrlInfoException.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/ShareUrlInfoException.java.html new file mode 100644 index 00000000..1cf4c329 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/ShareUrlInfoException.java.html @@ -0,0 +1,11 @@ +ShareUrlInfoException.java

ShareUrlInfoException.java

package com.softeer.backend.fo_domain.share.exception;
+
+import com.softeer.backend.global.common.code.BaseErrorCode;
+import com.softeer.backend.global.common.exception.GeneralException;
+
+public class ShareUrlInfoException extends GeneralException {
+    public ShareUrlInfoException(BaseErrorCode code) {
+        super(code);
+    }
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/index.html new file mode 100644 index 00000000..500beffc --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/index.html @@ -0,0 +1 @@ +com.softeer.backend.fo_domain.share.exception

com.softeer.backend.fo_domain.share.exception

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total8 of 80%0 of 0n/a22442222
ShareInfoException40%n/a11221111
ShareUrlInfoException40%n/a11221111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/index.source.html new file mode 100644 index 00000000..dc0487fe --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/index.source.html @@ -0,0 +1 @@ +com.softeer.backend.fo_domain.share.exception

com.softeer.backend.fo_domain.share.exception

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total8 of 80%0 of 0n/a22442222
ShareInfoException.java40%n/a11221111
ShareUrlInfoException.java40%n/a11221111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.service/ShareUrlInfoService.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.service/ShareUrlInfoService.html new file mode 100644 index 00000000..eaa66353 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.service/ShareUrlInfoService.html @@ -0,0 +1 @@ +ShareUrlInfoService

ShareUrlInfoService

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total26 of 260%2 of 20%339922
getShortenShareUrl(Integer)210%20%228811
lambda$getShortenShareUrl$0()50%n/a111111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.service/ShareUrlInfoService.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.service/ShareUrlInfoService.java.html new file mode 100644 index 00000000..28614087 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.service/ShareUrlInfoService.java.html @@ -0,0 +1,37 @@ +ShareUrlInfoService.java

ShareUrlInfoService.java

package com.softeer.backend.fo_domain.share.service;
+
+import com.softeer.backend.fo_domain.share.dto.ShareUrlInfoResponseDto;
+import com.softeer.backend.fo_domain.share.exception.ShareInfoException;
+import com.softeer.backend.fo_domain.share.repository.ShareUrlInfoRepository;
+import com.softeer.backend.global.common.code.status.ErrorStatus;
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Service;
+
+@Service
+@RequiredArgsConstructor
+public class ShareUrlInfoService {
+    public static final String NON_USER_SHARE_URL = "https://softeer.site";
+    public static final String BASE_URL = "https://softeer.site/share/";
+
+    private final ShareUrlInfoRepository shareUrlInfoRepository;
+
+    public ShareUrlInfoResponseDto getShortenShareUrl(Integer userId) {
+        if (userId == null) {
+            // 로그인하지 않은 사용자
+            return ShareUrlInfoResponseDto.builder()
+                    .shareUrl(NON_USER_SHARE_URL)
+                    .build();
+        } else {
+            // 로그인한 사용자
+            String shareCode = shareUrlInfoRepository.findShareUrlByUserId(userId).orElseThrow(
+                    () -> new ShareInfoException(ErrorStatus._NOT_FOUND)
+            );
+
+            // DB에 이미 생성된 단축 url 코드 반환
+            return ShareUrlInfoResponseDto.builder()
+                    .shareUrl(BASE_URL + shareCode)
+                    .build();
+        }
+    }
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.service/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.service/index.html new file mode 100644 index 00000000..f7cac8e9 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.service/index.html @@ -0,0 +1 @@ +com.softeer.backend.fo_domain.share.service

com.softeer.backend.fo_domain.share.service

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total26 of 260%2 of 20%33992211
ShareUrlInfoService260%20%33992211
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.service/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.service/index.source.html new file mode 100644 index 00000000..f799b1cd --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.service/index.source.html @@ -0,0 +1 @@ +com.softeer.backend.fo_domain.share.service

com.softeer.backend.fo_domain.share.service

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total26 of 260%2 of 20%33992211
ShareUrlInfoService.java260%20%33992211
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/RedisVerificationPrefix.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/RedisVerificationPrefix.html new file mode 100644 index 00000000..12d8342d --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/RedisVerificationPrefix.html @@ -0,0 +1 @@ +RedisVerificationPrefix

RedisVerificationPrefix

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total32 of 320%0 of 0n/a227722
static {...}240%n/a114411
RedisVerificationPrefix(String, int, String)80%n/a113311
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/RedisVerificationPrefix.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/RedisVerificationPrefix.java.html new file mode 100644 index 00000000..b26c3c80 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/RedisVerificationPrefix.java.html @@ -0,0 +1,17 @@ +RedisVerificationPrefix.java

RedisVerificationPrefix.java

package com.softeer.backend.fo_domain.user.constatnt;
+
+import lombok.Getter;
+
+@Getter
+public enum RedisVerificationPrefix {
+    VERIFICATION_CODE("VERIFICATION_CODE:"), // 인증코드의 Redis key prefix
+    VERIFICATION_ISSUE_COUNT("VERIFICATION_ISSUE_COUNT:"), // 인증코드 발급 횟수의 Redis key prefix
+    VERIFICATION_ATTEMPTS("VERIFICATION_ATTEMPTS:"); // 인증코드 시도 횟수의 Redis key prefix
+
+    private final String prefix;
+
+    RedisVerificationPrefix(String prefix) {
+        this.prefix = prefix;
+    }
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/VerificationProperty.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/VerificationProperty.html new file mode 100644 index 00000000..bfac80d4 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/VerificationProperty.html @@ -0,0 +1 @@ +VerificationProperty

VerificationProperty

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total42 of 420%0 of 0n/a228822
static {...}340%n/a115511
VerificationProperty(String, int, int)80%n/a113311
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/VerificationProperty.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/VerificationProperty.java.html new file mode 100644 index 00000000..24881b4c --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/VerificationProperty.java.html @@ -0,0 +1,21 @@ +VerificationProperty.java

VerificationProperty.java

package com.softeer.backend.fo_domain.user.constatnt;
+
+import lombok.Getter;
+import lombok.extern.slf4j.Slf4j;
+
+@Slf4j
+@Getter
+public enum VerificationProperty {
+    TIME_LIMIT(300), // 인증코드 유효시간(단위: sec)
+    CODE_LENGTH(6), // 인증코드의 길이
+    MAX_ATTEMPTS(3), // 인증코드의 인증 제한 횟수
+    CODE_ISSUE_ATTEMPTS(5); // 인증코드 발급 제한 횟수
+
+    private final int value;
+
+    VerificationProperty(int value) {
+        this.value = value;
+    }
+
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/index.html new file mode 100644 index 00000000..8f6afdf2 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/index.html @@ -0,0 +1 @@ +com.softeer.backend.fo_domain.user.constatnt

com.softeer.backend.fo_domain.user.constatnt

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total74 of 740%0 of 0n/a4415154422
VerificationProperty420%n/a22882211
RedisVerificationPrefix320%n/a22772211
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/index.source.html new file mode 100644 index 00000000..1f135248 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/index.source.html @@ -0,0 +1 @@ +com.softeer.backend.fo_domain.user.constatnt

com.softeer.backend.fo_domain.user.constatnt

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total74 of 740%0 of 0n/a4415154422
VerificationProperty.java420%n/a22882211
RedisVerificationPrefix.java320%n/a22772211
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/LoginController.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/LoginController.html new file mode 100644 index 00000000..cae4d81f --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/LoginController.html @@ -0,0 +1 @@ +LoginController

LoginController

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total9 of 90%0 of 0n/a112211
handleLogin(LoginRequestDto, String)90%n/a112211
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/LoginController.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/LoginController.java.html new file mode 100644 index 00000000..88dd481a --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/LoginController.java.html @@ -0,0 +1,26 @@ +LoginController.java

LoginController.java

package com.softeer.backend.fo_domain.user.controller;
+
+import com.softeer.backend.fo_domain.user.dto.LoginRequestDto;
+import com.softeer.backend.global.common.dto.JwtTokenResponseDto;
+import com.softeer.backend.fo_domain.user.service.LoginService;
+import com.softeer.backend.global.common.response.ResponseDto;
+import jakarta.validation.Valid;
+import lombok.RequiredArgsConstructor;
+import org.springframework.web.bind.annotation.*;
+
+@RestController
+@RequiredArgsConstructor
+public class LoginController {
+
+    private final LoginService loginService;
+
+    @PostMapping("/login")
+    ResponseDto<JwtTokenResponseDto> handleLogin(@Valid @RequestBody LoginRequestDto loginRequestDto,
+                                                 @RequestHeader(value = "shareCode", required = false) String shareCode) {
+        JwtTokenResponseDto jwtTokenResponseDto = loginService.handleLogin(loginRequestDto, shareCode);
+
+        return ResponseDto.onSuccess(jwtTokenResponseDto);
+    }
+
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/VerificationController.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/VerificationController.html new file mode 100644 index 00000000..d3546cef --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/VerificationController.html @@ -0,0 +1 @@ +VerificationController

VerificationController

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total27 of 270%0 of 0n/a336633
sendVerificationCode(VerificationCodeRequestDto)90%n/a112211
sendVerificationCodeTest(VerificationCodeRequestDto)90%n/a112211
confirmVerificationCode(ConfirmCodeRequestDto)90%n/a112211
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/VerificationController.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/VerificationController.java.html new file mode 100644 index 00000000..0ee526c4 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/VerificationController.java.html @@ -0,0 +1,48 @@ +VerificationController.java

VerificationController.java

package com.softeer.backend.fo_domain.user.controller;
+
+import com.softeer.backend.fo_domain.user.dto.verification.ConfirmCodeRequestDto;
+import com.softeer.backend.fo_domain.user.dto.verification.VerificationCodeRequestDto;
+import com.softeer.backend.fo_domain.user.dto.verification.VerificationCodeResponseDto;
+import com.softeer.backend.fo_domain.user.dto.verification.VerificationCodeTestResponseDto;
+import com.softeer.backend.fo_domain.user.service.VerificationService;
+import com.softeer.backend.global.common.response.ResponseDto;
+import jakarta.validation.Valid;
+import lombok.RequiredArgsConstructor;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequiredArgsConstructor
+@RequestMapping("/verification")
+public class VerificationController {
+    private final VerificationService verificationService;
+
+    @PostMapping("/send")
+    public ResponseDto<VerificationCodeResponseDto> sendVerificationCode(@Valid @RequestBody VerificationCodeRequestDto verificationCodeRequestDto) {
+
+        VerificationCodeResponseDto response = verificationService.sendVerificationCode(verificationCodeRequestDto.getPhoneNumber());
+
+        return ResponseDto.onSuccess(response);
+
+    }
+
+    @PostMapping("/send/test")
+    public ResponseDto<VerificationCodeTestResponseDto> sendVerificationCodeTest(@Valid @RequestBody VerificationCodeRequestDto verificationCodeRequestDto) {
+
+        VerificationCodeTestResponseDto response = verificationService.sendVerificationCodeTest(verificationCodeRequestDto.getPhoneNumber());
+
+        return ResponseDto.onSuccess(response);
+
+    }
+
+    @PostMapping("/confirm")
+    public ResponseDto<Void> confirmVerificationCode(@Valid @RequestBody ConfirmCodeRequestDto confirmCodeRequestDto) {
+
+        verificationService.confirmVerificationCode(confirmCodeRequestDto.getPhoneNumber(), confirmCodeRequestDto.getVerificationCode());
+
+        return ResponseDto.onSuccess();
+    }
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/index.html new file mode 100644 index 00000000..86c06551 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/index.html @@ -0,0 +1 @@ +com.softeer.backend.fo_domain.user.controller

com.softeer.backend.fo_domain.user.controller

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total36 of 360%0 of 0n/a44884422
VerificationController270%n/a33663311
LoginController90%n/a11221111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/index.source.html new file mode 100644 index 00000000..6907c074 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/index.source.html @@ -0,0 +1 @@ +com.softeer.backend.fo_domain.user.controller

com.softeer.backend.fo_domain.user.controller

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total36 of 360%0 of 0n/a44884422
VerificationController.java270%n/a33663311
LoginController.java90%n/a11221111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.exception/UserException.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.exception/UserException.html new file mode 100644 index 00000000..4a6c72c1 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.exception/UserException.html @@ -0,0 +1 @@ +UserException

UserException

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total4 of 40%0 of 0n/a112211
UserException(BaseErrorCode)40%n/a112211
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.exception/UserException.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.exception/UserException.java.html new file mode 100644 index 00000000..e2731eaa --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.exception/UserException.java.html @@ -0,0 +1,12 @@ +UserException.java

UserException.java

package com.softeer.backend.fo_domain.user.exception;
+
+import com.softeer.backend.global.common.code.BaseErrorCode;
+import com.softeer.backend.global.common.exception.GeneralException;
+
+public class UserException extends GeneralException {
+
+    public UserException(BaseErrorCode code) {
+        super(code);
+    }
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.exception/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.exception/index.html new file mode 100644 index 00000000..7842f078 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.exception/index.html @@ -0,0 +1 @@ +com.softeer.backend.fo_domain.user.exception

com.softeer.backend.fo_domain.user.exception

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total4 of 40%0 of 0n/a11221111
UserException40%n/a11221111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.exception/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.exception/index.source.html new file mode 100644 index 00000000..7c2fe46b --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.exception/index.source.html @@ -0,0 +1 @@ +com.softeer.backend.fo_domain.user.exception

com.softeer.backend.fo_domain.user.exception

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total4 of 40%0 of 0n/a11221111
UserException.java40%n/a11221111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.properties/SmsProperties.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.properties/SmsProperties.html new file mode 100644 index 00000000..56ec2bea --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.properties/SmsProperties.html @@ -0,0 +1 @@ +SmsProperties

SmsProperties

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total15 of 150%0 of 0n/a116611
SmsProperties(String, String, String, String)150%n/a116611
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.properties/SmsProperties.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.properties/SmsProperties.java.html new file mode 100644 index 00000000..a6b61138 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.properties/SmsProperties.java.html @@ -0,0 +1,26 @@ +SmsProperties.java

SmsProperties.java

package com.softeer.backend.fo_domain.user.properties;
+
+import lombok.Getter;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.boot.context.properties.bind.ConstructorBinding;
+
+/**
+ * CoolSms Api 속성 관리 클래스
+ */
+@Getter
+@ConfigurationProperties("coolsms.api")
+public class SmsProperties {
+    private final String key;
+    private final String secret;
+    private final String senderNumber;
+    private final String url;
+
+    @ConstructorBinding
+    public SmsProperties(String key, String secret, String senderNumber, String url) {
+        this.key = key;
+        this.secret = secret;
+        this.senderNumber = senderNumber;
+        this.url = url;
+    }
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.properties/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.properties/index.html new file mode 100644 index 00000000..b1bf7467 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.properties/index.html @@ -0,0 +1 @@ +com.softeer.backend.fo_domain.user.properties

com.softeer.backend.fo_domain.user.properties

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total15 of 150%0 of 0n/a11661111
SmsProperties150%n/a11661111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.properties/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.properties/index.source.html new file mode 100644 index 00000000..7e88c385 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.properties/index.source.html @@ -0,0 +1 @@ +com.softeer.backend.fo_domain.user.properties

com.softeer.backend.fo_domain.user.properties

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total15 of 150%0 of 0n/a11661111
SmsProperties.java150%n/a11661111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/LoginService.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/LoginService.html new file mode 100644 index 00000000..b3a44c03 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/LoginService.html @@ -0,0 +1 @@ +LoginService

LoginService

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total181 of 1810%10 of 100%1111545466
handleLogin(LoginRequestDto, String)1080%80%55292911
createShareUrlInfo(Integer)270%20%229911
createDrawParticipationInfo(Integer)200%n/a118811
createShareInfo(Integer)170%n/a117711
lambda$handleLogin$0()50%n/a111111
static {...}40%n/a111111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/LoginService.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/LoginService.java.html new file mode 100644 index 00000000..f6e35196 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/LoginService.java.html @@ -0,0 +1,143 @@ +LoginService.java

LoginService.java

package com.softeer.backend.fo_domain.user.service;
+
+import com.softeer.backend.fo_domain.draw.domain.DrawParticipationInfo;
+import com.softeer.backend.fo_domain.draw.repository.DrawParticipationInfoRepository;
+import com.softeer.backend.fo_domain.share.domain.ShareInfo;
+import com.softeer.backend.fo_domain.share.domain.ShareUrlInfo;
+import com.softeer.backend.fo_domain.share.exception.ShareUrlInfoException;
+import com.softeer.backend.fo_domain.share.repository.ShareInfoRepository;
+import com.softeer.backend.fo_domain.share.repository.ShareUrlInfoRepository;
+import com.softeer.backend.fo_domain.user.domain.User;
+import com.softeer.backend.fo_domain.user.dto.LoginRequestDto;
+import com.softeer.backend.global.common.dto.JwtTokenResponseDto;
+import com.softeer.backend.fo_domain.user.exception.UserException;
+import com.softeer.backend.fo_domain.user.repository.UserRepository;
+import com.softeer.backend.global.common.code.status.ErrorStatus;
+import com.softeer.backend.global.common.constant.RoleType;
+import com.softeer.backend.global.common.dto.JwtClaimsDto;
+import com.softeer.backend.global.util.JwtUtil;
+import com.softeer.backend.global.util.RandomCodeUtil;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+@Slf4j
+@Service
+@RequiredArgsConstructor
+public class LoginService {
+    private final UserRepository userRepository;
+    private final ShareInfoRepository shareInfoRepository;
+    private final ShareUrlInfoRepository shareUrlInfoRepository;
+    private final DrawParticipationInfoRepository drawParticipationInfoRepository;
+    private final JwtUtil jwtUtil;
+
+    /**
+     * 1. Login 정보애서 인증 번호가 인증되지 않은 경우, 예외가 발생한다.
+     * 2. 전화번호가 User DB에 등록되어 있지 않은 경우, DB에 User를 등록한다.
+     * 2-1. 이 때 공유 정보, 공유 url 생성, 추첨 이벤트 참여 정보를 생성한다.
+     * 2-2. 만약 공유 url을 통해 인증한 사용자라면 공유한 사용자의 추첨 기회를 추가해준다.
+     * 3. 전화번호가 이미 User DB에 등록되어 있는 경우, 전화번호로 User 객체를 조회한다.
+     * 4. User 객체의 id를 얻은 후에, access & refresh token을 client에게 전달한다.
+     */
+    @Transactional
+    public JwtTokenResponseDto handleLogin(LoginRequestDto loginRequestDto, String shareCode) {
+        // 인증번호가 인증 되지 않은 경우, 예외 발생
+        if (!loginRequestDto.getHasCodeVerified()) {
+            log.error("hasCodeVerified is false in loginRequest.");
+            throw new UserException(ErrorStatus._AUTH_CODE_NOT_VERIFIED);
+        }
+
+        int userId;
+
+        // 전화번호가 User DB에 등록되어 있지 않은 경우
+        // User를 DB에 등록
+        // 추첨 이벤트 참여 정보 생성
+        // 공유 정보 생성(초대한 친구 수, 남은 추첨 횟수)
+        // 공유 url 생성
+        // 만약 공유 url을 통해 새로 인증한 사용자라면 공유자에게 추첨 기회 1회 추가
+        if (!userRepository.existsByPhoneNumber(loginRequestDto.getPhoneNumber())) {
+            User user = User.builder()
+                    .name(loginRequestDto.getName())
+                    .phoneNumber(loginRequestDto.getPhoneNumber())
+                    .privacyConsent(loginRequestDto.getPrivacyConsent())
+                    .marketingConsent(loginRequestDto.getMarketingConsent())
+                    .build();
+
+            User registeredUser = userRepository.save(user);
+            userId = registeredUser.getId();
+
+            createDrawParticipationInfo(userId); // 추첨 이벤트 참여 정보 생성
+            createShareInfo(userId); // 공유 정보 생성(초대한 친구 수, 남은 추첨 횟수)
+            createShareUrlInfo(userId); // 공유 url 생성
+
+            // 공유받은 url을 이용해 인증한다면
+            // 공유한 사람 추첨 기회 추가
+            // 공유한 사람의 "내가 초대한 친구 수" 추가
+            // 공유받은 사람은 이미 공유 url로 참여했다고 표시해주기
+            if (shareCode != null) {
+                // 공유한 사람의 아이디
+                Integer shareUserId = shareUrlInfoRepository.findUserIdByShareUrl(shareCode)
+                        .orElseThrow(() -> new ShareUrlInfoException(ErrorStatus._NOT_FOUND));
+
+                // 공유한 사람 추첨 기회 추가
+                shareInfoRepository.increaseInvitedNumAndRemainDrawCount(shareUserId);
+            }
+        }
+        // 전화번호가 이미 User DB에 등록되어 있는 경우
+        // 전화번호로 User 객체 조회
+        else {
+            User user = userRepository.findByPhoneNumber(loginRequestDto.getPhoneNumber());
+
+            if(!user.getName().equals(loginRequestDto.getName()))
+                throw new UserException(ErrorStatus._AUTH_USERNAME_NOT_MATCH);
+
+            user.setMarketingConsent(loginRequestDto.getMarketingConsent());
+
+            userId = user.getId();
+        }
+
+        return jwtUtil.createServiceToken(JwtClaimsDto.builder()
+                .id(userId)
+                .roleType(RoleType.ROLE_USER)
+                .build());
+    }
+
+    private void createShareInfo(Integer userId) {
+        ShareInfo shareInfo = ShareInfo.builder()
+                .userId(userId)
+                .invitedNum(0)
+                .remainDrawCount(1)
+                .build();
+
+        shareInfoRepository.save(shareInfo);
+    }
+
+    private void createShareUrlInfo(Integer userId) {
+        RandomCodeUtil randomCodeUtil = new RandomCodeUtil();
+        String shareCode;
+
+        do {
+            shareCode = randomCodeUtil.generateRandomCode(4);
+        } while (shareUrlInfoRepository.findUserIdByShareUrl(shareCode).isPresent());
+
+        ShareUrlInfo shareUrlInfo = ShareUrlInfo.builder()
+                .userId(userId)
+                .shareUrl(shareCode)
+                .build();
+
+        shareUrlInfoRepository.save(shareUrlInfo);
+    }
+
+    private void createDrawParticipationInfo(Integer userId) {
+        DrawParticipationInfo drawParticipationInfo = DrawParticipationInfo.builder()
+                .userId(userId)
+                .drawWinningCount(0)
+                .drawLosingCount(0)
+                .drawAttendanceCount(1)
+                .build();
+
+        drawParticipationInfoRepository.save(drawParticipationInfo);
+    }
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/VerificationService.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/VerificationService.html new file mode 100644 index 00000000..31fcf5fd --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/VerificationService.html @@ -0,0 +1 @@ +VerificationService

VerificationService

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total304 of 3040%16 of 160%1313646455
sendVerificationCode(String)1040%40%33212111
confirmVerificationCode(String, String)970%80%55191911
sendVerificationCodeTest(String)770%40%33161611
VerificationService(SmsProperties, StringRedisUtil, RandomCodeUtil)220%n/a117711
static {...}40%n/a111111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/VerificationService.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/VerificationService.java.html new file mode 100644 index 00000000..d239094f --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/VerificationService.java.html @@ -0,0 +1,158 @@ +VerificationService.java

VerificationService.java

package com.softeer.backend.fo_domain.user.service;
+
+import com.softeer.backend.fo_domain.user.constatnt.RedisVerificationPrefix;
+import com.softeer.backend.fo_domain.user.constatnt.VerificationProperty;
+import com.softeer.backend.fo_domain.user.dto.verification.VerificationCodeResponseDto;
+import com.softeer.backend.fo_domain.user.dto.verification.VerificationCodeTestResponseDto;
+import com.softeer.backend.fo_domain.user.exception.UserException;
+import com.softeer.backend.fo_domain.user.properties.SmsProperties;
+import com.softeer.backend.global.common.code.status.ErrorStatus;
+import com.softeer.backend.global.util.RandomCodeUtil;
+import com.softeer.backend.global.util.StringRedisUtil;
+import lombok.extern.slf4j.Slf4j;
+import net.nurigo.sdk.NurigoApp;
+import net.nurigo.sdk.message.model.Message;
+import net.nurigo.sdk.message.request.SingleMessageSendingRequest;
+import net.nurigo.sdk.message.response.SingleMessageSentResponse;
+import net.nurigo.sdk.message.service.DefaultMessageService;
+import org.springframework.stereotype.Service;
+
+import java.time.LocalDateTime;
+
+@Slf4j
+@Service
+public class VerificationService {
+    private final DefaultMessageService messageService;
+    private final StringRedisUtil stringRedisUtil;
+    private final SmsProperties smsProperties;
+    private final RandomCodeUtil randomCodeUtil;
+
+    public VerificationService(SmsProperties smsProperties, StringRedisUtil stringRedisUtil,
+                               RandomCodeUtil randomCodeUtil) {
+        this.messageService = NurigoApp.INSTANCE.initialize(
+                smsProperties.getKey(), smsProperties.getSecret(), smsProperties.getUrl());
+        this.smsProperties = smsProperties;
+        this.stringRedisUtil = stringRedisUtil;
+        this.randomCodeUtil = randomCodeUtil;
+    }
+
+    /**
+     * 1. CoolSms를 사용하여 인증코드를 발급하고 인증 제한시간을 응답에 담아 반환한다.
+     * 2. 인증 코드 발급 제한 횟수를 초과하면 내일 다시 인증하라는 응답을 전송한다.
+     */
+    public VerificationCodeResponseDto sendVerificationCode(String phoneNumber) {
+
+        // 인증코드 발급이 처음이면 redis에 발급 횟수를 저장(유효 기간: 밤 12시 전까지)
+        if (!stringRedisUtil.hasKey(RedisVerificationPrefix.VERIFICATION_ISSUE_COUNT.getPrefix() + phoneNumber)) {
+            stringRedisUtil.setDataExpireAt(RedisVerificationPrefix.VERIFICATION_ISSUE_COUNT.getPrefix() + phoneNumber,
+                    String.valueOf(1), LocalDateTime.now().toLocalDate().atStartOfDay().plusDays(1));
+
+        }
+        // 인증코드 발급 제한 횟수를 초과하면 예외 발생
+        else {
+            long issueCount = stringRedisUtil.incrementData(RedisVerificationPrefix.VERIFICATION_ISSUE_COUNT.getPrefix() + phoneNumber);
+            if (issueCount > VerificationProperty.CODE_ISSUE_ATTEMPTS.getValue()) {
+                log.error("Exceeded the number of code issuance attempts.");
+                throw new UserException(ErrorStatus._AUTH_CODE_ISSUE_LIMIT_EXCEEDED);
+            }
+        }
+
+        // 인증코드의 인증 횟수 삭제 (초기화 기능)
+        stringRedisUtil.deleteData(RedisVerificationPrefix.VERIFICATION_ATTEMPTS.getPrefix() + phoneNumber);
+
+        Message message = new Message();
+        message.setFrom(smsProperties.getSenderNumber());
+        message.setTo(phoneNumber);
+
+        String verificationCode = randomCodeUtil.generateRandomCode(
+                VerificationProperty.CODE_LENGTH.getValue());
+        message.setText("[Hyundai] 본인 확인 인증번호는 (" + verificationCode + ") 입니다.");
+
+        SingleMessageSentResponse response = this.messageService.sendOne(new SingleMessageSendingRequest(message));
+        log.info("Verification code sent to {} {}", phoneNumber, response);
+
+        // 인증코드 저장(유효시간 설정)
+        stringRedisUtil.setDataExpire(RedisVerificationPrefix.VERIFICATION_CODE.getPrefix() + phoneNumber, verificationCode,
+                VerificationProperty.TIME_LIMIT.getValue());
+
+        return VerificationCodeResponseDto.builder()
+                .timeLimit(VerificationProperty.TIME_LIMIT.getValue())
+                .build();
+    }
+
+    public VerificationCodeTestResponseDto sendVerificationCodeTest(String phoneNumber) {
+
+        // 인증코드 발급이 처음이면 redis에 발급 횟수를 저장(유효 기간: 밤 12시 전까지)
+        if (!stringRedisUtil.hasKey(RedisVerificationPrefix.VERIFICATION_ISSUE_COUNT.getPrefix() + phoneNumber)) {
+            stringRedisUtil.setDataExpireAt(RedisVerificationPrefix.VERIFICATION_ISSUE_COUNT.getPrefix() + phoneNumber,
+                    String.valueOf(1), LocalDateTime.now().toLocalDate().atStartOfDay().plusDays(1));
+
+        }
+        // 인증코드 발급 제한 횟수를 초과하면 예외 발생
+        else {
+            long issueCount = stringRedisUtil.incrementData(RedisVerificationPrefix.VERIFICATION_ISSUE_COUNT.getPrefix() + phoneNumber);
+            if (issueCount > VerificationProperty.CODE_ISSUE_ATTEMPTS.getValue()) {
+                log.error("Exceeded the number of code issuance attempts.");
+                throw new UserException(ErrorStatus._AUTH_CODE_ISSUE_LIMIT_EXCEEDED);
+            }
+        }
+
+        // 인증코드의 인증 횟수 삭제 (초기화 기능)
+        stringRedisUtil.deleteData(RedisVerificationPrefix.VERIFICATION_ATTEMPTS.getPrefix() + phoneNumber);
+
+        String verificationCode = randomCodeUtil.generateRandomCode(
+                VerificationProperty.CODE_LENGTH.getValue());
+
+        // 인증코드 저장(유효시간 설정)
+        stringRedisUtil.setDataExpire(RedisVerificationPrefix.VERIFICATION_CODE.getPrefix() + phoneNumber, verificationCode,
+                VerificationProperty.TIME_LIMIT.getValue());
+
+        return VerificationCodeTestResponseDto.builder()
+                .verificationCode(verificationCode)
+                .timeLimit(VerificationProperty.TIME_LIMIT.getValue())
+                .build();
+    }
+
+
+    /**
+     * 1. 인증 코드를 검증하여 Redis에 있는 인증코도와 같은지를 검사한다.
+     * 2. 제한시간이 지났거나 인증코드 불일치, 혹은 인증 제한 횟수를 초과한 경우 예외를 던진다.
+     */
+    public void confirmVerificationCode(String phoneNumber, String verificationCode) {
+
+        // 인증코드의 인증 제한 횟수를 초과하면 예외 발생
+        if (stringRedisUtil.hasKey(RedisVerificationPrefix.VERIFICATION_ATTEMPTS.getPrefix() + phoneNumber)) {
+            long attemptCount = stringRedisUtil.incrementData(RedisVerificationPrefix.VERIFICATION_ATTEMPTS.getPrefix() + phoneNumber);
+            if (attemptCount > VerificationProperty.MAX_ATTEMPTS.getValue()) {
+                log.error("Verification code attempts exceeded.");
+                throw new UserException(ErrorStatus._AUTH_CODE_ATTEMPTS_EXCEEDED);
+            }
+        }
+        // 인증코드의 인증 횟수 설정(유효 기간: 밤 12시 전까지)
+        else {
+            stringRedisUtil.setDataExpireAt(RedisVerificationPrefix.VERIFICATION_ATTEMPTS.getPrefix() + phoneNumber,
+                    String.valueOf(1), LocalDateTime.now().toLocalDate().atStartOfDay().plusDays(1));
+        }
+
+        String originalVerificationCode = stringRedisUtil.getData(RedisVerificationPrefix.VERIFICATION_CODE.getPrefix() + phoneNumber);
+
+        if (originalVerificationCode == null) {
+            log.error("Verification code has expired.");
+            throw new UserException(ErrorStatus._AUTH_CODE_NOT_EXIST);
+        }
+
+        if (!originalVerificationCode.equals(verificationCode)) {
+            log.error("Verification code does not match.");
+            throw new UserException(ErrorStatus._AUTH_CODE_NOT_MATCH);
+        }
+
+        // 인증 성공
+        // 인증 관련한 모든 데이터를 삭제
+        stringRedisUtil.deleteData(RedisVerificationPrefix.VERIFICATION_ISSUE_COUNT.getPrefix() + phoneNumber);
+        stringRedisUtil.deleteData(RedisVerificationPrefix.VERIFICATION_ATTEMPTS.getPrefix() + phoneNumber);
+        stringRedisUtil.deleteData(RedisVerificationPrefix.VERIFICATION_CODE.getPrefix() + phoneNumber);
+
+
+    }
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/index.html new file mode 100644 index 00000000..1b4c4616 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/index.html @@ -0,0 +1 @@ +com.softeer.backend.fo_domain.user.service

com.softeer.backend.fo_domain.user.service

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total485 of 4850%26 of 260%2424118118111122
VerificationService3040%160%131364645511
LoginService1810%100%111154546611
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/index.source.html new file mode 100644 index 00000000..69c7bfca --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/index.source.html @@ -0,0 +1 @@ +com.softeer.backend.fo_domain.user.service

com.softeer.backend.fo_domain.user.service

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total485 of 4850%26 of 260%2424118118111122
VerificationService.java3040%160%131364645511
LoginService.java1810%100%111154546611
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/AopForTransaction.html b/jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/AopForTransaction.html new file mode 100644 index 00000000..9235e803 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/AopForTransaction.html @@ -0,0 +1 @@ +AopForTransaction

AopForTransaction

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total6 of 60%0 of 0n/a222222
AopForTransaction()30%n/a111111
proceed(ProceedingJoinPoint)30%n/a111111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/AopForTransaction.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/AopForTransaction.java.html new file mode 100644 index 00000000..a9d21502 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/AopForTransaction.java.html @@ -0,0 +1,26 @@ +AopForTransaction.java

AopForTransaction.java

package com.softeer.backend.global.annotation.aop;
+
+import org.aspectj.lang.ProceedingJoinPoint;
+import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Propagation;
+import org.springframework.transaction.annotation.Transactional;
+
+/**
+ * 메서드의 transaction commit을 보장하기 위한 클래스
+ */
+@Component
+public class AopForTransaction {
+
+    /**
+     * 파라미터로 넘어온 메서드를 새로운 트랜잭션에서 실행하는 메서드
+     *
+     * @param joinPoint
+     * @return 메서드의 반환값
+     * @throws Throwable
+     */
+    @Transactional(propagation = Propagation.REQUIRES_NEW)
+    public Object proceed(final ProceedingJoinPoint joinPoint) throws Throwable {
+        return joinPoint.proceed();
+    }
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/EventLockAop.html b/jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/EventLockAop.html new file mode 100644 index 00000000..dcc8bd82 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/EventLockAop.html @@ -0,0 +1 @@ +EventLockAop

EventLockAop

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total77 of 770%2 of 20%33181822
lock(ProceedingJoinPoint)730%20%22171711
static {...}40%n/a111111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/EventLockAop.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/EventLockAop.java.html new file mode 100644 index 00000000..b1f48d12 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/EventLockAop.java.html @@ -0,0 +1,61 @@ +EventLockAop.java

EventLockAop.java

package com.softeer.backend.global.annotation.aop;
+
+import com.softeer.backend.global.annotation.EventLock;
+import com.softeer.backend.global.common.exception.EventLockException;
+import com.softeer.backend.global.util.SpringELParser;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.aspectj.lang.ProceedingJoinPoint;
+import org.aspectj.lang.annotation.Around;
+import org.aspectj.lang.annotation.Aspect;
+import org.aspectj.lang.reflect.MethodSignature;
+import org.redisson.api.RLock;
+import org.redisson.api.RedissonClient;
+import org.springframework.stereotype.Component;
+
+import java.lang.reflect.Method;
+
+
+/**
+ * 선착순, 추첨 이벤트 시에 동기화를 위한 redis lock를 설정하는 Aop 클래스
+ */
+@Slf4j
+@Aspect
+@Component
+@RequiredArgsConstructor
+public class EventLockAop {
+    private static final String REDISSON_LOCK_PREFIX = "LOCK:";
+
+    private final RedissonClient redissonClient;
+    private final AopForTransaction aopForTransaction;
+
+    @Around("@annotation(com.softeer.backend.global.annotation.EventLock)")
+    public Object lock(final ProceedingJoinPoint joinPoint) throws Throwable {
+        MethodSignature signature = (MethodSignature) joinPoint.getSignature();
+        Method method = signature.getMethod();
+        EventLock eventLock = method.getAnnotation(EventLock.class);
+
+        String key = REDISSON_LOCK_PREFIX + SpringELParser.getDynamicValue(signature.getParameterNames(), joinPoint.getArgs(), eventLock.key());
+        RLock rLock = redissonClient.getLock(key);
+
+        try {
+            boolean available = rLock.tryLock(eventLock.waitTime(), eventLock.leaseTime(), eventLock.timeUnit());
+            if (!available) {
+                log.info("{} is locked", key);
+                throw new EventLockException(key);
+            }
+
+            return aopForTransaction.proceed(joinPoint);
+        } catch (InterruptedException e) {
+            log.info("Interrupted while waiting for lock, key: {}", key);
+            throw new EventLockException(key);
+        } finally {
+            try {
+                rLock.unlock();
+            } catch (IllegalMonitorStateException e) {
+                log.info("Redisson Lock Already UnLock, MethodName: {}, key: {}", method.getName(), key);
+            }
+        }
+    }
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/index.html b/jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/index.html new file mode 100644 index 00000000..49bd9950 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/index.html @@ -0,0 +1 @@ +com.softeer.backend.global.annotation.aop

com.softeer.backend.global.annotation.aop

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total83 of 830%2 of 20%5520204422
EventLockAop770%20%3318182211
AopForTransaction60%n/a22222211
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/index.source.html new file mode 100644 index 00000000..d2624bce --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/index.source.html @@ -0,0 +1 @@ +com.softeer.backend.global.annotation.aop

com.softeer.backend.global.annotation.aop

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total83 of 830%2 of 20%5520204422
EventLockAop.java770%20%3318182211
AopForTransaction.java60%n/a22222211
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.annotation.argumentresolver/AuthInfoArgumentResolver.html b/jacoco/jacocoHtml/com.softeer.backend.global.annotation.argumentresolver/AuthInfoArgumentResolver.html new file mode 100644 index 00000000..728241b4 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.annotation.argumentresolver/AuthInfoArgumentResolver.html @@ -0,0 +1 @@ +AuthInfoArgumentResolver

AuthInfoArgumentResolver

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total40 of 400%8 of 80%779933
resolveArgument(MethodParameter, ModelAndViewContainer, NativeWebRequest, WebDataBinderFactory)240%40%336611
supportsParameter(MethodParameter)130%40%332211
AuthInfoArgumentResolver()30%n/a111111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.annotation.argumentresolver/AuthInfoArgumentResolver.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.annotation.argumentresolver/AuthInfoArgumentResolver.java.html new file mode 100644 index 00000000..1a230be4 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.annotation.argumentresolver/AuthInfoArgumentResolver.java.html @@ -0,0 +1,31 @@ +AuthInfoArgumentResolver.java

AuthInfoArgumentResolver.java

package com.softeer.backend.global.annotation.argumentresolver;
+
+import com.softeer.backend.global.annotation.AuthInfo;
+import com.softeer.backend.global.common.dto.JwtClaimsDto;
+import jakarta.servlet.http.HttpServletRequest;
+import lombok.NonNull;
+import org.springframework.core.MethodParameter;
+import org.springframework.web.bind.support.WebDataBinderFactory;
+import org.springframework.web.context.request.NativeWebRequest;
+import org.springframework.web.method.support.HandlerMethodArgumentResolver;
+import org.springframework.web.method.support.ModelAndViewContainer;
+
+public class AuthInfoArgumentResolver implements HandlerMethodArgumentResolver {
+
+    @Override
+    public boolean supportsParameter(MethodParameter parameter) {
+        return parameter.getParameterAnnotation(AuthInfo.class) != null
+                && parameter.getParameterType().equals(Integer.class);
+    }
+
+    @Override
+    public Object resolveArgument(@NonNull MethodParameter parameter, ModelAndViewContainer mavContainer, NativeWebRequest webRequest, WebDataBinderFactory binderFactory) {
+        HttpServletRequest req = (HttpServletRequest) webRequest.getNativeRequest();
+        JwtClaimsDto jwtClaimsDto = (JwtClaimsDto) req.getAttribute("jwtClaims");
+        if (jwtClaimsDto == null) {
+            return null;
+        }
+        return jwtClaimsDto.getId();
+    }
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.annotation.argumentresolver/index.html b/jacoco/jacocoHtml/com.softeer.backend.global.annotation.argumentresolver/index.html new file mode 100644 index 00000000..deb0f0e9 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.annotation.argumentresolver/index.html @@ -0,0 +1 @@ +com.softeer.backend.global.annotation.argumentresolver

com.softeer.backend.global.annotation.argumentresolver

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total40 of 400%8 of 80%77993311
AuthInfoArgumentResolver400%80%77993311
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.annotation.argumentresolver/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.global.annotation.argumentresolver/index.source.html new file mode 100644 index 00000000..12a122d7 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.annotation.argumentresolver/index.source.html @@ -0,0 +1 @@ +com.softeer.backend.global.annotation.argumentresolver

com.softeer.backend.global.annotation.argumentresolver

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total40 of 400%8 of 80%77993311
AuthInfoArgumentResolver.java400%80%77993311
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/ErrorStatus.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/ErrorStatus.html new file mode 100644 index 00000000..3773e45d --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/ErrorStatus.html @@ -0,0 +1 @@ +ErrorStatus

ErrorStatus

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total152 of 1520%0 of 0n/a55242455
static {...}1290%n/a11151511
getReason()140%n/a116611
getHttpStatus()30%n/a111111
getCode()30%n/a111111
getErrorMsg()30%n/a111111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/ErrorStatus.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/ErrorStatus.java.html new file mode 100644 index 00000000..547ede8c --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/ErrorStatus.java.html @@ -0,0 +1,95 @@ +ErrorStatus.java

ErrorStatus.java

package com.softeer.backend.global.common.code.status;
+
+import com.softeer.backend.global.common.code.BaseErrorCode;
+import com.softeer.backend.global.common.response.ResponseDto;
+import lombok.Getter;
+import lombok.RequiredArgsConstructor;
+import org.springframework.http.HttpStatus;
+
+
+/**
+ * 에러 응답 코드를 관리하는 Enum 클래스
+ */
+@Getter
+@RequiredArgsConstructor
+public enum ErrorStatus implements BaseErrorCode {
+
+    // Common Error & Global Error
+    _BAD_REQUEST(HttpStatus.BAD_REQUEST, "G400", "잘못된 요청입니다."),
+    _FORBIDDEN(HttpStatus.FORBIDDEN, "G401", "해당 요청에 대한 권한이 없습니다."),
+    _NOT_FOUND(HttpStatus.NOT_FOUND, "G402", "데이터를 찾지 못했습니다."),
+    _METHOD_NOT_ALLOWED(HttpStatus.METHOD_NOT_ALLOWED, "G403", "지원하지 않는 Http Method 입니다."),
+    _INTERNAL_SERVER_ERROR(HttpStatus.INTERNAL_SERVER_ERROR, "G500", "서버 에러가 발생했습니다."),
+
+    // Validation Error
+    _VALIDATION_ERROR(HttpStatus.BAD_REQUEST, "V400", "요청 필드에 대한 검증 예외가 발생했습니다."),
+
+    // JWT Error
+    _UNAUTHORIZED(HttpStatus.UNAUTHORIZED, "J400", "인증 과정에서 예외가 발생했습니다. JWT Token 재발급이 필요합니다."),
+    _REISSUE_ERROR(HttpStatus.UNAUTHORIZED, "J401", "JWT Token 재발급에서 예외가 발생했습니다. 로그인 요청이 필요합니다."),
+
+    // User & Auth Error
+    _AUTH_CODE_NOT_EXIST(HttpStatus.BAD_REQUEST, "A400", "인증 코드 제한시간이 초과되었습니다. 인증 코드 발급 API를 호출하세요."),
+    _AUTH_CODE_NOT_MATCH(HttpStatus.BAD_REQUEST, "A401", "인증 코드가 일치하지 않습니다."),
+    _AUTH_CODE_ATTEMPTS_EXCEEDED(HttpStatus.BAD_REQUEST, "A402",
+            "인증 코드의 인증 횟수를 초과하였습니다. 인증 코드 발급 API를 호출하세요."),
+    _AUTH_CODE_ISSUE_LIMIT_EXCEEDED(HttpStatus.BAD_REQUEST, "A403",
+            "인증 코드 발급 횟수를 초과하였습니다. 나중에 다시 시도하세요."),
+    _AUTH_CODE_NOT_VERIFIED(HttpStatus.BAD_REQUEST, "A404", "인증되지 않은 상태에서 로그인 할 수 없습니다."),
+    _AUTH_USERNAME_NOT_MATCH(HttpStatus.BAD_REQUEST, "A405", "이미 등록된 번호입니다.");
+
+    // 예외의 Http 상태값
+    private final HttpStatus httpStatus;
+
+    // 예외의 커스텀 코드값
+    private final String code;
+
+    // 예외 메시지
+    private final String message;
+
+    /**
+     * Error 정보를 갖고있는 ErrorReasonDto를 반환하는 메서드
+     *
+     * @return ErrorReasonDto 객체
+     */
+    @Override
+    public ResponseDto.ErrorReasonDto getReason() {
+        return ResponseDto.ErrorReasonDto.builder()
+                .httpStatus(this.httpStatus)
+                .isSuccess(false)
+                .code(this.code)
+                .message(this.message)
+                .build();
+    }
+
+    /**
+     * HttpStatus를 반환하는 메서드
+     *
+     * @return HttpStatus 객체
+     */
+    @Override
+    public HttpStatus getHttpStatus() {
+        return httpStatus;
+    }
+
+    /**
+     * 예외 코드를 반환하는 메서드
+     *
+     * @return 커스텀 코드값
+     */
+    @Override
+    public String getCode() {
+        return code;
+    }
+
+    /**
+     * 예외 메시지를 반환하는 메서드
+     *
+     * @return 예외 메시지
+     */
+    @Override
+    public String getErrorMsg() {
+        return message;
+    }
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/SuccessStatus.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/SuccessStatus.html new file mode 100644 index 00000000..82c9fcfd --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/SuccessStatus.html @@ -0,0 +1 @@ +SuccessStatus

SuccessStatus

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total32 of 320%0 of 0n/a44101044
getReason()140%n/a116611
static {...}120%n/a112211
getCode()30%n/a111111
getMsg()30%n/a111111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/SuccessStatus.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/SuccessStatus.java.html new file mode 100644 index 00000000..c8f4e1b4 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/SuccessStatus.java.html @@ -0,0 +1,63 @@ +SuccessStatus.java

SuccessStatus.java

package com.softeer.backend.global.common.code.status;
+
+import com.softeer.backend.global.common.code.BaseCode;
+import com.softeer.backend.global.common.response.ResponseDto;
+import lombok.Getter;
+import lombok.RequiredArgsConstructor;
+import org.springframework.http.HttpStatus;
+
+/**
+ * 성공 응답 코드를 관리하는 Enum 클래스
+ */
+@Getter
+@RequiredArgsConstructor
+public enum SuccessStatus implements BaseCode {
+    // Success
+    _OK(HttpStatus.OK, "S200", "요청 처리 성공");
+
+    // 예외의 Http 상태값
+    private final HttpStatus httpStatus;
+
+    // 예외의 커스텀 코드값
+    private final String code;
+
+    // 예외 메시지
+    private final String message;
+
+
+    /**
+     * 성공 응답 정보를 갖고있는 ReasonDto를 반환하는 메서드
+     *
+     * @return ReasonDto 객체
+     */
+    @Override
+    public ResponseDto.ReasonDto getReason() {
+        return ResponseDto.ReasonDto.builder()
+                .httpStatus(this.httpStatus)
+                .isSuccess(true)
+                .code(this.code)
+                .message(this.message)
+                .build();
+    }
+
+    /**
+     * 성공 코드를 반환하는 메서드
+     *
+     * @return 커스텀 코드값
+     */
+    @Override
+    public String getCode() {
+        return this.code;
+    }
+
+    /**
+     * 성공 메시지를 반환하는 메서드
+     *
+     * @return 예외 메시지
+     */
+    @Override
+    public String getMsg() {
+        return this.message;
+    }
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/index.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/index.html new file mode 100644 index 00000000..bd1dc1c5 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/index.html @@ -0,0 +1 @@ +com.softeer.backend.global.common.code.status

com.softeer.backend.global.common.code.status

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total184 of 1840%0 of 0n/a9934349922
ErrorStatus1520%n/a5524245511
SuccessStatus320%n/a4410104411
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/index.source.html new file mode 100644 index 00000000..4cc13f24 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/index.source.html @@ -0,0 +1 @@ +com.softeer.backend.global.common.code.status

com.softeer.backend.global.common.code.status

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total184 of 1840%0 of 0n/a9934349922
ErrorStatus.java1520%n/a5524245511
SuccessStatus.java320%n/a4410104411
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/RedisKeyPrefix.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/RedisKeyPrefix.html new file mode 100644 index 00000000..0804cbc6 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/RedisKeyPrefix.html @@ -0,0 +1 @@ +RedisKeyPrefix

RedisKeyPrefix

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total67 of 670%0 of 0n/a22121222
static {...}590%n/a119911
RedisKeyPrefix(String, int, String)80%n/a113311
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/RedisKeyPrefix.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/RedisKeyPrefix.java.html new file mode 100644 index 00000000..01c43b38 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/RedisKeyPrefix.java.html @@ -0,0 +1,28 @@ +RedisKeyPrefix.java

RedisKeyPrefix.java

package com.softeer.backend.global.common.constant;
+
+import lombok.Getter;
+
+@Getter
+public enum RedisKeyPrefix {
+    // 선착순
+    FCFS_USERID_PREFIX("FCFS_WINNER_"),
+    FCFS_CODE_PREFIX("FCFS_CODE_"),
+    FCFS_CODE_USERID_PREFIX("FCFS_CODE_USERID_"),
+    FCFS_PARTICIPANT_COUNT_PREFIX("FCFS_PARTICIPANT_COUNT"),
+
+    // 추첨
+    DRAW_LOCK_PREFIX("LOCK:DRAW_WINNER"),
+    DRAW_WINNER_LIST_PREFIX("LOCK:DRAW_WINNER_LIST_"),
+    DRAW_PARTICIPANT_COUNT_PREFIX("DRAW_PARTICIPANT_COUNT"),
+
+    // 사이트 방문자 수
+    TOTAL_VISITORS_COUNT_PREFIX("TOTAL_VISITORS_COUNT_");
+
+
+    private final String prefix;
+
+    RedisKeyPrefix(String prefix) {
+        this.prefix = prefix;
+    }
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/RoleType.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/RoleType.html new file mode 100644 index 00000000..2ca41327 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/RoleType.html @@ -0,0 +1 @@ +RoleType

RoleType

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total25 of 250%0 of 0n/a226622
static {...}170%n/a113311
RoleType(String, int, String)80%n/a113311
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/RoleType.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/RoleType.java.html new file mode 100644 index 00000000..f8e98e78 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/RoleType.java.html @@ -0,0 +1,23 @@ +RoleType.java

RoleType.java

package com.softeer.backend.global.common.constant;
+
+import lombok.Getter;
+import lombok.RequiredArgsConstructor;
+
+/**
+ * 유저의 권한 정보
+ */
+@Getter
+@RequiredArgsConstructor
+public enum RoleType {
+
+    ROLE_USER("USER_"), // 일반 유저
+    ROLE_ADMIN("ADMIN_"); // 관리자 유저
+
+    String redisKeyPrefix;
+
+    RoleType(String redisKeyPrefix) {
+        this.redisKeyPrefix = redisKeyPrefix;
+    }
+
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/ValidationConstant.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/ValidationConstant.html new file mode 100644 index 00000000..0f3c836c --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/ValidationConstant.html @@ -0,0 +1 @@ +ValidationConstant

ValidationConstant

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total3 of 30%0 of 0n/a111111
ValidationConstant()30%n/a111111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/ValidationConstant.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/ValidationConstant.java.html new file mode 100644 index 00000000..5264e566 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/ValidationConstant.java.html @@ -0,0 +1,27 @@ +ValidationConstant.java

ValidationConstant.java

package com.softeer.backend.global.common.constant;
+
+import lombok.Getter;
+
+public class ValidationConstant {
+    public static final String PHONE_NUMBER_REGEX = "^01[016789]\\d{8}$";
+    public static final String PHONE_NUMBER_MSG = "잘못된 전화번호 형식입니다.";
+
+    public static final String VERIFICATION_CODE_REGEX = "^[a-zA-Z0-9]{6}$";
+    public static final String VERIFICATION_CODE_MSG = "잘못된 인증코드 형식입니다.";
+
+    // 최소 4자에서 최대 20자까지 허용
+    // 영어 대문자, 소문자, 숫자 허용
+    public static final String ADMIN_ACCOUNT_REGEX = "^[a-zA-Z0-9]{4,20}$";
+    public static final String ADMIN_ACCOUNT_MSG = "잘못된 아이디 형식입니다.";
+
+    // 최소 8자에서 최대 20자까지 허용
+    // 적어도 하나의 대문자, 소문자, 숫자, 특수문자 포함
+    // 허용할 특수문자: @, #, $, %, &, *, !, ^
+    public static final String ADMIN_PASSWORD_REGEX = "^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[@#$%^&*!])[A-Za-z\\d@#$%^&*!]{8,20}$";
+    public static final String ADMIN_PASSWORD_MSG = "잘못된 비밀번호 형식입니다.";
+
+    public static final String MIN_VALUE_MSG = "값은 최소 {value}이어야 합니다.";
+    public static final String MAX_VALUE_MSG = "값은 최대 {value}이어야 합니다.";
+
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/index.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/index.html new file mode 100644 index 00000000..b342d38c --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/index.html @@ -0,0 +1 @@ +com.softeer.backend.global.common.constant

com.softeer.backend.global.common.constant

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total95 of 950%0 of 0n/a5519195533
RedisKeyPrefix670%n/a2212122211
RoleType250%n/a22662211
ValidationConstant30%n/a11111111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/index.source.html new file mode 100644 index 00000000..81c57535 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/index.source.html @@ -0,0 +1 @@ +com.softeer.backend.global.common.constant

com.softeer.backend.global.common.constant

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total95 of 950%0 of 0n/a5519195533
RedisKeyPrefix.java670%n/a2212122211
RoleType.java250%n/a22662211
ValidationConstant.java30%n/a11111111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/ExceptionAdvice.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/ExceptionAdvice.html new file mode 100644 index 00000000..afa4af82 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/ExceptionAdvice.html @@ -0,0 +1 @@ +ExceptionAdvice

ExceptionAdvice

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total207 of 2070%2 of 20%171743431616
handleEventLockExceptionInternal(EventLockException, HttpHeaders, WebRequest)260%20%227711
handleGeneralExceptionInternal(Exception, ResponseDto.ErrorReasonDto, HttpHeaders, WebRequest)200%n/a114411
handleConstraintExceptionInternal(Exception, ErrorStatus, HttpHeaders, WebRequest, List)200%n/a114411
handleArgsExceptionInternal(Exception, HttpHeaders, ErrorStatus, WebRequest, Map)200%n/a114411
handleGlobalExceptionInternal(Exception, ErrorStatus, HttpHeaders, HttpStatus, WebRequest, String)190%n/a113311
handleMethodArgumentNotValid(MethodArgumentNotValidException, HttpHeaders, HttpStatusCode, WebRequest)180%n/a114411
lambda$handleMethodArgumentNotValid$2(Map, FieldError)170%n/a114411
handleValidationException(ConstraintViolationException, WebRequest)150%n/a114411
handleGlobalException(Exception, WebRequest)110%n/a111111
handleGeneralException(GeneralException, WebRequest)100%n/a112211
handleDataAccessException(DataAccessException)70%n/a112211
lambda$handleValidationException$0(ConstraintViolation)70%n/a111111
handleEventLockException(EventLockException, WebRequest)60%n/a111111
lambda$handleMethodArgumentNotValid$1(String, String)40%n/a111111
static {...}40%n/a111111
ExceptionAdvice()30%n/a111111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/ExceptionAdvice.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/ExceptionAdvice.java.html new file mode 100644 index 00000000..80b4eb80 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/ExceptionAdvice.java.html @@ -0,0 +1,200 @@ +ExceptionAdvice.java

ExceptionAdvice.java

package com.softeer.backend.global.common.exception;
+
+import com.softeer.backend.global.common.code.status.ErrorStatus;
+import com.softeer.backend.global.common.response.ResponseDto;
+import jakarta.validation.ConstraintViolationException;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.dao.DataAccessException;
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.HttpStatusCode;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.MethodArgumentNotValidException;
+import org.springframework.web.bind.annotation.ExceptionHandler;
+import org.springframework.web.bind.annotation.RestControllerAdvice;
+import org.springframework.web.context.request.WebRequest;
+import org.springframework.web.servlet.ModelAndView;
+import org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExceptionHandler;
+
+import java.util.*;
+
+
+/**
+ * 예외를 한 곳에서 처리하는 클래스
+ */
+@Slf4j
+@RestControllerAdvice
+public class ExceptionAdvice extends ResponseEntityExceptionHandler {
+
+    /**
+     * GeneralException을 처리하는 메서드
+     *
+     * @param generalException 커스텀 예외의 최고 조상 클래스
+     * @param webRequest       client 요청 객체
+     * @return client 응답 객체
+     */
+    @ExceptionHandler
+    public ResponseEntity<Object> handleGeneralException(GeneralException generalException, WebRequest webRequest) {
+        ResponseDto.ErrorReasonDto errorReasonHttpStatus = generalException.getErrorReason();
+        return handleGeneralExceptionInternal(generalException, errorReasonHttpStatus, HttpHeaders.EMPTY, webRequest);
+    }
+
+    @ExceptionHandler
+    public ModelAndView handleEventLockException(EventLockException eventLockException, WebRequest webRequest) {
+        return handleEventLockExceptionInternal(eventLockException, HttpHeaders.EMPTY, webRequest);
+    }
+
+    /**
+     * ConstraintViolationException을 처리하는 메서드
+     *
+     * @param constraintViolationException 검증 예외
+     * @param request                      client 요청 객체
+     * @return client 응답 객체
+     */
+    @ExceptionHandler
+    public ResponseEntity<Object> handleValidationException(ConstraintViolationException constraintViolationException, WebRequest request) {
+
+        List<String> errorMessages = constraintViolationException.getConstraintViolations().stream()
+                .map(violation -> Optional.ofNullable(violation.getMessage()).orElse(""))
+                .toList();
+
+        return handleConstraintExceptionInternal(constraintViolationException, ErrorStatus._VALIDATION_ERROR, HttpHeaders.EMPTY, request,
+                errorMessages);
+    }
+
+    /**
+     * MethodArgumentNotValidException을 처리하는 메서드
+     * <p>
+     * ResponseEntityExceptionHandler의 메서드를 오버라이딩하여 사용한다.
+     *
+     * @param methodArgumentNotValidException 컨트롤러 메서드의 파라미터 객체에 대한 검증 예외
+     * @param headers                         헤더 객체
+     * @param status                          HttpStatusCode 값
+     * @param request                         client 요청 객체
+     * @return client 응답 객체
+     */
+    @Override
+    public ResponseEntity<Object> handleMethodArgumentNotValid(
+            MethodArgumentNotValidException methodArgumentNotValidException,
+            HttpHeaders headers, HttpStatusCode status, WebRequest request) {
+
+        Map<String, String> errors = new LinkedHashMap<>();
+
+        methodArgumentNotValidException.getBindingResult().getFieldErrors()
+                .forEach(fieldError -> {
+                    String fieldName = fieldError.getField();
+                    String errorMessage = Optional.ofNullable(fieldError.getDefaultMessage()).orElse("");
+                    errors.merge(fieldName, errorMessage, (existingErrorMessage, newErrorMessage)
+                            -> existingErrorMessage + ", " + newErrorMessage);
+                });
+
+        return handleArgsExceptionInternal(methodArgumentNotValidException, HttpHeaders.EMPTY, ErrorStatus._VALIDATION_ERROR, request, errors);
+    }
+
+    /**
+     * 나머지 모든 예외들을 처리하는 메서드
+     *
+     * @param e       Exception을 상속한 예외 객체
+     * @param request client 요청 객체
+     * @return client 응답 객체
+     */
+    @ExceptionHandler
+    public ResponseEntity<Object> handleGlobalException(Exception e, WebRequest request) {
+
+        return handleGlobalExceptionInternal(e, ErrorStatus._INTERNAL_SERVER_ERROR, HttpHeaders.EMPTY, ErrorStatus._INTERNAL_SERVER_ERROR.getHttpStatus(), request, e.getMessage());
+    }
+
+    /**
+     * DB 관련 예외 처리
+     */
+    @ExceptionHandler
+    public void handleDataAccessException(DataAccessException e) {
+        log.error("DataAccessException occurred: {}", e.getMessage(), e);
+    }
+
+    // GeneralException에 대한 client 응답 객체를 생성하는 메서드
+    private ResponseEntity<Object> handleGeneralExceptionInternal(Exception e, ResponseDto.ErrorReasonDto reason,
+                                                                  HttpHeaders headers, WebRequest webRequest) {
+
+        log.error("GeneralException captured in ExceptionAdvice", e);
+
+        ResponseDto<Object> body = ResponseDto.onFailure(reason.getCode(), reason.getMessage(), null);
+
+        return super.handleExceptionInternal(
+                e,
+                body,
+                headers,
+                reason.getHttpStatus(),
+                webRequest
+        );
+    }
+
+    // EventLockException에 대한 client 응답 객체를 생성하는 메서드
+    private ModelAndView handleEventLockExceptionInternal(EventLockException e, HttpHeaders headers, WebRequest webRequest) {
+
+        log.error("EventLockException captured in ExceptionAdvice", e);
+
+        String redissonKeyName = e.getRedissonKeyName();
+
+        ModelAndView modelAndView = new ModelAndView();
+
+        if (redissonKeyName.contains("FCFS")){
+
+            modelAndView.setViewName("redirect:/fcfs/result");
+            modelAndView.addObject("fcfsWin", false);
+        }
+
+        //TODO
+        // DRAW 관련 예외일 경우, body 구성하는 코드 필요
+
+        return modelAndView;
+    }
+
+    // ConstraintViolationException에 대한 client 응답 객체를 생성하는 메서드
+    private ResponseEntity<Object> handleConstraintExceptionInternal(Exception e, ErrorStatus errorCommonStatus,
+                                                                     HttpHeaders headers, WebRequest request,
+                                                                     List<String> errorMessages) {
+
+        log.error("ConstraintViolationException captured in ExceptionAdvice", e);
+
+        ResponseDto<Object> body = ResponseDto.onFailure(errorCommonStatus.getCode(), errorCommonStatus.getMessage(), errorMessages);
+        return super.handleExceptionInternal(
+                e,
+                body,
+                headers,
+                errorCommonStatus.getHttpStatus(),
+                request
+        );
+    }
+
+    // MethodArgumentNotValidException에 대한 client 응답 객체를 생성하는 메서드
+    private ResponseEntity<Object> handleArgsExceptionInternal(Exception e, HttpHeaders headers, ErrorStatus errorCommonStatus,
+                                                               WebRequest request, Map<String, String> errorArgs) {
+        log.error("MethodArgumentNotValidException captured in ExceptionAdvice", e);
+
+        ResponseDto<Object> body = ResponseDto.onFailure(errorCommonStatus.getCode(), errorCommonStatus.getMessage(), errorArgs);
+        return super.handleExceptionInternal(
+                e,
+                body,
+                headers,
+                errorCommonStatus.getHttpStatus(),
+                request
+        );
+    }
+
+    // 나머지 모든 예외에 대한 client 응답 객체를 생성하는 메서드
+    private ResponseEntity<Object> handleGlobalExceptionInternal(Exception e, ErrorStatus errorCommonStatus,
+                                                                 HttpHeaders headers, HttpStatus status, WebRequest request, String errorPoint) {
+        log.error("Exception captured in ExceptionAdvice", e);
+
+        ResponseDto<Object> body = ResponseDto.onFailure(errorCommonStatus.getCode(), errorCommonStatus.getMessage(), errorPoint);
+        return super.handleExceptionInternal(
+                e,
+                body,
+                headers,
+                status,
+                request
+        );
+    }
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/GeneralException.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/GeneralException.html new file mode 100644 index 00000000..6e4f6702 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/GeneralException.html @@ -0,0 +1 @@ +GeneralException

GeneralException

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total4 of 40%0 of 0n/a111111
getErrorReason()40%n/a111111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/GeneralException.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/GeneralException.java.html new file mode 100644 index 00000000..71e418ba --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/GeneralException.java.html @@ -0,0 +1,27 @@ +GeneralException.java

GeneralException.java

package com.softeer.backend.global.common.exception;
+
+import com.softeer.backend.global.common.code.BaseErrorCode;
+import com.softeer.backend.global.common.response.ResponseDto;
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+/**
+ * 커스텀 예외의 최고 조상 클래스
+ */
+@Getter
+@AllArgsConstructor
+public class GeneralException extends RuntimeException {
+
+    private final BaseErrorCode code;
+
+    /**
+     * Error 정보를 갖고있는 ErrorReasonDto를 반환하는 메서드
+     *
+     * @return ErrorReasonDto 객체
+     */
+    public ResponseDto.ErrorReasonDto getErrorReason() {
+        return this.code.getReason();
+    }
+
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/JwtAuthenticationException.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/JwtAuthenticationException.html new file mode 100644 index 00000000..ae54edd3 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/JwtAuthenticationException.html @@ -0,0 +1 @@ +JwtAuthenticationException

JwtAuthenticationException

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total4 of 40%0 of 0n/a112211
JwtAuthenticationException(BaseErrorCode)40%n/a112211
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/JwtAuthenticationException.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/JwtAuthenticationException.java.html new file mode 100644 index 00000000..cf066fcb --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/JwtAuthenticationException.java.html @@ -0,0 +1,15 @@ +JwtAuthenticationException.java

JwtAuthenticationException.java

package com.softeer.backend.global.common.exception;
+
+
+import com.softeer.backend.global.common.code.BaseErrorCode;
+
+/**
+ * JWT 인증 예외 클래스
+ */
+public class JwtAuthenticationException extends GeneralException {
+
+    public JwtAuthenticationException(BaseErrorCode code) {
+        super(code);
+    }
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/JwtAuthorizationException.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/JwtAuthorizationException.html new file mode 100644 index 00000000..0f9203fe --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/JwtAuthorizationException.html @@ -0,0 +1 @@ +JwtAuthorizationException

JwtAuthorizationException

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total4 of 40%0 of 0n/a112211
JwtAuthorizationException(BaseErrorCode)40%n/a112211
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/JwtAuthorizationException.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/JwtAuthorizationException.java.html new file mode 100644 index 00000000..6ebbb304 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/JwtAuthorizationException.java.html @@ -0,0 +1,14 @@ +JwtAuthorizationException.java

JwtAuthorizationException.java

package com.softeer.backend.global.common.exception;
+
+import com.softeer.backend.global.common.code.BaseErrorCode;
+
+/**
+ * JWT 인가 예외 클래스
+ */
+public class JwtAuthorizationException extends GeneralException {
+
+    public JwtAuthorizationException(BaseErrorCode code) {
+        super(code);
+    }
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/index.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/index.html new file mode 100644 index 00000000..0494feb0 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/index.html @@ -0,0 +1 @@ +com.softeer.backend.global.common.exception

com.softeer.backend.global.common.exception

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total219 of 2190%2 of 20%20204848191944
ExceptionAdvice2070%20%17174343161611
JwtAuthorizationException40%n/a11221111
JwtAuthenticationException40%n/a11221111
GeneralException40%n/a11111111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/index.source.html new file mode 100644 index 00000000..da825254 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/index.source.html @@ -0,0 +1 @@ +com.softeer.backend.global.common.exception

com.softeer.backend.global.common.exception

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total219 of 2190%2 of 20%20204848191944
ExceptionAdvice.java2070%20%17174343161611
JwtAuthenticationException.java40%n/a11221111
GeneralException.java40%n/a11111111
JwtAuthorizationException.java40%n/a11221111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.response/ResponseDto.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.response/ResponseDto.html new file mode 100644 index 00000000..324293a9 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.common.response/ResponseDto.html @@ -0,0 +1 @@ +ResponseDto

ResponseDto

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total53 of 530%0 of 0n/a555555
onSuccess()110%n/a111111
onSuccess(Object)110%n/a111111
onSuccess(BaseCode, Object)110%n/a111111
onFailure(BaseErrorCode)110%n/a111111
onFailure(String, String, Object)90%n/a111111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.response/ResponseDto.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.response/ResponseDto.java.html new file mode 100644 index 00000000..283df28c --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.common.response/ResponseDto.java.html @@ -0,0 +1,114 @@ +ResponseDto.java

ResponseDto.java

package com.softeer.backend.global.common.response;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import com.softeer.backend.global.common.code.BaseCode;
+import com.softeer.backend.global.common.code.BaseErrorCode;
+import com.softeer.backend.global.common.code.status.SuccessStatus;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Getter;
+import org.springframework.http.HttpStatus;
+
+/**
+ * Client 응답 객체 클래스
+ *
+ * @param <T> 응답에 담을 객체 타입
+ */
+@Getter
+@AllArgsConstructor
+@JsonPropertyOrder({"isSuccess", "code", "message", "result"})
+public class ResponseDto<T> {
+
+    // client 요청 처리 성공 여부값
+    @JsonProperty("isSuccess")
+    private final Boolean isSuccess;
+    // 커스텀 상태 코드값
+    private final String code;
+    // 응답 메시지
+    private final String message;
+
+    // 응답에 담을 객체
+    @JsonInclude(JsonInclude.Include.NON_NULL)
+    private final T result;
+
+    /**
+     * 요청 처리에는 성공했지만, 보낼 데이터가 없을 경우 사용하는 메서드
+     */
+    public static <T> ResponseDto<T> onSuccess() {
+        return new ResponseDto<>(true, SuccessStatus._OK.getCode(), SuccessStatus._OK.getMessage(), null);
+    }
+
+    /**
+     * client 요청 처리 성공 시의 응답값을 생성하는 메서드
+     *
+     * @param result client 응답에 넣을 객체
+     * @param <T>    응답에 담을 객체 타입
+     * @return client 응답 객체
+     */
+    public static <T> ResponseDto<T> onSuccess(T result) {
+        return new ResponseDto<>(true, SuccessStatus._OK.getCode(), SuccessStatus._OK.getMessage(), result);
+    }
+
+    /**
+     * client 요청 처리 성공 시의 응답값을 생성하는 메서드
+     *
+     * @param code   성공 응답 코드
+     * @param result client 응답에 넣을 객체
+     * @param <T>    응답에 담을 객체 타입
+     * @return client 응답 객체
+     */
+    public static <T> ResponseDto<T> onSuccess(BaseCode code, T result) {
+        return new ResponseDto<>(true, code.getCode(), code.getMsg(), result);
+    }
+
+    /**
+     * client 요청 처리 실패 시의 응답값을 생성하는 메서드
+     *
+     * @param code 실패 응답 코드
+     * @param <T>  응답에 담을 객체 타입
+     * @return client 응답 객체
+     */
+    public static <T> ResponseDto<T> onFailure(BaseErrorCode code) {
+        return new ResponseDto<>(false, code.getCode(), code.getErrorMsg(), null);
+    }
+
+    /**
+     * client 요청 처리 실패 시의 응답값을 생성하는 메서드
+     *
+     * @param code    code 실패 응답 코드
+     * @param message 실패 응답 메시지
+     * @param result  client 응답에 넣을 객체
+     * @param <T>     응답에 담을 객체 타입
+     * @return client 응답 객체
+     */
+    public static <T> ResponseDto<T> onFailure(String code, String message, T result) {
+        return new ResponseDto<>(false, code, message, result);
+    }
+
+    /**
+     * Error 정보를 갖고 있는 내부 클래스
+     */
+    @Getter
+    @Builder
+    public static class ErrorReasonDto {
+        private HttpStatus httpStatus;
+        private final boolean isSuccess;
+        private final String code;
+        private final String message;
+    }
+
+    /**
+     * 성공 응답 정보를 갖고 있는 내부 클래스
+     */
+    @Getter
+    @Builder
+    public static class ReasonDto {
+        private HttpStatus httpStatus;
+        private final boolean isSuccess;
+        private final String code;
+        private final String message;
+    }
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.response/index.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.response/index.html new file mode 100644 index 00000000..7781e211 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.common.response/index.html @@ -0,0 +1 @@ +com.softeer.backend.global.common.response

com.softeer.backend.global.common.response

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total53 of 530%0 of 0n/a55555511
ResponseDto530%n/a55555511
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.response/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.response/index.source.html new file mode 100644 index 00000000..486a0d3f --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.common.response/index.source.html @@ -0,0 +1 @@ +com.softeer.backend.global.common.response

com.softeer.backend.global.common.response

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total53 of 530%0 of 0n/a55555511
ResponseDto.java530%n/a55555511
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.swagger/SwaggerController.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.swagger/SwaggerController.html new file mode 100644 index 00000000..09fd055f --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.common.swagger/SwaggerController.html @@ -0,0 +1 @@ +SwaggerController

SwaggerController

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total5 of 50%0 of 0n/a222222
SwaggerController()30%n/a111111
getRedirectUrl()20%n/a111111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.swagger/SwaggerController.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.swagger/SwaggerController.java.html new file mode 100644 index 00000000..d7796586 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.common.swagger/SwaggerController.java.html @@ -0,0 +1,14 @@ +SwaggerController.java

SwaggerController.java

package com.softeer.backend.global.common.swagger;
+
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+@Controller
+public class SwaggerController {
+
+    @RequestMapping("/swagger")
+    public String getRedirectUrl() {
+        return "redirect:swagger-ui/index.html";
+    }
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.swagger/index.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.swagger/index.html new file mode 100644 index 00000000..58308a40 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.common.swagger/index.html @@ -0,0 +1 @@ +com.softeer.backend.global.common.swagger

com.softeer.backend.global.common.swagger

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total5 of 50%0 of 0n/a22222211
SwaggerController50%n/a22222211
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.swagger/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.swagger/index.source.html new file mode 100644 index 00000000..76234594 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.common.swagger/index.source.html @@ -0,0 +1 @@ +com.softeer.backend.global.common.swagger

com.softeer.backend.global.common.swagger

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total5 of 50%0 of 0n/a22222211
SwaggerController.java50%n/a22222211
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.cache/CacheConfig.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.cache/CacheConfig.html new file mode 100644 index 00000000..04eb493b --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.config.cache/CacheConfig.html @@ -0,0 +1 @@ +CacheConfig

CacheConfig

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total45 of 450%0 of 0n/a44121244
cacheManager()200%n/a11101011
lambda$cacheManager$0(Object, Object, RemovalCause)180%n/a111111
static {...}40%n/a111111
CacheConfig()30%n/a111111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.cache/CacheConfig.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.cache/CacheConfig.java.html new file mode 100644 index 00000000..89472093 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.config.cache/CacheConfig.java.html @@ -0,0 +1,35 @@ +CacheConfig.java

CacheConfig.java

package com.softeer.backend.global.config.cache;
+
+import com.github.benmanes.caffeine.cache.Caffeine;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.cache.CacheManager;
+import org.springframework.cache.annotation.EnableCaching;
+import org.springframework.cache.caffeine.CaffeineCacheManager;
+import org.springframework.cache.concurrent.ConcurrentMapCacheManager;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+import java.util.List;
+import java.util.concurrent.TimeUnit;
+
+@Slf4j
+@Configuration
+@EnableCaching
+public class CacheConfig {
+
+    @Bean
+    public CacheManager cacheManager() {
+        CaffeineCacheManager cacheManager = new CaffeineCacheManager();
+        cacheManager.setCaffeine(
+                Caffeine.newBuilder()
+                        .expireAfterAccess(1, TimeUnit.DAYS) //첫 번재 접근 후 1일 경과 후, 제거
+                        .initialCapacity(200) //초기 크기 설정
+                        .softValues() // 값 객체에 대한 부드러움 참조: 메모리가 부족할 때만 GC가 일어남. GC가 수집 대상으로 판단하더라도 GC가 일어나지 않음
+                        .maximumSize(1000) // 최대 크기 설정
+                        .recordStats() // 캐시 지표 기록
+                        .removalListener((key ,value, cause) -> log.debug("key: {}, value: {}가 제거 되었습니다. cause: {}", key, value, cause))
+        );
+        return cacheManager;
+    }
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.cache/index.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.cache/index.html new file mode 100644 index 00000000..5f673827 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.config.cache/index.html @@ -0,0 +1 @@ +com.softeer.backend.global.config.cache

com.softeer.backend.global.config.cache

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total45 of 450%0 of 0n/a4412124411
CacheConfig450%n/a4412124411
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.cache/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.cache/index.source.html new file mode 100644 index 00000000..47612f26 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.config.cache/index.source.html @@ -0,0 +1 @@ +com.softeer.backend.global.config.cache

com.softeer.backend.global.config.cache

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total45 of 450%0 of 0n/a4412124411
CacheConfig.java450%n/a4412124411
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.docs/SwaggerConfig.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.docs/SwaggerConfig.html new file mode 100644 index 00000000..6070f9cd --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.config.docs/SwaggerConfig.html @@ -0,0 +1 @@ +SwaggerConfig

SwaggerConfig

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total70 of 700%0 of 0n/a44242444
getOpenApi()280%n/a119911
getJwtSecurityScheme()160%n/a116611
chatOpenApi()140%n/a115511
getJwtRefreshSecurityScheme()120%n/a114411
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.docs/SwaggerConfig.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.docs/SwaggerConfig.java.html new file mode 100644 index 00000000..c628de15 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.config.docs/SwaggerConfig.java.html @@ -0,0 +1,74 @@ +SwaggerConfig.java

SwaggerConfig.java

package com.softeer.backend.global.config.docs;
+
+import com.softeer.backend.global.config.properties.JwtProperties;
+import io.swagger.v3.oas.annotations.OpenAPIDefinition;
+import io.swagger.v3.oas.annotations.info.Info;
+import io.swagger.v3.oas.annotations.servers.Server;
+import io.swagger.v3.oas.models.Components;
+import io.swagger.v3.oas.models.OpenAPI;
+import io.swagger.v3.oas.models.security.SecurityRequirement;
+import io.swagger.v3.oas.models.security.SecurityScheme;
+import lombok.RequiredArgsConstructor;
+import org.springdoc.core.models.GroupedOpenApi;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * Swagger 설정 클래스
+ */
+@OpenAPIDefinition(
+        info = @Info(title = "T라미숙해",
+                description = "T라미숙해 api명세",
+                version = "v1"),
+        servers = {
+                @Server(url = "https://softeer.shop"),
+                @Server(url = "http://localhost:5000")
+        }
+)
+@RequiredArgsConstructor
+@Configuration
+public class SwaggerConfig {
+
+    private final JwtProperties jwtProperties;
+
+    @Bean
+    public GroupedOpenApi chatOpenApi() {
+        String[] paths = {"/**"};
+
+        return GroupedOpenApi.builder()
+                .group("T라미숙해 API v1")
+                .pathsToMatch(paths)
+                .build();
+    }
+
+    @Bean
+    public OpenAPI getOpenApi() {
+        Components components = new Components()
+                .addSecuritySchemes("AccessToken", getJwtSecurityScheme())
+                .addSecuritySchemes("RefreshToken", getJwtRefreshSecurityScheme());
+        SecurityRequirement securityItem = new SecurityRequirement()
+                .addList("AccessToken")
+                .addList("RefreshToken");
+
+        return new OpenAPI()
+                .components(components)
+                .addSecurityItem(securityItem);
+    }
+
+    private SecurityScheme getJwtSecurityScheme() {
+        return new SecurityScheme()
+                .type(SecurityScheme.Type.HTTP)
+                .scheme("bearer")
+                .bearerFormat("JWT")
+                .in(SecurityScheme.In.HEADER)
+                .name(jwtProperties.getAccessHeader());
+    }
+
+    private SecurityScheme getJwtRefreshSecurityScheme() {
+        return new SecurityScheme()
+                .type(SecurityScheme.Type.APIKEY)
+                .in(SecurityScheme.In.HEADER)
+                .name(jwtProperties.getRefreshHeader());
+    }
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.docs/index.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.docs/index.html new file mode 100644 index 00000000..369ffe69 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.config.docs/index.html @@ -0,0 +1 @@ +com.softeer.backend.global.config.docs

com.softeer.backend.global.config.docs

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total70 of 700%0 of 0n/a4424244411
SwaggerConfig700%n/a4424244411
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.docs/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.docs/index.source.html new file mode 100644 index 00000000..33948ed0 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.config.docs/index.source.html @@ -0,0 +1 @@ +com.softeer.backend.global.config.docs

com.softeer.backend.global.config.docs

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total70 of 700%0 of 0n/a4424244411
SwaggerConfig.java700%n/a4424244411
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.properties/JwtProperties.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.properties/JwtProperties.html new file mode 100644 index 00000000..a2c42548 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.config.properties/JwtProperties.html @@ -0,0 +1 @@ +JwtProperties

JwtProperties

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total21 of 210%0 of 0n/a118811
JwtProperties(String, String, String, String, Long, Long)210%n/a118811
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.properties/JwtProperties.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.properties/JwtProperties.java.html new file mode 100644 index 00000000..913c50df --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.config.properties/JwtProperties.java.html @@ -0,0 +1,38 @@ +JwtProperties.java

JwtProperties.java

package com.softeer.backend.global.config.properties;
+
+import lombok.Getter;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.boot.context.properties.bind.ConstructorBinding;
+
+/**
+ * JWT 속성 관리 클래스
+ * <p>
+ * bearer: JWT 토큰 타입
+ * secret: JWT 비밀 키
+ * accessHeader: Access Token 헤더 이름
+ * refreshHeader: Refresh Token 헤더 이름
+ * accessExpiration: Access Token 유효 기간
+ * refreshExpiration: Refresh Token 유효 기간
+ */
+@Getter
+@ConfigurationProperties("jwt")
+public class JwtProperties {
+    private final String bearer;
+    private final String secret;
+    private final String accessHeader;
+    private final String refreshHeader;
+    private final Long accessExpiration;
+    private final Long refreshExpiration;
+
+    @ConstructorBinding
+    public JwtProperties(String bearer, String secret, String accessHeader, String refreshHeader,
+                         Long accessExpiration, Long refreshExpiration) {
+        this.bearer = bearer;
+        this.secret = secret;
+        this.accessHeader = accessHeader;
+        this.refreshHeader = refreshHeader;
+        this.accessExpiration = accessExpiration;
+        this.refreshExpiration = refreshExpiration;
+    }
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.properties/RedisProperties.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.properties/RedisProperties.html new file mode 100644 index 00000000..3538406a --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.config.properties/RedisProperties.html @@ -0,0 +1 @@ +RedisProperties

RedisProperties

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total9 of 90%0 of 0n/a114411
RedisProperties(String, Integer)90%n/a114411
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.properties/RedisProperties.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.properties/RedisProperties.java.html new file mode 100644 index 00000000..2740aac6 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.config.properties/RedisProperties.java.html @@ -0,0 +1,25 @@ +RedisProperties.java

RedisProperties.java

package com.softeer.backend.global.config.properties;
+
+import lombok.Getter;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.boot.context.properties.bind.ConstructorBinding;
+
+/**
+ * Redis 속성 관리 클래스
+ * <p>
+ * host: Redis host 정보
+ * port: Redis 포트 정보
+ */
+@Getter
+@ConfigurationProperties("spring.data.redis")
+public class RedisProperties {
+    private final String host;
+    private final Integer port;
+
+    @ConstructorBinding
+    public RedisProperties(String host, Integer port) {
+        this.host = host;
+        this.port = port;
+    }
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.properties/index.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.properties/index.html new file mode 100644 index 00000000..1b6eea94 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.config.properties/index.html @@ -0,0 +1 @@ +com.softeer.backend.global.config.properties

com.softeer.backend.global.config.properties

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total30 of 300%0 of 0n/a2212122222
JwtProperties210%n/a11881111
RedisProperties90%n/a11441111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.properties/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.properties/index.source.html new file mode 100644 index 00000000..a99eb421 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.config.properties/index.source.html @@ -0,0 +1 @@ +com.softeer.backend.global.config.properties

com.softeer.backend.global.config.properties

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total30 of 300%0 of 0n/a2212122222
JwtProperties.java210%n/a11881111
RedisProperties.java90%n/a11441111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.redis/RedisConfig.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.redis/RedisConfig.html new file mode 100644 index 00000000..9e1b4667 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.config.redis/RedisConfig.html @@ -0,0 +1 @@ +RedisConfig

RedisConfig

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total60 of 600%0 of 0n/a33121233
redisTemplateForInteger(RedisConnectionFactory)310%n/a117711
redissonClient()180%n/a114411
redisConnectionFactory()110%n/a111111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.redis/RedisConfig.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.redis/RedisConfig.java.html new file mode 100644 index 00000000..40a50369 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.config.redis/RedisConfig.java.html @@ -0,0 +1,62 @@ +RedisConfig.java

RedisConfig.java

package com.softeer.backend.global.config.redis;
+
+import com.softeer.backend.global.config.properties.RedisProperties;
+import lombok.RequiredArgsConstructor;
+import org.redisson.Redisson;
+import org.redisson.api.RedissonClient;
+import org.redisson.config.Config;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.data.redis.connection.RedisConnectionFactory;
+import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory;
+import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.data.redis.serializer.GenericToStringSerializer;
+import org.springframework.data.redis.serializer.StringRedisSerializer;
+
+/**
+ * Redis 환경설정 클래스
+ */
+@Configuration
+@RequiredArgsConstructor
+public class RedisConfig {
+    private static final String REDISSON_HOST_PREFIX = "redis://";
+
+    private final RedisProperties redisProperties;
+
+    @Bean
+    public RedisConnectionFactory redisConnectionFactory() {
+        return new LettuceConnectionFactory(redisProperties.getHost(), redisProperties.getPort());
+    }
+
+    @Bean
+    public RedisTemplate<String, Integer> redisTemplateForInteger(RedisConnectionFactory connectionFactory) {
+        RedisTemplate<String, Integer> template = new RedisTemplate<>();
+        template.setConnectionFactory(connectionFactory);
+
+        template.setKeySerializer(new StringRedisSerializer());
+
+        template.setValueSerializer(new GenericToStringSerializer<>(Integer.class));
+
+        template.setHashKeySerializer(new StringRedisSerializer());
+
+        template.setHashValueSerializer(new GenericToStringSerializer<>(Integer.class));
+
+        return template;
+    }
+
+    /**
+     * Redisson 설정
+     *
+     * @return RedissonClient 객체
+     */
+    @Bean
+    public RedissonClient redissonClient() {
+
+        Config config = new Config();
+        config.useSingleServer().setAddress(
+                REDISSON_HOST_PREFIX + redisProperties.getHost() + ":" + redisProperties.getPort());
+
+        return Redisson.create(config);
+    }
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.redis/index.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.redis/index.html new file mode 100644 index 00000000..6f9b9d7e --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.config.redis/index.html @@ -0,0 +1 @@ +com.softeer.backend.global.config.redis

com.softeer.backend.global.config.redis

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total60 of 600%0 of 0n/a3312123311
RedisConfig600%n/a3312123311
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.redis/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.redis/index.source.html new file mode 100644 index 00000000..b75b2cbf --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.config.redis/index.source.html @@ -0,0 +1 @@ +com.softeer.backend.global.config.redis

com.softeer.backend.global.config.redis

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total60 of 600%0 of 0n/a3312123311
RedisConfig.java600%n/a3312123311
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.schedular/SchedulerConfig.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.schedular/SchedulerConfig.html new file mode 100644 index 00000000..fe2a97d9 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.config.schedular/SchedulerConfig.html @@ -0,0 +1 @@ +SchedulerConfig

SchedulerConfig

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total15 of 150%0 of 0n/a225522
taskScheduler()120%n/a114411
SchedulerConfig()30%n/a111111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.schedular/SchedulerConfig.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.schedular/SchedulerConfig.java.html new file mode 100644 index 00000000..b6766acc --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.config.schedular/SchedulerConfig.java.html @@ -0,0 +1,17 @@ +SchedulerConfig.java

SchedulerConfig.java

package com.softeer.backend.global.config.schedular;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
+
+@Configuration
+public class SchedulerConfig {
+    @Bean
+    public ThreadPoolTaskScheduler taskScheduler() {
+        ThreadPoolTaskScheduler taskScheduler = new ThreadPoolTaskScheduler();
+        taskScheduler.setPoolSize(2);
+        taskScheduler.setThreadNamePrefix("Scheduler-");
+        return taskScheduler;
+    }
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.schedular/index.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.schedular/index.html new file mode 100644 index 00000000..8a985653 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.config.schedular/index.html @@ -0,0 +1 @@ +com.softeer.backend.global.config.schedular

com.softeer.backend.global.config.schedular

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total15 of 150%0 of 0n/a22552211
SchedulerConfig150%n/a22552211
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.schedular/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.schedular/index.source.html new file mode 100644 index 00000000..0646f84f --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.config.schedular/index.source.html @@ -0,0 +1 @@ +com.softeer.backend.global.config.schedular

com.softeer.backend.global.config.schedular

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total15 of 150%0 of 0n/a22552211
SchedulerConfig.java150%n/a22552211
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.web/WebMvcConfig.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.web/WebMvcConfig.html new file mode 100644 index 00000000..f9970646 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.config.web/WebMvcConfig.html @@ -0,0 +1 @@ +WebMvcConfig

WebMvcConfig

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total206 of 2060%0 of 0n/a77333377
addCorsMappings(CorsRegistry)770%n/a118811
jwtAuthenticationFilter()280%n/a115511
addInterceptors(InterceptorRegistry)250%n/a115511
exceptionHandleFilter()240%n/a115511
shallowEtagHeaderFilter()230%n/a113311
jwtAuthorizationFilter()220%n/a115511
addArgumentResolvers(List)70%n/a112211
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.web/WebMvcConfig.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.web/WebMvcConfig.java.html new file mode 100644 index 00000000..567e78ff --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.config.web/WebMvcConfig.java.html @@ -0,0 +1,121 @@ +WebMvcConfig.java

WebMvcConfig.java

package com.softeer.backend.global.config.web;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.softeer.backend.fo_domain.draw.interceptor.DrawTimeCheckInterceptor;
+import com.softeer.backend.fo_domain.fcfs.interceptor.FcfsTimeCheckInterceptor;
+import com.softeer.backend.global.annotation.argumentresolver.AuthInfoArgumentResolver;
+import com.softeer.backend.global.config.properties.JwtProperties;
+import com.softeer.backend.global.filter.ExceptionHandlingFilter;
+import com.softeer.backend.global.filter.JwtAuthenticationFilter;
+import com.softeer.backend.global.filter.JwtAuthorizationFilter;
+import com.softeer.backend.global.util.JwtUtil;
+import com.softeer.backend.global.util.StringRedisUtil;
+import lombok.RequiredArgsConstructor;
+import org.springframework.boot.web.servlet.FilterRegistrationBean;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.filter.ShallowEtagHeaderFilter;
+import org.springframework.web.method.support.HandlerMethodArgumentResolver;
+import org.springframework.web.servlet.config.annotation.CorsRegistry;
+import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+
+import java.util.List;
+
+/**
+ * WebMvc 설정 클래스
+ */
+@Configuration
+@RequiredArgsConstructor
+public class WebMvcConfig implements WebMvcConfigurer {
+
+    private final ObjectMapper objectMapper;
+    private final JwtUtil jwtUtil;
+    private final StringRedisUtil stringRedisUtil;
+    private final JwtProperties jwtProperties;
+
+    private final FcfsTimeCheckInterceptor fcfsTimeCheckInterceptor;
+    private final DrawTimeCheckInterceptor drawTimeCheckInterceptor;
+
+    /**
+     * AuthInfo 애노테이션에 대한 Argument Resolver 등록
+     *
+     * @param resolvers
+     */
+    public void addArgumentResolvers(List<HandlerMethodArgumentResolver> resolvers) {
+        resolvers.add(new AuthInfoArgumentResolver());
+    }
+
+    @Override
+    public void addInterceptors(InterceptorRegistry registry) {
+        registry.addInterceptor(fcfsTimeCheckInterceptor)
+                .addPathPatterns("/fcfs");
+
+        registry.addInterceptor(drawTimeCheckInterceptor)
+                .addPathPatterns("/event/draw");
+    }
+
+    /**
+     * CORS 설정 메서드
+     *
+     * @param registry Cors 등록 객체
+     */
+    @Override
+    public void addCorsMappings(CorsRegistry registry) {
+
+        registry.addMapping("/**")
+                .allowedOrigins("https://softeer.site", "http://localhost:5173", "https://softeer.shop",
+                        "https://d3qmq1ffhp5il9.cloudfront.net") // 허용할 도메인 설정
+                .allowedMethods("OPTIONS", "GET", "POST", "PUT", "DELETE") // 허용할 HTTP 메서드 설정
+                .allowedHeaders("Content-Type", "Authorization", "Authorization-Refresh") // 허용할 헤더 설정
+                .exposedHeaders("Authorization", "Authorization-Refresh") // 클라이언트에 노출할 헤더 설정
+                .allowCredentials(true) // 자격 증명 허용
+                .maxAge(3600); // preflight 요청의 캐시 시간 설정 (초 단위)
+    }
+
+    /**
+     * ExceptionHandlingFilter를 필터에 등록
+     */
+    @Bean
+    public FilterRegistrationBean<ExceptionHandlingFilter> exceptionHandleFilter() {
+        FilterRegistrationBean<ExceptionHandlingFilter> registrationBean = new FilterRegistrationBean<>();
+        registrationBean.setFilter(new ExceptionHandlingFilter(objectMapper));
+        registrationBean.addUrlPatterns("/*");
+        registrationBean.setOrder(1);
+        return registrationBean;
+    }
+
+    /**
+     * JwtAuthenticationFilter를 필터에 등록
+     */
+    @Bean
+    public FilterRegistrationBean<JwtAuthenticationFilter> jwtAuthenticationFilter() {
+        FilterRegistrationBean<JwtAuthenticationFilter> registrationBean = new FilterRegistrationBean<>();
+        registrationBean.setFilter(new JwtAuthenticationFilter(jwtUtil, stringRedisUtil, jwtProperties));
+        registrationBean.addUrlPatterns("/*");
+        registrationBean.setOrder(2);
+        return registrationBean;
+    }
+
+    /**
+     * JwtAuthorizationFilter를 필터에 등록
+     */
+    @Bean
+    public FilterRegistrationBean<JwtAuthorizationFilter> jwtAuthorizationFilter() {
+        FilterRegistrationBean<JwtAuthorizationFilter> registrationBean = new FilterRegistrationBean<>();
+        registrationBean.setFilter(new JwtAuthorizationFilter());
+        registrationBean.addUrlPatterns("/admin/*");
+        registrationBean.setOrder(3);
+        return registrationBean;
+    }
+
+    @Bean
+    public FilterRegistrationBean<ShallowEtagHeaderFilter> shallowEtagHeaderFilter() {
+        FilterRegistrationBean<ShallowEtagHeaderFilter> filterRegistrationBean
+                = new FilterRegistrationBean<>(new ShallowEtagHeaderFilter());
+        filterRegistrationBean.addUrlPatterns("/main/event/static", "/main/car");
+        return filterRegistrationBean;
+    }
+
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.web/index.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.web/index.html new file mode 100644 index 00000000..7eaf93fa --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.config.web/index.html @@ -0,0 +1 @@ +com.softeer.backend.global.config.web

com.softeer.backend.global.config.web

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total206 of 2060%0 of 0n/a7733337711
WebMvcConfig2060%n/a7733337711
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.web/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.web/index.source.html new file mode 100644 index 00000000..02877261 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.config.web/index.source.html @@ -0,0 +1 @@ +com.softeer.backend.global.config.web

com.softeer.backend.global.config.web

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total206 of 2060%0 of 0n/a7733337711
WebMvcConfig.java2060%n/a7733337711
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.filter/ExceptionHandlingFilter.html b/jacoco/jacocoHtml/com.softeer.backend.global.filter/ExceptionHandlingFilter.html new file mode 100644 index 00000000..2f14de37 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.filter/ExceptionHandlingFilter.html @@ -0,0 +1 @@ +ExceptionHandlingFilter

ExceptionHandlingFilter

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total59 of 590%0 of 0n/a33202033
setErrorResponse(HttpServletResponse, BaseErrorCode)290%n/a11101011
doFilterInternal(HttpServletRequest, HttpServletResponse, FilterChain)260%n/a119911
static {...}40%n/a111111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.filter/ExceptionHandlingFilter.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.filter/ExceptionHandlingFilter.java.html new file mode 100644 index 00000000..92151b3c --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.filter/ExceptionHandlingFilter.java.html @@ -0,0 +1,68 @@ +ExceptionHandlingFilter.java

ExceptionHandlingFilter.java

package com.softeer.backend.global.filter;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.softeer.backend.global.common.code.BaseErrorCode;
+import com.softeer.backend.global.common.code.status.ErrorStatus;
+import com.softeer.backend.global.common.exception.JwtAuthenticationException;
+import com.softeer.backend.global.common.response.ResponseDto;
+import jakarta.servlet.FilterChain;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.filter.OncePerRequestFilter;
+
+import java.io.IOException;
+import java.io.OutputStream;
+
+/**
+ * Jwt 예외를 처리하는 필터 클래스
+ */
+@Slf4j
+@RequiredArgsConstructor
+public class ExceptionHandlingFilter extends OncePerRequestFilter {
+
+    private final ObjectMapper objectMapper;
+
+    @Override
+    protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) {
+        try {
+            filterChain.doFilter(request, response);
+            // Jwt 인증 예외 처리
+        } catch (JwtAuthenticationException jwtAuthenticationException) {
+
+            log.error("JwtAuthenticationException occurs in ExceptionHandlingFilter",
+                    jwtAuthenticationException);
+
+            setErrorResponse(response, jwtAuthenticationException.getCode());
+
+            // 나머지 예외 처리
+        } catch (Exception e) {
+
+            log.error("Exception occurs in ExceptionHandlingFilter", e);
+
+            setErrorResponse(response, ErrorStatus._INTERNAL_SERVER_ERROR);
+        }
+    }
+
+    // 인증 예외 처리 메서드
+    private void setErrorResponse(HttpServletResponse response,
+                                  BaseErrorCode errorCode) {
+
+
+        response.setStatus(errorCode.getHttpStatus().value());
+        response.setContentType("application/json");
+        response.setCharacterEncoding("UTF-8");
+
+        try (OutputStream os = response.getOutputStream()) {
+
+            objectMapper.writeValue(os, ResponseDto.onFailure(errorCode));
+            os.flush();
+
+        } catch (IOException e) {
+
+            log.error("IOException occurs in ExceptionHandlingFilter", e);
+        }
+    }
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.filter/JwtAuthenticationFilter.html b/jacoco/jacocoHtml/com.softeer.backend.global.filter/JwtAuthenticationFilter.html new file mode 100644 index 00000000..7e534881 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.filter/JwtAuthenticationFilter.html @@ -0,0 +1 @@ +JwtAuthenticationFilter

JwtAuthenticationFilter

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total298 of 2980%18 of 180%252574741616
doFilterInternal(HttpServletRequest, HttpServletResponse, FilterChain)670%100%66161611
isRefreshTokenMatch(String)320%40%336611
makeResultResponse(HttpServletResponse, JwtTokenResponseDto)310%n/a119911
reIssueRefreshToken(JwtClaimsDto)260%n/a114411
reissueAccessTokenAndRefreshToken(HttpServletResponse, String, String)250%n/a115511
makeAndSendAccessTokenAndRefreshToken(HttpServletResponse, String, String)230%n/a118811
checkAccessToken(HttpServletRequest)180%n/a115511
validateAccessToken(String)140%20%224411
validateRefreshToken(String)140%20%224411
checkAllConditions(String, String)100%n/a114411
lambda$checkAccessToken$2()80%n/a112211
lambda$doFilterInternal$1()80%n/a112211
lambda$doFilterInternal$0()80%n/a112211
isUriInWhiteList(String)50%n/a111111
isUriInOptionalAuthList(String)50%n/a111111
static {...}40%n/a111111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.filter/JwtAuthenticationFilter.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.filter/JwtAuthenticationFilter.java.html new file mode 100644 index 00000000..362fae6a --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.filter/JwtAuthenticationFilter.java.html @@ -0,0 +1,215 @@ +JwtAuthenticationFilter.java

JwtAuthenticationFilter.java

package com.softeer.backend.global.filter;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
+import com.softeer.backend.global.common.code.status.ErrorStatus;
+import com.softeer.backend.global.common.dto.JwtClaimsDto;
+import com.softeer.backend.global.common.exception.JwtAuthenticationException;
+import com.softeer.backend.global.common.response.ResponseDto;
+import com.softeer.backend.global.config.properties.JwtProperties;
+import com.softeer.backend.global.util.JwtUtil;
+import com.softeer.backend.global.util.StringRedisUtil;
+import com.softeer.backend.global.common.dto.JwtTokenResponseDto;
+import jakarta.servlet.FilterChain;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.http.HttpStatus;
+import org.springframework.util.PatternMatchUtils;
+import org.springframework.web.cors.CorsUtils;
+import org.springframework.web.filter.OncePerRequestFilter;
+
+import java.io.IOException;
+import java.io.OutputStream;
+import java.time.LocalDateTime;
+
+/**
+ * Jwt 인증을 처리하는 필터 클래스
+ */
+@Slf4j
+@RequiredArgsConstructor
+public class JwtAuthenticationFilter extends OncePerRequestFilter {
+
+    // 인증검사를 하지 않는 url 설정
+    private final String[] whiteListUrls = {
+            "/swagger-ui/**", "/swagger", "/v3/**", "/error/**",
+            "/verification/send", "/verification/confirm", "/verification/send/test",
+            "/login",
+            "/main/event/static", "/main/event/info", "/main/car",
+            "/admin/login", "/admin/signup",
+            "/share/**"
+    };
+
+    // Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정
+    private final String[] optionalAuthUrls = {
+            "/comment",
+            "/share-shorten-url"
+    };
+
+    private final JwtUtil jwtUtil;
+    private final StringRedisUtil stringRedisUtil;
+    private final JwtProperties jwtProperties;
+
+    @Override
+    protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException {
+
+        // preflight 요청 또는 whitelist에 있는 요청은 인증 검사 x
+        if (CorsUtils.isPreFlightRequest(request) || isUriInWhiteList(request.getRequestURI())) {
+            filterChain.doFilter(request, response);
+            return;
+        }
+
+        // optionalAuthUrls에 등록된 url 중, access token이 header에 없으면 인증 x
+        if (isUriInOptionalAuthList(request.getRequestURI()) &&
+                jwtUtil.extractAccessToken(request).isEmpty()) {
+
+            filterChain.doFilter(request, response);
+            return;
+        }
+
+
+        // Case 01) Access Token 재발급인 경우(Authorization Header Access Token 유효성 x)
+        if (request.getRequestURI().contains("/reissue")) {
+            String accessToken = jwtUtil.extractAccessToken(request).orElseThrow(() -> {
+                log.error("Access Token is missing in the Authorization header during the '/reissue' process.");
+                return new JwtAuthenticationException(ErrorStatus._REISSUE_ERROR);
+            });
+            String refreshToken = jwtUtil.extractRefreshToken(request).orElseThrow(() -> {
+                log.error("Refresh Token is missing in the Authorization header during the '/reissue' process.");
+                return new JwtAuthenticationException(ErrorStatus._REISSUE_ERROR);
+            });
+
+            this.reissueAccessTokenAndRefreshToken(response, accessToken, refreshToken);
+        }
+        // Case 02) 일반 API 요청인 경우
+        else {
+            checkAccessToken(request);
+            log.info("jwtAuthentication filter is finished");
+
+            // Authentication Exception 없이 정상 인증처리 된 경우
+            // 기존 필터 체인 호출
+            filterChain.doFilter(request, response);
+        }
+    }
+
+    private boolean isUriInWhiteList(String url) {
+        return PatternMatchUtils.simpleMatch(whiteListUrls, url);
+    }
+
+    private boolean isUriInOptionalAuthList(String url) {
+        return PatternMatchUtils.simpleMatch(optionalAuthUrls, url);
+    }
+
+    private void reissueAccessTokenAndRefreshToken(HttpServletResponse response,
+                                                   String accessToken, String refreshToken) throws IOException {
+        /**
+         * 1. refresh token 유효성 검증
+         * 2. access token 유효성 검증(유효하지 않아야 함)
+         * 3. redis refresh 와 일치 여부 확인
+         */
+        checkAllConditions(accessToken, refreshToken);
+        String newAccessToken = jwtUtil.createAccessToken(jwtUtil.getJwtClaimsFromRefreshToken(refreshToken));
+        String newRefreshToken = reIssueRefreshToken(jwtUtil.getJwtClaimsFromRefreshToken(refreshToken));
+        makeAndSendAccessTokenAndRefreshToken(response, newAccessToken, newRefreshToken);
+    }
+
+    // Access Token + Refresh Token 재발급 메소드
+    private void checkAllConditions(String accessToken, String refreshToken) {
+        /**
+         * 1. access Token 유효하지 않은지 확인
+         * 2. refresh Token 유효한지 확인
+         * 3. refresh Token 일치하는지 확인
+         **/
+        validateAccessToken(accessToken);
+        validateRefreshToken(refreshToken);
+        isRefreshTokenMatch(refreshToken);
+    }
+
+    private void validateAccessToken(String accessToken) {
+        if (jwtUtil.validateToken(accessToken)) {
+            log.error("JWT Access Token is valid during the '/reissue' process.");
+            throw new JwtAuthenticationException(ErrorStatus._REISSUE_ERROR);
+        }
+    }
+
+    private void validateRefreshToken(String refreshToken) {
+        if (!this.jwtUtil.validateToken(refreshToken)) {
+            log.error("JWT Refresh Token is invalid during the '/reissue' process.");
+            throw new JwtAuthenticationException(ErrorStatus._REISSUE_ERROR);
+        }
+    }
+
+    private void isRefreshTokenMatch(String refreshToken) {
+        JwtClaimsDto jwtClaimsDto = jwtUtil.getJwtClaimsFromRefreshToken(refreshToken);
+
+        if (stringRedisUtil.getData(stringRedisUtil.getRedisKeyForJwt(jwtClaimsDto)) == null ||
+                !refreshToken.equals(stringRedisUtil.getData(stringRedisUtil.getRedisKeyForJwt(jwtClaimsDto)))) {
+
+            log.error("WT Refresh Token is either missing in Redis or does not match the token in Redis.");
+            throw new JwtAuthenticationException(ErrorStatus._REISSUE_ERROR);
+        }
+    }
+
+    /**
+     * refresh token 재발급 하는 메소드
+     * 1. 새로운 Refresh Token 발급
+     * 2. 해당 Key 에 해당하는 Redis Value 업데이트
+     **/
+    private String reIssueRefreshToken(JwtClaimsDto jwtClaimsDto) {
+        // 기존 refresh token 삭제
+        stringRedisUtil.deleteData(stringRedisUtil.getRedisKeyForJwt(jwtClaimsDto));
+        String reIssuedRefreshToken = jwtUtil.createRefreshToken(jwtClaimsDto);
+        // refresh token 저장
+        stringRedisUtil.setDataExpire(stringRedisUtil.getRedisKeyForJwt(jwtClaimsDto), reIssuedRefreshToken, jwtProperties.getRefreshExpiration());
+        return reIssuedRefreshToken;
+    }
+
+    /**
+     * 재발급한 refresh & access token 응답으로 보내는 메소드
+     * 1. 상태 코드 설정
+     * 2. 응답 헤더에 설정 (jwtProperties 에서 정보 가져옴)
+     **/
+    private void makeAndSendAccessTokenAndRefreshToken(HttpServletResponse response,
+                                                       String accessToken,
+                                                       String refreshToken) throws IOException {
+        LocalDateTime expireTime = LocalDateTime.now().plusSeconds(this.jwtProperties.getAccessExpiration() / 1000);
+        // refresh token, access token 을 응답 본문에 넣어 응답
+        JwtTokenResponseDto jwtTokenResponseDto = JwtTokenResponseDto.builder()
+                .accessToken(accessToken)
+                .refreshToken(refreshToken)
+                .expiredTime(expireTime)
+                .build();
+        makeResultResponse(response, jwtTokenResponseDto);
+    }
+
+    private void makeResultResponse(HttpServletResponse response,
+                                    JwtTokenResponseDto jwtTokenResponseDto) throws IOException {
+        response.setStatus(HttpStatus.OK.value());
+        response.setContentType("application/json");
+        response.setCharacterEncoding("UTF-8");
+
+        try (OutputStream os = response.getOutputStream()) {
+            ObjectMapper objectMapper = new ObjectMapper().registerModule(new JavaTimeModule());
+            ResponseDto<JwtTokenResponseDto> responseDto = ResponseDto.onSuccess(jwtTokenResponseDto);
+            objectMapper.writeValue(os, responseDto);
+            os.flush();
+        }
+    }
+
+    private void checkAccessToken(HttpServletRequest request) {
+
+        String accessToken = jwtUtil.extractAccessToken(request)
+                .orElseThrow(() -> {
+                    log.error("Access Token is missing in the Authorization header.");
+                    return new JwtAuthenticationException(ErrorStatus._UNAUTHORIZED);
+                });
+
+        JwtClaimsDto jwtClaimsDto = jwtUtil.getJwtClaimsFromAccessToken(accessToken);
+
+        request.setAttribute("jwtClaims", jwtClaimsDto);
+    }
+
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.filter/JwtAuthorizationFilter.html b/jacoco/jacocoHtml/com.softeer.backend.global.filter/JwtAuthorizationFilter.html new file mode 100644 index 00000000..13458218 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.filter/JwtAuthorizationFilter.html @@ -0,0 +1 @@ +JwtAuthorizationFilter

JwtAuthorizationFilter

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total46 of 460%8 of 80%77111133
doFilterInternal(HttpServletRequest, HttpServletResponse, FilterChain)370%80%559911
isUriInWhiteList(String)50%n/a111111
static {...}40%n/a111111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.filter/JwtAuthorizationFilter.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.filter/JwtAuthorizationFilter.java.html new file mode 100644 index 00000000..44c3045f --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.filter/JwtAuthorizationFilter.java.html @@ -0,0 +1,56 @@ +JwtAuthorizationFilter.java

JwtAuthorizationFilter.java

package com.softeer.backend.global.filter;
+
+import com.softeer.backend.global.common.code.status.ErrorStatus;
+import com.softeer.backend.global.common.constant.RoleType;
+import com.softeer.backend.global.common.dto.JwtClaimsDto;
+import com.softeer.backend.global.common.exception.JwtAuthorizationException;
+import jakarta.servlet.FilterChain;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import lombok.NoArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.util.PatternMatchUtils;
+import org.springframework.web.cors.CorsUtils;
+import org.springframework.web.filter.OncePerRequestFilter;
+
+import java.io.IOException;
+
+/**
+ * 유저의 권한을 검증하는 필터 클래스
+ */
+@Slf4j
+@NoArgsConstructor
+public class JwtAuthorizationFilter extends OncePerRequestFilter {
+
+    // 인가검사를 하지 않는 url 설정
+    private final String[] whiteListUrls = {
+            "/admin/login", "/admin/signup"
+    };
+
+    @Override
+    protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException {
+
+        if(CorsUtils.isPreFlightRequest(request) || isUriInWhiteList(request.getRequestURI())){
+            filterChain.doFilter(request, response);
+            return;
+        }
+
+
+        JwtClaimsDto jwtClaimsDto = (JwtClaimsDto) request.getAttribute("jwtClaims");
+
+        if (jwtClaimsDto == null || jwtClaimsDto.getRoleType() != RoleType.ROLE_ADMIN) {
+
+            log.error("JwtAuthorizationException has occurred");
+            throw new JwtAuthorizationException(ErrorStatus._FORBIDDEN);
+        }
+
+        filterChain.doFilter(request, response);
+    }
+
+    private boolean isUriInWhiteList(String url) {
+        return PatternMatchUtils.simpleMatch(whiteListUrls, url);
+    }
+
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.filter/index.html b/jacoco/jacocoHtml/com.softeer.backend.global.filter/index.html new file mode 100644 index 00000000..cc7ab49a --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.filter/index.html @@ -0,0 +1 @@ +com.softeer.backend.global.filter

com.softeer.backend.global.filter

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total403 of 4030%26 of 260%3535105105222233
JwtAuthenticationFilter2980%180%25257474161611
ExceptionHandlingFilter590%n/a3320203311
JwtAuthorizationFilter460%80%7711113311
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.filter/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.global.filter/index.source.html new file mode 100644 index 00000000..396d3605 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.filter/index.source.html @@ -0,0 +1 @@ +com.softeer.backend.global.filter

com.softeer.backend.global.filter

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total403 of 4030%26 of 260%3535105105222233
JwtAuthenticationFilter.java2980%180%25257474161611
ExceptionHandlingFilter.java590%n/a3320203311
JwtAuthorizationFilter.java460%80%7711113311
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.scheduler/DbInsertScheduler.html b/jacoco/jacocoHtml/com.softeer.backend.global.scheduler/DbInsertScheduler.html new file mode 100644 index 00000000..b456b2a4 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.scheduler/DbInsertScheduler.html @@ -0,0 +1 @@ +DbInsertScheduler

DbInsertScheduler

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total262 of 2620%14 of 140%1515636388
insertData()1980%120%77434311
lambda$insertData$1(int, String, Integer)230%n/a119911
scheduleTask()120%n/a112211
stopScheduler()90%20%223311
lambda$insertData$0()80%n/a112211
lambda$insertData$2()50%n/a111111
static {...}40%n/a111111
init()30%n/a112211
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.scheduler/DbInsertScheduler.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.scheduler/DbInsertScheduler.java.html new file mode 100644 index 00000000..bd3dc99f --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.scheduler/DbInsertScheduler.java.html @@ -0,0 +1,155 @@ +DbInsertScheduler.java

DbInsertScheduler.java

package com.softeer.backend.global.scheduler;
+
+import com.softeer.backend.bo_domain.eventparticipation.domain.EventParticipation;
+import com.softeer.backend.bo_domain.eventparticipation.repository.EventParticipationRepository;
+import com.softeer.backend.fo_domain.draw.domain.Draw;
+import com.softeer.backend.fo_domain.draw.repository.DrawRepository;
+import com.softeer.backend.fo_domain.draw.service.DrawSettingManager;
+import com.softeer.backend.fo_domain.fcfs.domain.Fcfs;
+import com.softeer.backend.fo_domain.fcfs.repository.FcfsRepository;
+import com.softeer.backend.fo_domain.fcfs.service.FcfsSettingManager;
+import com.softeer.backend.fo_domain.user.domain.User;
+import com.softeer.backend.fo_domain.user.exception.UserException;
+import com.softeer.backend.fo_domain.user.repository.UserRepository;
+import com.softeer.backend.global.common.code.status.ErrorStatus;
+import com.softeer.backend.global.common.constant.RedisKeyPrefix;
+import com.softeer.backend.global.util.DrawRedisUtil;
+import com.softeer.backend.global.util.EventLockRedisUtil;
+import com.softeer.backend.global.util.FcfsRedisUtil;
+import jakarta.annotation.PostConstruct;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
+import org.springframework.scheduling.support.CronTrigger;
+import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.util.Map;
+import java.util.Set;
+import java.util.concurrent.ScheduledFuture;
+
+@Slf4j
+@Component
+@RequiredArgsConstructor
+public class DbInsertScheduler {
+
+    private final ThreadPoolTaskScheduler taskScheduler;
+    private final EventLockRedisUtil eventLockRedisUtil;
+    private final FcfsRedisUtil fcfsRedisUtil;
+    private final DrawRedisUtil drawRedisUtil;
+    private final FcfsSettingManager fcfsSettingManager;
+    private final DrawSettingManager drawSettingManager;
+    private final EventParticipationRepository eventParticipationRepository;
+    private final UserRepository userRepository;
+    private final FcfsRepository fcfsRepository;
+    private final DrawRepository drawRepository;
+
+
+    private ScheduledFuture<?> scheduledFuture;
+
+    @PostConstruct
+    public void init() {
+        scheduleTask();
+
+    }
+
+    public void scheduleTask() {
+        scheduledFuture = taskScheduler.schedule(this::insertData, new CronTrigger("0 0 2 * * *"));
+    }
+
+    @Transactional
+    protected void insertData() {
+        LocalDate now = LocalDate.now();
+        if (now.isBefore(drawSettingManager.getStartDate().plusDays(1)))
+            return;
+
+        if (now.isAfter(drawSettingManager.getEndDate().plusDays(1)))
+            stopScheduler();
+
+        int totalVisitorsCount = eventLockRedisUtil.getData(RedisKeyPrefix.TOTAL_VISITORS_COUNT_PREFIX.getPrefix());
+        eventLockRedisUtil.deleteData(RedisKeyPrefix.TOTAL_VISITORS_COUNT_PREFIX.getPrefix());
+
+        int fcfsParticipantCount = 0;
+
+        if (fcfsSettingManager.getRoundForScheduler(now) != -1) {
+            fcfsSettingManager.setFcfsClosed(false);
+
+            int round = fcfsSettingManager.getRoundForScheduler(now);
+
+            Map<String, Integer> participantIds = fcfsRedisUtil.getHashEntries(RedisKeyPrefix.FCFS_CODE_USERID_PREFIX.getPrefix() + round);
+            participantIds.forEach((code, userId) -> {
+                User user = userRepository.findById(userId)
+                        .orElseThrow(() -> {
+                            log.error("user not found in saveFcfsWinners method.");
+                            return new UserException(ErrorStatus._NOT_FOUND);
+                        });
+
+                Fcfs fcfs = Fcfs.builder()
+                        .user(user)
+                        .round(round)
+                        .code(code)
+                        .build();
+                fcfsRepository.save(fcfs);
+            });
+
+            fcfsParticipantCount += fcfsRedisUtil.getValue(RedisKeyPrefix.FCFS_PARTICIPANT_COUNT_PREFIX.getPrefix() + round);
+
+            fcfsRedisUtil.clearValue(RedisKeyPrefix.FCFS_PARTICIPANT_COUNT_PREFIX.getPrefix() + round);
+            fcfsRedisUtil.clearIntegerSet(RedisKeyPrefix.FCFS_USERID_PREFIX.getPrefix() + round);
+            fcfsRedisUtil.clearStringSet(RedisKeyPrefix.FCFS_CODE_PREFIX.getPrefix() + round);
+            fcfsRedisUtil.clearHash(RedisKeyPrefix.FCFS_CODE_USERID_PREFIX.getPrefix() + round);
+        }
+
+        // drawParticipantCount에 추첨 이벤트 참가자 수 할당하기
+        int drawParticipantCount = drawRedisUtil.getDrawParticipantCount();
+        // redis에서 추첨 참가자 수 삭제
+        drawRedisUtil.deleteDrawParticipantCount();
+
+        // 추첨 당첨자 DB에 insert
+        String drawWinnerKey;
+        for (int ranking = 1; ranking < 4; ranking++) {
+            drawWinnerKey = RedisKeyPrefix.DRAW_WINNER_LIST_PREFIX.getPrefix() + ranking;
+            Set<Integer> winnerSet = drawRedisUtil.getAllDataAsSet(drawWinnerKey);
+
+            LocalDate winningDate = LocalDate.now().minusDays(1);
+
+            for (Integer userId : winnerSet) {
+                User user = userRepository.findById(userId).orElseThrow(
+                        () -> new UserException(ErrorStatus._NOT_FOUND));
+
+                Draw draw = Draw.builder()
+                        .user(user)
+                        .rank(ranking)
+                        .winningDate(winningDate)
+                        .build();
+
+                drawRepository.save(draw);
+            }
+        }
+
+        // redis에서 추첨 당첨자 목록 삭제
+        for (int ranking = 1; ranking < 4; ranking++) {
+            drawWinnerKey = RedisKeyPrefix.DRAW_WINNER_LIST_PREFIX.getPrefix() + ranking;
+            drawRedisUtil.deleteAllSetData(drawWinnerKey);
+        }
+
+        eventParticipationRepository.save(EventParticipation.builder()
+                .visitorCount(totalVisitorsCount)
+                .fcfsParticipantCount(fcfsParticipantCount)
+                .drawParticipantCount(drawParticipantCount)
+                .eventDate(now.minusDays(1))
+                .build());
+    }
+
+    /**
+     * Scheduler의 작업을 비활성화 시키는 메서드
+     */
+    public void stopScheduler() {
+        if (scheduledFuture != null) {
+            scheduledFuture.cancel(false);
+        }
+    }
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.scheduler/EventSettingScheduler.html b/jacoco/jacocoHtml/com.softeer.backend.global.scheduler/EventSettingScheduler.html new file mode 100644 index 00000000..06cd23f8 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.scheduler/EventSettingScheduler.html @@ -0,0 +1 @@ +EventSettingScheduler

EventSettingScheduler

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total57 of 570%4 of 40%55121233
updateEventSetting()420%40%338811
scheduleTask()120%n/a112211
init()30%n/a112211
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.scheduler/EventSettingScheduler.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.scheduler/EventSettingScheduler.java.html new file mode 100644 index 00000000..36b4c90b --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.scheduler/EventSettingScheduler.java.html @@ -0,0 +1,59 @@ +EventSettingScheduler.java

EventSettingScheduler.java

package com.softeer.backend.global.scheduler;
+
+import com.softeer.backend.fo_domain.draw.domain.DrawSetting;
+import com.softeer.backend.fo_domain.draw.repository.DrawSettingRepository;
+import com.softeer.backend.fo_domain.draw.service.DrawSettingManager;
+import com.softeer.backend.fo_domain.fcfs.domain.FcfsSetting;
+import com.softeer.backend.fo_domain.fcfs.repository.FcfsSettingRepository;
+import com.softeer.backend.fo_domain.fcfs.service.FcfsSettingManager;
+import jakarta.annotation.PostConstruct;
+import lombok.RequiredArgsConstructor;
+import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
+import org.springframework.scheduling.support.CronTrigger;
+import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.util.List;
+import java.util.concurrent.ScheduledFuture;
+
+@Component
+@RequiredArgsConstructor
+public class EventSettingScheduler {
+
+    private final ThreadPoolTaskScheduler taskScheduler;
+
+    private final FcfsSettingManager fcfsSettingManager;
+    private final DrawSettingManager drawSettingManager;
+    private final FcfsSettingRepository fcfsSettingRepository;
+    private final DrawSettingRepository drawSettingRepository;
+
+    private ScheduledFuture<?> scheduledFuture;
+
+    @PostConstruct
+    public void init() {
+        scheduleTask();
+
+    }
+
+    public void scheduleTask() {
+        scheduledFuture = taskScheduler.schedule(this::updateEventSetting, new CronTrigger("0 0 1 * * *"));
+    }
+
+    @Transactional(readOnly = true)
+    protected void updateEventSetting() {
+        LocalDateTime now = LocalDateTime.now();
+        if (now.isBefore(LocalDateTime.of(drawSettingManager.getStartDate(), drawSettingManager.getStartTime()))
+        || now.isAfter(LocalDateTime.of(drawSettingManager.getEndDate(), drawSettingManager.getEndTime()))){
+
+            List<FcfsSetting> fcfsSettings = fcfsSettingRepository.findAll();
+            DrawSetting drawSetting = drawSettingRepository.findAll().get(0);
+
+            fcfsSettingManager.setFcfsSettingList(fcfsSettings);
+            drawSettingManager.setDrawSetting(drawSetting);
+        }
+    }
+
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.scheduler/index.html b/jacoco/jacocoHtml/com.softeer.backend.global.scheduler/index.html new file mode 100644 index 00000000..488a403c --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.scheduler/index.html @@ -0,0 +1 @@ +com.softeer.backend.global.scheduler

com.softeer.backend.global.scheduler

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total319 of 3190%18 of 180%20207575111122
DbInsertScheduler2620%140%151563638811
EventSettingScheduler570%40%5512123311
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.scheduler/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.global.scheduler/index.source.html new file mode 100644 index 00000000..ebd10184 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.scheduler/index.source.html @@ -0,0 +1 @@ +com.softeer.backend.global.scheduler

com.softeer.backend.global.scheduler

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total319 of 3190%18 of 180%20207575111122
DbInsertScheduler.java2620%140%151563638811
EventSettingScheduler.java570%40%5512123311
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/S3FileName.html b/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/S3FileName.html new file mode 100644 index 00000000..3728d3a5 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/S3FileName.html @@ -0,0 +1 @@ +S3FileName

S3FileName

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total201 of 2010%0 of 0n/a11343411
static {...}2010%n/a11343411
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/S3FileName.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/S3FileName.java.html new file mode 100644 index 00000000..7c923784 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/S3FileName.java.html @@ -0,0 +1,38 @@ +S3FileName.java

S3FileName.java

package com.softeer.backend.global.staticresources.constant;
+
+public enum S3FileName {
+    CHARGING_BACKGROUND_IMAGE,
+    CHARGING_FAST_IMAGE,
+    CHARGING_THUMBNAIL_IMAGE,
+    CHARGING_V2L_IMAGE,
+    DRAW_REWARD_IMAGE_1,
+    DRAW_REWARD_IMAGE_2,
+    DRAW_REWARD_IMAGE_3,
+    FCFS_REWARD_IMAGE_1,
+    FCFS_REWARD_IMAGE_2,
+    INTERIOR_BACKGROUND_IMAGE,
+    INTERIOR_OPENNESS_IMAGE,
+    INTERIOR_THUMBNAIL_IMAGE,
+    INTERIOR_WELLNESS_IMAGE,
+    IONIQ_VIDEO,
+    MAIN_BACKGROUND_IMAGE,
+    MAIN_THUMBNAIL_IMAGE,
+    PERFORMANCE_BACKGROUND_IMAGE,
+    PERFORMANCE_BRAKING_IMAGE,
+    PERFORMANCE_DRIVING_IMAGE,
+    PERFORMANCE_THUMBNAIL_IMAGE,
+    SAFE_ADVANCED_IMAGE,
+    SAFE_BACKGROUND_IMAGE,
+    SAFE_DRIVING_IMAGE,
+    SAFE_THUMBNAIL_IMAGE,
+    BARCODE_IMAGE,
+    SEVENTH_COMPLETE_IMAGE,
+    SEVENTH_NOT_YET_IMAGE,
+    ATTENDANCE_REWARD_IMAGE,
+    DRAW_BLOCK_DOWN_IMAGE,
+    DRAW_BLOCK_LEFT_IMAGE,
+    DRAW_BLOCK_RIGHT_IMAGE,
+    DRAW_BLOCK_UP_IMAGE,
+    DRAW_REWARD_IMAGE_2_3
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/StaticTextName.html b/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/StaticTextName.html new file mode 100644 index 00000000..0b2625e2 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/StaticTextName.html @@ -0,0 +1 @@ +StaticTextName

StaticTextName

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total423 of 4230%0 of 0n/a11717111
static {...}4230%n/a11717111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/StaticTextName.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/StaticTextName.java.html new file mode 100644 index 00000000..054656eb --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/StaticTextName.java.html @@ -0,0 +1,99 @@ +StaticTextName.java

StaticTextName.java

package com.softeer.backend.global.staticresources.constant;
+
+import lombok.Getter;
+
+public enum StaticTextName {
+    EVENT_TITLE,
+    EVENT_DESCRIPTION,
+
+    FCFS_INFO,
+    FCFS_TITLE,
+    FCFS_CONTENT,
+
+    TOTAL_DRAW_WINNER,
+    REMAIN_DRAW_COUNT,
+    DRAW_TITLE,
+    DRAW_CONTENT,
+
+    MAIN_TITLE,
+    MAIN_SUBTITLE,
+
+    INTERIOR_TITLE,
+    INTERIOR_SUBTITLE,
+    INTERIOR_IMAGE_TITLE,
+    INTERIOR_IMAGE_CONTENT,
+    INTERIOR_OPENNESS_TITLE,
+    INTERIOR_OPENNESS_SUBTITLE,
+    INTERIOR_OPENNESS_CONTENT,
+
+    INTERIOR_WELLNESS_TITLE,
+    INTERIOR_WELLNESS_SUBTITLE,
+    INTERIOR_WELLNESS_CONTENT,
+
+    PERFORMANCE_TITLE,
+    PERFORMANCE_SUBTITLE,
+    PERFORMANCE_IMAGE_TITLE,
+    PERFORMANCE_IMAGE_CONTENT,
+    PERFORMANCE_BRAKING_TITLE,
+    PERFORMANCE_BRAKING_SUBTITLE,
+    PERFORMANCE_BRAKING_CONTENT,
+
+    PERFORMANCE_DRIVING_TITLE,
+    PERFORMANCE_DRIVING_SUBTITLE,
+    PERFORMANCE_DRIVING_CONTENT,
+
+    CHARGING_TITLE,
+    CHARGING_SUBTITLE,
+    CHARGING_IMAGE_TITLE,
+    CHARGING_IMAGE_CONTENT,
+    CHARGING_FAST_TITLE,
+    CHARGING_FAST_SUBTITLE,
+    CHARGING_FAST_CONTENT,
+
+    CHARGING_V2L_TITLE,
+    CHARGING_V2L_SUBTITLE,
+    CHARGING_V2L_CONTENT,
+
+    SAFE_TITLE,
+    SAFE_SUBTITLE,
+    SAFE_IMAGE_TITLE,
+    SAFE_IMAGE_CONTENT,
+    SAFE_DRIVING_TITLE,
+    SAFE_DRIVING_SUBTITLE,
+    SAFE_DRIVING_CONTENT,
+
+    SAFE_ADVANCED_TITLE,
+    SAFE_ADVANCED_SUBTITLE,
+    SAFE_ADVANCED_CONTENT,
+
+    // 7일 연속 출석 모달
+    FULL_ATTEND_MODAL_TITLE,
+    FULL_ATTEND_MODAL_SUBTITLE,
+    FULL_ATTEND_MODAL_DESCRIPTION,
+
+    // 추첨 당첨 모달
+    DRAW_WINNER_MODAL_TITLE,
+    DRAW_FIRST_WINNER_SUBTITLE,
+    DRAW_SECOND_WINNER_SUBTITLE,
+    DRAW_THIRD_WINNER_SUBTITLE,
+    DRAW_WINNER_MODAL_DESCRIPTION,
+
+    // 공유 url
+    BASE_URL,
+    NON_USER_SHARE_URL,
+
+    // 선착순
+    FCFS_QUIZ_DESCRIPTION,
+
+    FCFS_WINNER_TITLE,
+    FCFS_WINNER_SUBTITLE,
+    FCFS_WINNER_CODE_WORD,
+    FCFS_WINNER_EXPIRY_DATE,
+    FCFS_WINNER_CAUTION,
+
+    FCFS_LOSER_TITLE,
+    FCFS_LOSER_SUBTITLE,
+    FCFS_LOSER_CAUTION;
+
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/index.html b/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/index.html new file mode 100644 index 00000000..653e0f84 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/index.html @@ -0,0 +1 @@ +com.softeer.backend.global.staticresources.constant

com.softeer.backend.global.staticresources.constant

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total624 of 6240%0 of 0n/a221051052222
StaticTextName4230%n/a1171711111
S3FileName2010%n/a1134341111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/index.source.html new file mode 100644 index 00000000..379437d2 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/index.source.html @@ -0,0 +1 @@ +com.softeer.backend.global.staticresources.constant

com.softeer.backend.global.staticresources.constant

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total624 of 6240%0 of 0n/a221051052222
StaticTextName.java4230%n/a1171711111
S3FileName.java2010%n/a1134341111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.util/StaticResourceUtil.html b/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.util/StaticResourceUtil.html new file mode 100644 index 00000000..b8222e17 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.util/StaticResourceUtil.html @@ -0,0 +1 @@ +StaticResourceUtil

StaticResourceUtil

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total61 of 610%8 of 80%1313171766
getKoreanDayOfWeek(DayOfWeek)270%80%88101011
getTextContentMap()100%n/a112211
getS3ContentMap()100%n/a112211
lambda$getTextContentMap$0(TextContent)60%n/a111111
format(String, Object[])40%n/a111111
static {...}40%n/a111111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.util/StaticResourceUtil.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.util/StaticResourceUtil.java.html new file mode 100644 index 00000000..dbec07db --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.util/StaticResourceUtil.java.html @@ -0,0 +1,62 @@ +StaticResourceUtil.java

StaticResourceUtil.java

package com.softeer.backend.global.staticresources.util;
+
+import com.softeer.backend.global.common.code.status.ErrorStatus;
+import com.softeer.backend.global.common.exception.GeneralException;
+import com.softeer.backend.global.staticresources.domain.S3Content;
+import com.softeer.backend.global.staticresources.domain.TextContent;
+import com.softeer.backend.global.staticresources.repository.S3ContentRepository;
+import com.softeer.backend.global.staticresources.repository.TextContentRepository;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+
+import java.time.DayOfWeek;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+@Slf4j
+@Component
+@RequiredArgsConstructor
+public class StaticResourceUtil {
+
+    private final TextContentRepository textContentRepository;
+    private final S3ContentRepository s3ContentRepository;
+
+    public Map<String, String> getTextContentMap() {
+        return textContentRepository.findAll().stream()
+                .collect(Collectors.toMap(TextContent::getTextName,
+                        textContent -> textContent.getContent().replace("\\n", "\n")));
+    }
+
+    public Map<String, String> getS3ContentMap() {
+        return s3ContentRepository.findAll().stream()
+                .collect(Collectors.toMap(S3Content::getFileName, S3Content::getFileUrl));
+    }
+
+    public String format(String text, Object... args) {
+        return String.format(text, args);
+    }
+
+    public String getKoreanDayOfWeek(DayOfWeek dayOfWeek) {
+        switch (dayOfWeek) {
+            case MONDAY:
+                return "월";
+            case TUESDAY:
+                return "화";
+            case WEDNESDAY:
+                return "수";
+            case THURSDAY:
+                return "목";
+            case FRIDAY:
+                return "금";
+            case SATURDAY:
+                return "토";
+            case SUNDAY:
+                return "일";
+            default:
+                log.error("Korean day of week is not supported");
+                throw new GeneralException(ErrorStatus._INTERNAL_SERVER_ERROR);
+        }
+    }
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.util/index.html b/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.util/index.html new file mode 100644 index 00000000..19048181 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.util/index.html @@ -0,0 +1 @@ +com.softeer.backend.global.staticresources.util

com.softeer.backend.global.staticresources.util

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total61 of 610%8 of 80%131317176611
StaticResourceUtil610%80%131317176611
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.util/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.util/index.source.html new file mode 100644 index 00000000..4f7520c0 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.util/index.source.html @@ -0,0 +1 @@ +com.softeer.backend.global.staticresources.util

com.softeer.backend.global.staticresources.util

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total61 of 610%8 of 80%131317176611
StaticResourceUtil.java610%80%131317176611
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.util/DrawRedisUtil.html b/jacoco/jacocoHtml/com.softeer.backend.global.util/DrawRedisUtil.html new file mode 100644 index 00000000..50de1d63 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.util/DrawRedisUtil.html @@ -0,0 +1 @@ +DrawRedisUtil

DrawRedisUtil

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total101 of 1010%6 of 60%1212232399
getRankingIfWinner(Integer)240%40%336611
isWinner(Integer, int, int)230%20%226611
setIntegerValueToSet(String, Integer)130%n/a112211
increaseDrawParticipationCount()80%n/a112211
getDrawParticipantCount()80%n/a111111
deleteDrawParticipantCount()70%n/a112211
getAllDataAsSet(String)60%n/a111111
getIntegerSetSize(String)60%n/a111111
deleteAllSetData(String)60%n/a112211
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.util/DrawRedisUtil.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.util/DrawRedisUtil.java.html new file mode 100644 index 00000000..fd74bfae --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.util/DrawRedisUtil.java.html @@ -0,0 +1,89 @@ +DrawRedisUtil.java

DrawRedisUtil.java

package com.softeer.backend.global.util;
+
+import com.softeer.backend.global.annotation.EventLock;
+import com.softeer.backend.global.common.constant.RedisKeyPrefix;
+import lombok.RequiredArgsConstructor;
+import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.stereotype.Component;
+
+import java.util.Set;
+
+/**
+ * 추첨 이벤트에서 사용할 레디스
+ */
+@Component
+@RequiredArgsConstructor
+public class DrawRedisUtil {
+    private final RedisTemplate<String, Integer> integerRedisTemplate;
+
+    // 추첨 당첨자 목록: DRAW_WINNER_LIST_{ranking}, Set<Integer>
+    // 추첨 참여자 수:  DRAW_PARTICIPANT_COUNT, Integer
+
+    // ranking의 추첨 당첨자 목록 반환
+    public Set<Integer> getAllDataAsSet(String key) {
+        return integerRedisTemplate.opsForSet().members(key);
+    }
+
+    private Long getIntegerSetSize(String key) {
+        return integerRedisTemplate.opsForSet().size(key);
+    }
+
+    // ranking의 당첨자 목록 업데이트
+    public void setIntegerValueToSet(String key, Integer userId) {
+        integerRedisTemplate.opsForSet().add(key, userId);
+    }
+
+    // ranking의 Set 값 모두 삭제
+    public void deleteAllSetData(String key) {
+        integerRedisTemplate.delete(key);
+    }
+
+    /**
+     * userId가 당첨자 목록에 있으면 등수, 없으면 0 반환
+     *
+     * @param userId 사용자 아이디
+     */
+    public int getRankingIfWinner(Integer userId) {
+        String drawWinnerKey;
+        for (int ranking = 1; ranking < 4; ranking++) {
+            drawWinnerKey = RedisKeyPrefix.DRAW_WINNER_LIST_PREFIX.getPrefix() + ranking;
+            Set<Integer> drawTempSet = getAllDataAsSet(drawWinnerKey);
+            if (drawTempSet.contains(userId)) {
+                return ranking;
+            }
+        }
+        return 0;
+    }
+
+    @EventLock(key = "LOCK:DRAW_WINNER_LIST_#{#ranking}")
+    public boolean isWinner(Integer userId, int ranking, int winnerNum) {
+        String drawWinnerKey = RedisKeyPrefix.DRAW_WINNER_LIST_PREFIX.getPrefix() + ranking;
+        Long winnerSetSize = getIntegerSetSize(drawWinnerKey);
+
+        // 레디스에서 해당 랭킹에 자리가 있는지 확인
+        if (winnerSetSize < winnerNum) {
+            // 자리가 있다면 당첨 성공. 당첨자 리스트에 추가
+            setIntegerValueToSet(drawWinnerKey, userId);
+            return true;
+        } else {
+            // 이미 자리가 가득 차서 당첨 실패
+            return false;
+        }
+    }
+
+    // 추첨 참여자수 증가
+    public void increaseDrawParticipationCount() {
+        integerRedisTemplate.opsForValue().increment(RedisKeyPrefix.DRAW_PARTICIPANT_COUNT_PREFIX.getPrefix());
+    }
+
+    // 추첨 참여인원수 조회
+    public Integer getDrawParticipantCount() {
+        return integerRedisTemplate.opsForValue().get(RedisKeyPrefix.DRAW_PARTICIPANT_COUNT_PREFIX.getPrefix());
+    }
+
+    // 추첨 참여인원수 삭제
+    public void deleteDrawParticipantCount() {
+        integerRedisTemplate.delete(RedisKeyPrefix.DRAW_PARTICIPANT_COUNT_PREFIX.getPrefix());
+    }
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.util/EventLockRedisUtil.html b/jacoco/jacocoHtml/com.softeer.backend.global.util/EventLockRedisUtil.html new file mode 100644 index 00000000..1253f0db --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.util/EventLockRedisUtil.html @@ -0,0 +1 @@ +EventLockRedisUtil

EventLockRedisUtil

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total85 of 850%0 of 0n/a121219191212
addValueToSet(String, Integer)120%n/a112211
removeParticipantId(String, Integer)120%n/a112211
setTTL(String, long)80%n/a112211
isParticipantExists(String, Integer)80%n/a111111
setData(String, int)70%n/a112211
incrementData(String)70%n/a112211
getData(String)60%n/a111111
deleteData(String)60%n/a112211
deleteTempWinnerList(String)60%n/a112211
getAllDataAsSet(String)50%n/a111111
getStringIntegerValueOperations()40%n/a111111
getStringSetIntegerValueOperations()40%n/a111111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.util/EventLockRedisUtil.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.util/EventLockRedisUtil.java.html new file mode 100644 index 00000000..2fd3778b --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.util/EventLockRedisUtil.java.html @@ -0,0 +1,75 @@ +EventLockRedisUtil.java

EventLockRedisUtil.java

package com.softeer.backend.global.util;
+
+import lombok.RequiredArgsConstructor;
+import org.springframework.data.redis.core.*;
+import org.springframework.stereotype.Component;
+
+import java.time.Duration;
+import java.util.Set;
+
+/**
+ * 선착순, 추첨 이벤트의 동기화를 위해 사용되는 RedisUtil 클래스
+ */
+@Component
+@RequiredArgsConstructor
+public class EventLockRedisUtil {
+
+    private final RedisTemplate<String, Integer> integerRedisTemplate;
+
+    // key 에 해당하는 데이터 얻어오는 메서드
+    public Integer getData(String key) {
+        return getStringIntegerValueOperations().get(key);
+    }
+
+    // key - value 데이터 설정하는 메서드
+    public void setData(String key, int value) {
+        getStringIntegerValueOperations().set(key, value);
+    }
+
+    // 참가자의 ID를 Set으로 저장하고 관리하는 메서드
+    public void addValueToSet(String key, Integer userId) {
+        getStringSetIntegerValueOperations().add(key, userId);
+    }
+
+    // TTL 설정하는 메서드
+    public void setTTL(String key, long seconds) {
+        integerRedisTemplate.expire(key, Duration.ofSeconds(seconds));
+    }
+
+    // key에 해당하는 데이터의 값을 1 더하는 메서드
+    // 원자적으로 값을 증가시킨다.
+    public void incrementData(String key) {
+        getStringIntegerValueOperations().increment(key, 1);
+    }
+
+    public void deleteData(String key) {
+        integerRedisTemplate.delete(key);
+    }
+
+    public boolean isParticipantExists(String key, Integer participantId) {
+        return Boolean.TRUE.equals(getStringSetIntegerValueOperations().isMember(key, participantId));
+    }
+
+    public void removeParticipantId(String key, Integer participantId) {
+        getStringSetIntegerValueOperations().remove(key, participantId);
+    }
+
+    public Set<Integer> getAllDataAsSet(String key) {
+        return getStringSetIntegerValueOperations().members(key);
+    }
+
+    public void deleteTempWinnerList(String key) {
+        integerRedisTemplate.delete(key);
+    }
+
+
+
+    private ValueOperations<String, Integer> getStringIntegerValueOperations() {
+        return integerRedisTemplate.opsForValue();
+    }
+
+    private SetOperations<String, Integer> getStringSetIntegerValueOperations() {
+        return integerRedisTemplate.opsForSet();
+    }
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.util/FcfsRedisUtil.html b/jacoco/jacocoHtml/com.softeer.backend.global.util/FcfsRedisUtil.html new file mode 100644 index 00000000..4a7b498b --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.util/FcfsRedisUtil.html @@ -0,0 +1 @@ +FcfsRedisUtil

FcfsRedisUtil

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total133 of 1330%2 of 20%141428281313
getHashEntries(String)370%20%228811
addToIntegerSet(String, Integer)130%n/a112211
addToStringSet(String, String)130%n/a112211
isValueInIntegerSet(String, Integer)90%n/a111111
isValueInStringSet(String, String)90%n/a111111
addToHash(String, String, Integer)80%n/a112211
incrementValue(String)70%n/a112211
getValue(String)70%n/a111111
getIntegerSetSize(String)60%n/a111111
clearIntegerSet(String)60%n/a112211
clearStringSet(String)60%n/a112211
clearHash(String)60%n/a112211
clearValue(String)60%n/a112211
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.util/FcfsRedisUtil.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.util/FcfsRedisUtil.java.html new file mode 100644 index 00000000..4b4586a1 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.util/FcfsRedisUtil.java.html @@ -0,0 +1,81 @@ +FcfsRedisUtil.java

FcfsRedisUtil.java

package com.softeer.backend.global.util;
+
+import lombok.RequiredArgsConstructor;
+import org.springframework.data.redis.core.*;
+import org.springframework.stereotype.Component;
+
+import java.util.HashMap;
+import java.util.Map;
+
+@Component
+@RequiredArgsConstructor
+public class FcfsRedisUtil {
+
+    private final StringRedisTemplate stringRedisTemplate;
+    private final RedisTemplate<String, Integer> integerRedisTemplate;
+
+    public void addToIntegerSet(String key, Integer value) {
+        integerRedisTemplate.opsForSet().add(key, value);
+    }
+
+    public void addToStringSet(String key, String value) {
+        stringRedisTemplate.opsForSet().add(key, value);
+    }
+
+    public void addToHash(String key, String field, Integer value) {
+        integerRedisTemplate.opsForHash().put(key, field, value);
+    }
+
+    public void incrementValue(String key){
+        integerRedisTemplate.opsForValue().increment(key);
+    }
+
+    public Long getIntegerSetSize(String key) {
+        return integerRedisTemplate.opsForSet().size(key);
+    }
+
+    public boolean isValueInIntegerSet(String key, Integer value) {
+        return Boolean.TRUE.equals(integerRedisTemplate.opsForSet().isMember(key, value));
+    }
+
+    public boolean isValueInStringSet(String key, String value) {
+        return Boolean.TRUE.equals(stringRedisTemplate.opsForSet().isMember(key, value));
+    }
+
+    public Map<String, Integer> getHashEntries(String key) {
+        Map<Object, Object> entries = integerRedisTemplate.opsForHash().entries(key);
+        Map<String, Integer> result = new HashMap<>();
+
+        for (Map.Entry<Object, Object> entry : entries.entrySet()) {
+            String mapKey = (String) entry.getKey();
+            Integer mapValue = (Integer) entry.getValue();
+            result.put(mapKey, mapValue);
+        }
+
+        return result;
+    }
+
+    public Integer getValue(String key) {
+        return integerRedisTemplate.opsForValue().get(key);
+    }
+
+    public void clearIntegerSet(String key) {
+        integerRedisTemplate.delete(key);
+    }
+
+    public void clearStringSet(String key) {
+        stringRedisTemplate.delete(key);
+    }
+
+    public void clearHash(String key) {
+        integerRedisTemplate.delete(key);
+    }
+
+    public void clearValue(String key) {
+        stringRedisTemplate.delete(key);
+    }
+
+
+
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.util/JwtUtil.html b/jacoco/jacocoHtml/com.softeer.backend.global.util/JwtUtil.html new file mode 100644 index 00000000..c41b0a17 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.util/JwtUtil.html @@ -0,0 +1 @@ +JwtUtil

JwtUtil

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total254 of 2540%2 of 20%141464641313
validateToken(String)470%20%22161611
createServiceToken(JwtClaimsDto)460%n/a11111111
createToken(JwtClaimsDto, Long)430%n/a11101011
getAuthInfoFromToken(String)310%n/a11101011
extractAccessToken(HttpServletRequest)210%n/a115511
getJwtClaimsFromAccessToken(String)130%n/a114411
getJwtClaimsFromRefreshToken(String)130%n/a114411
lambda$extractAccessToken$1(String)90%n/a111111
extractRefreshToken(HttpServletRequest)70%n/a111111
createAccessToken(JwtClaimsDto)70%n/a111111
createRefreshToken(JwtClaimsDto)70%n/a111111
lambda$extractAccessToken$0(String)60%n/a111111
static {...}40%n/a111111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.util/JwtUtil.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.util/JwtUtil.java.html new file mode 100644 index 00000000..f75b7de6 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.util/JwtUtil.java.html @@ -0,0 +1,151 @@ +JwtUtil.java

JwtUtil.java

package com.softeer.backend.global.util;
+
+import com.softeer.backend.global.common.code.status.ErrorStatus;
+import com.softeer.backend.global.common.constant.RoleType;
+import com.softeer.backend.global.common.dto.JwtClaimsDto;
+import com.softeer.backend.global.common.exception.JwtAuthenticationException;
+import com.softeer.backend.global.config.properties.JwtProperties;
+import com.softeer.backend.global.common.dto.JwtTokenResponseDto;
+import io.jsonwebtoken.*;
+import jakarta.servlet.http.HttpServletRequest;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+import org.springframework.util.StringUtils;
+
+import java.time.LocalDateTime;
+import java.util.Date;
+import java.util.Optional;
+
+@Slf4j
+@RequiredArgsConstructor
+@Component
+public class JwtUtil {
+    private final JwtProperties jwtProperties;
+    private final StringRedisUtil stringRedisUtil;
+
+    // HttpServletRequest 부터 Access Token 추출
+    public Optional<String> extractAccessToken(HttpServletRequest request) {
+
+        log.info("Authorization 헤더: {}", request.getHeader("Authorization"));
+
+        return Optional.ofNullable(request.getHeader(jwtProperties.getAccessHeader()))
+                .filter(StringUtils::hasText)
+                .filter(accessToken -> accessToken.startsWith(jwtProperties.getBearer()))
+                .map(accessToken -> accessToken.substring(jwtProperties.getBearer().length() + 1));
+    }
+
+    // HttpServletRequest 부터 Refresh Token 추출
+    public Optional<String> extractRefreshToken(HttpServletRequest request) {
+        return Optional.ofNullable(request.getHeader(jwtProperties.getRefreshHeader()));
+    }
+
+    // access token 생성
+    public String createAccessToken(JwtClaimsDto jwtClaimsDto) {
+        return this.createToken(jwtClaimsDto, jwtProperties.getAccessExpiration());
+    }
+
+    // refresh token 생성
+    public String createRefreshToken(JwtClaimsDto jwtClaimsDto) {
+        return this.createToken(jwtClaimsDto, jwtProperties.getRefreshExpiration());
+
+    }
+
+    // access token 으로부터 jwt claim 정보 추출
+    public JwtClaimsDto getJwtClaimsFromAccessToken(String token) {
+        try {
+
+            return getAuthInfoFromToken(token);
+
+        } catch (Exception exception) {
+            log.error("Access Token is invalid.");
+            throw new JwtAuthenticationException(ErrorStatus._UNAUTHORIZED);
+        }
+    }
+
+    // refresh token 으로부터 jwt claim 정보 추출
+    public JwtClaimsDto getJwtClaimsFromRefreshToken(String token) {
+        try {
+
+            return getAuthInfoFromToken(token);
+
+        } catch (Exception exception) {
+            log.error("JWT Refresh Token is invalid during the '/reissue' process.");
+            throw new JwtAuthenticationException(ErrorStatus._REISSUE_ERROR);
+        }
+    }
+
+    // Jwt Token 에서 claim 정보를 파싱하여 반환하는 메서드
+    private JwtClaimsDto getAuthInfoFromToken(String token) {
+        Claims claims = Jwts.parser()
+                .setSigningKey(jwtProperties.getSecret())
+                .parseClaimsJws(token)
+                .getBody();
+
+        int id = claims.get("id", Integer.class);
+        RoleType roleType = RoleType.valueOf(claims.get("roleType", String.class));
+
+        return JwtClaimsDto.builder()
+                .id(id)
+                .roleType(roleType)
+                .build();
+    }
+
+    // 전화번호 로그인 및 admin 로그인 시 jwt 응답 생성 + redis refresh 저장
+    public JwtTokenResponseDto createServiceToken(JwtClaimsDto jwtClaimsDto) {
+        stringRedisUtil.deleteData(stringRedisUtil.getRedisKeyForJwt(jwtClaimsDto));
+        String accessToken = createAccessToken(jwtClaimsDto);
+        String refreshToken = createRefreshToken(jwtClaimsDto);
+
+        // 서비스 토큰 생성
+        JwtTokenResponseDto jwtTokenResponseDto = JwtTokenResponseDto.builder()
+                .accessToken(accessToken)
+                .refreshToken(refreshToken)
+                .expiredTime(LocalDateTime.now().plusSeconds(jwtProperties.getAccessExpiration() / 1000))
+                .build();
+
+        // redis refresh token 저장
+        stringRedisUtil.setDataExpire(stringRedisUtil.getRedisKeyForJwt(jwtClaimsDto),
+                jwtTokenResponseDto.getRefreshToken(), jwtProperties.getRefreshExpiration());
+
+        return jwtTokenResponseDto;
+    }
+
+    // token 유효성 검증
+    public boolean validateToken(String token) {
+        try {
+            Jws<Claims> claimsJws = Jwts.parser()
+                    .setSigningKey(jwtProperties.getSecret())
+                    .parseClaimsJws(token);
+            return !claimsJws.getBody().getExpiration().before(new Date());
+        } catch (ExpiredJwtException exception) {
+            log.warn("만료된 jwt 입니다.");
+        } catch (UnsupportedJwtException exception) {
+            log.warn("지원되지 않는 jwt 입니다.");
+        } catch (IllegalArgumentException exception) {
+            log.warn("token에 값이 없습니다.");
+        } catch (SignatureException exception) {
+            log.warn("signature에 오류가 존재합니다.");
+        } catch (MalformedJwtException exception) {
+            log.warn("jwt가 유효하지 않습니다.");
+        }
+        return false;
+    }
+
+    // 실제 token 생성 로직
+    private String createToken(JwtClaimsDto jwtClaimsDto, Long tokenExpiration) {
+        Claims claims = Jwts.claims();
+        claims.put("id", jwtClaimsDto.getId());
+        claims.put("roleType", jwtClaimsDto.getRoleType().name());
+        Date tokenExpiresIn = new Date(new Date().getTime() + tokenExpiration);
+
+        return Jwts.builder()
+                .setClaims(claims)
+                .setIssuedAt(new Date())
+                .setExpiration(tokenExpiresIn)
+                .signWith(SignatureAlgorithm.HS512, jwtProperties.getSecret())
+                .compact();
+    }
+
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.util/RandomCodeUtil.html b/jacoco/jacocoHtml/com.softeer.backend.global.util/RandomCodeUtil.html new file mode 100644 index 00000000..a57f1271 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.util/RandomCodeUtil.html @@ -0,0 +1 @@ +RandomCodeUtil

RandomCodeUtil

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total31 of 310%2 of 20%336622
generateRandomCode(int)230%20%224411
static {...}80%n/a112211
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.util/RandomCodeUtil.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.util/RandomCodeUtil.java.html new file mode 100644 index 00000000..cf934190 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.util/RandomCodeUtil.java.html @@ -0,0 +1,24 @@ +RandomCodeUtil.java

RandomCodeUtil.java

package com.softeer.backend.global.util;
+
+import java.security.SecureRandom;
+
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Component;
+
+@Component
+@RequiredArgsConstructor
+public class RandomCodeUtil {
+    private static final String CHARACTERS = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
+    private static final int CHARACTERS_LENGTH = CHARACTERS.length();
+    private static final SecureRandom random = new SecureRandom();
+
+    public String generateRandomCode(int codeLength) {
+        StringBuilder code = new StringBuilder(codeLength);
+        for (int i = 0; i < codeLength; i++) {
+            code.append(CHARACTERS.charAt(random.nextInt(CHARACTERS_LENGTH)));
+        }
+
+        return code.toString();
+    }
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.util/SpringELParser.html b/jacoco/jacocoHtml/com.softeer.backend.global.util/SpringELParser.html new file mode 100644 index 00000000..e54e231a --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.util/SpringELParser.html @@ -0,0 +1 @@ +SpringELParser

SpringELParser

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total34 of 340%2 of 20%225511
getDynamicValue(String[], Object[], String)340%20%225511
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.util/SpringELParser.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.util/SpringELParser.java.html new file mode 100644 index 00000000..fbc2a692 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.util/SpringELParser.java.html @@ -0,0 +1,23 @@ +SpringELParser.java

SpringELParser.java

package com.softeer.backend.global.util;
+
+import org.springframework.expression.ExpressionParser;
+import org.springframework.expression.common.TemplateParserContext;
+import org.springframework.expression.spel.standard.SpelExpressionParser;
+import org.springframework.expression.spel.support.StandardEvaluationContext;
+
+public class SpringELParser {
+    private SpringELParser() {
+    }
+
+    public static Object getDynamicValue(String[] parameterNames, Object[] args, String key) {
+        ExpressionParser parser = new SpelExpressionParser();
+        StandardEvaluationContext context = new StandardEvaluationContext();
+
+        for (int i = 0; i < parameterNames.length; i++) {
+            context.setVariable(parameterNames[i], args[i]);
+        }
+
+        return parser.parseExpression(key, new TemplateParserContext()).getValue(context, Object.class);
+    }
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.util/StringRedisUtil.html b/jacoco/jacocoHtml/com.softeer.backend.global.util/StringRedisUtil.html new file mode 100644 index 00000000..4f51439c --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.util/StringRedisUtil.html @@ -0,0 +1 @@ +StringRedisUtil

StringRedisUtil

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total90 of 900%0 of 0n/a111124241111
setDataExpireAt(String, String, LocalDateTime)130%n/a114411
getRedisKeyForJwt(JwtClaimsDto)120%n/a113311
setExpire(String, Long)110%n/a113311
setDataExpire(String, String, long)100%n/a113311
incrementData(String)90%n/a112211
hasKey(String)70%n/a111111
getData(String)60%n/a111111
setData(String, String)60%n/a112211
deleteData(String)60%n/a112211
deleteRefreshToken(JwtClaimsDto)60%n/a112211
getStringStringValueOperations()40%n/a111111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.util/StringRedisUtil.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.util/StringRedisUtil.java.html new file mode 100644 index 00000000..69945d6a --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.util/StringRedisUtil.java.html @@ -0,0 +1,93 @@ +StringRedisUtil.java

StringRedisUtil.java

package com.softeer.backend.global.util;
+
+import com.softeer.backend.global.common.constant.RoleType;
+import com.softeer.backend.global.common.dto.JwtClaimsDto;
+import lombok.RequiredArgsConstructor;
+import org.springframework.data.redis.core.StringRedisTemplate;
+import org.springframework.data.redis.core.ValueOperations;
+import org.springframework.stereotype.Component;
+
+import java.time.Duration;
+import java.time.LocalDateTime;
+import java.time.temporal.ChronoUnit;
+
+@Component
+@RequiredArgsConstructor
+public class StringRedisUtil {
+    private final StringRedisTemplate stringRedisTemplate;
+
+    // 특정 키에 대한 값이 있는지 확인
+    public boolean hasKey(String key) {
+        return Boolean.TRUE.equals(stringRedisTemplate.hasKey(key));
+    }
+
+    // key 에 해당하는 데이터 얻어오는 메서드
+    public String getData(String key) {
+        return getStringStringValueOperations().get(key);
+    }
+
+    // key - value 데이터 설정하는 메서드
+    public void setData(String key, String value) {
+        getStringStringValueOperations().set(key, value);
+    }
+
+    /* key 에 해당하는 데이터 삭제하는 메서드 */
+    public void deleteData(String key) {
+        this.stringRedisTemplate.delete(key);
+    }
+
+    /* key 에 해당하는 데이터 만료기간 설정 메서드 */
+    public void setDataExpire(String key, String value, long duration) {
+        Duration expireDuration = Duration.ofSeconds(duration);
+        getStringStringValueOperations().set(key, value, expireDuration);
+    }
+
+    // Redis에 저장되어 있는 값에 ttl을 설정하는 메서드
+    public void setExpire(String key, Long duration) {
+        Duration expireDuration = Duration.ofSeconds(duration);
+        stringRedisTemplate.expire(key, expireDuration);
+    }
+
+    // 특정 시간까지 데이터가 유지되도록 설정하는 메서드
+    public void setDataExpireAt(String key, String value, LocalDateTime expiryTime) {
+        // 현재 시간을 가져옴
+        LocalDateTime now = LocalDateTime.now();
+
+        // 현재 시간과 특정 시간 사이의 차이를 계산
+        long secondsUntilExpiry = ChronoUnit.SECONDS.between(now, expiryTime);
+
+        // 데이터 설정 및 만료 시간 설정
+        setDataExpire(key, value, secondsUntilExpiry);
+    }
+
+    public long incrementData(String key) {
+        ValueOperations<String, String> valueOperations = getStringStringValueOperations();
+        return valueOperations.increment(key, 1); // 증가된 값을 반환
+    }
+
+    private ValueOperations<String, String> getStringStringValueOperations() {
+        return this.stringRedisTemplate.opsForValue();
+    }
+
+    /**
+     * Refresh Token을 redis에 저장할 때, 접두사를 붙여서 redis key를 반환하는 메서드
+     *
+     * @param jwtClaimsDto JWT의 claim 정보
+     * @return 일반 유저는 "USER_{id값}", 어드민 유저는 "ADMIN_{id값}"
+     */
+    public String getRedisKeyForJwt(JwtClaimsDto jwtClaimsDto) {
+
+        String id = String.valueOf(jwtClaimsDto.getId());
+        RoleType roleType = jwtClaimsDto.getRoleType();
+
+        return roleType.getRedisKeyPrefix() + id;
+    }
+
+    // redis에 저장된 Refresh Token을 삭제하는 메서드
+    public void deleteRefreshToken(JwtClaimsDto jwtClaimsDto) {
+
+        deleteData(getRedisKeyForJwt(jwtClaimsDto));
+    }
+
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.util/index.html b/jacoco/jacocoHtml/com.softeer.backend.global.util/index.html new file mode 100644 index 00000000..0451a0e7 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.util/index.html @@ -0,0 +1 @@ +com.softeer.backend.global.util

com.softeer.backend.global.util

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total728 of 7280%14 of 140%6868169169616177
JwtUtil2540%20%14146464131311
FcfsRedisUtil1330%20%14142828131311
DrawRedisUtil1010%60%121223239911
StringRedisUtil900%n/a11112424111111
EventLockRedisUtil850%n/a12121919121211
SpringELParser340%20%22551111
RandomCodeUtil310%20%33662211
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.util/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.global.util/index.source.html new file mode 100644 index 00000000..b31889a7 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend.global.util/index.source.html @@ -0,0 +1 @@ +com.softeer.backend.global.util

com.softeer.backend.global.util

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total728 of 7280%14 of 140%6868169169616177
JwtUtil.java2540%20%14146464131311
FcfsRedisUtil.java1330%20%14142828131311
DrawRedisUtil.java1010%60%121223239911
StringRedisUtil.java900%n/a11112424111111
EventLockRedisUtil.java850%n/a12121919121211
SpringELParser.java340%20%22551111
RandomCodeUtil.java310%20%33662211
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend/BackendApplication.html b/jacoco/jacocoHtml/com.softeer.backend/BackendApplication.html new file mode 100644 index 00000000..72a97e09 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend/BackendApplication.html @@ -0,0 +1 @@ +BackendApplication

BackendApplication

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total8 of 80%0 of 0n/a223322
main(String[])50%n/a112211
BackendApplication()30%n/a111111
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend/BackendApplication.java.html b/jacoco/jacocoHtml/com.softeer.backend/BackendApplication.java.html new file mode 100644 index 00000000..c044257e --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend/BackendApplication.java.html @@ -0,0 +1,21 @@ +BackendApplication.java

BackendApplication.java

package com.softeer.backend;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.boot.context.properties.ConfigurationPropertiesScan;
+import org.springframework.cache.annotation.EnableCaching;
+import org.springframework.data.jpa.repository.config.EnableJpaAuditing;
+import org.springframework.scheduling.annotation.EnableScheduling;
+
+@SpringBootApplication
+@EnableJpaAuditing
+@EnableScheduling
+@ConfigurationPropertiesScan
+public class BackendApplication {
+
+    public static void main(String[] args) {
+        SpringApplication.run(BackendApplication.class, args);
+    }
+
+}
+
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend/index.html b/jacoco/jacocoHtml/com.softeer.backend/index.html new file mode 100644 index 00000000..c6dbdfa6 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend/index.html @@ -0,0 +1 @@ +com.softeer.backend

com.softeer.backend

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total8 of 80%0 of 0n/a22332211
BackendApplication80%n/a22332211
\ No newline at end of file diff --git a/jacoco/jacocoHtml/com.softeer.backend/index.source.html b/jacoco/jacocoHtml/com.softeer.backend/index.source.html new file mode 100644 index 00000000..321e7f06 --- /dev/null +++ b/jacoco/jacocoHtml/com.softeer.backend/index.source.html @@ -0,0 +1 @@ +com.softeer.backend

com.softeer.backend

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total8 of 80%0 of 0n/a22332211
BackendApplication.java80%n/a22332211
\ No newline at end of file diff --git a/jacoco/jacocoHtml/index.html b/jacoco/jacocoHtml/index.html new file mode 100644 index 00000000..9556d9df --- /dev/null +++ b/jacoco/jacocoHtml/index.html @@ -0,0 +1 @@ +backend

backend

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total7,350 of 7,5562%288 of 3045%5105221,7041,7553633679496
com.softeer.backend.fo_domain.fcfs.service7500%540%5555165165282833
com.softeer.backend.global.util7280%140%6868169169616177
com.softeer.backend.global.staticresources.constant6240%n/a221051052222
com.softeer.backend.fo_domain.draw.util5150%360%3838128128202044
com.softeer.backend.fo_domain.mainpage.service5000%40%101093938811
com.softeer.backend.fo_domain.user.service4850%260%2424118118111122
com.softeer.backend.global.filter4030%260%3535105105222233
com.softeer.backend.global.scheduler3190%180%20207575111122
com.softeer.backend.bo_domain.admin.service3140%40%20207272181844
com.softeer.backend.global.common.exception2190%20%20204848191944
com.softeer.backend.global.config.web2060%n/a7733337711
com.softeer.backend.global.common.code.status1840%n/a9934349922
com.softeer.backend.bo_domain.admin.dto.winner1430%n/a7751517733
com.softeer.backend.bo_domain.admin.validator1400%300%242433339933
com.softeer.backend.bo_domain.admin.dto.main1130%n/a3338383311
com.softeer.backend.fo_domain.comment.constant1090%n/a4420204411
com.softeer.backend.global.common.constant950%n/a5519195533
com.softeer.backend.fo_domain.draw.service9319367%16100%61718646912
com.softeer.backend.bo_domain.admin.controller840%n/a12122424121244
com.softeer.backend.global.annotation.aop830%20%5520204422
com.softeer.backend.fo_domain.draw.interceptor780%160%121214144411
com.softeer.backend.bo_domain.admin.dto.indicator780%40%4430302211
com.softeer.backend.fo_domain.comment.dto760%80%9924245511
com.softeer.backend.fo_domain.user.constatnt740%n/a4415154422
com.softeer.backend.global.config.docs700%n/a4424244411
com.softeer.backend.global.staticresources.util610%80%131317176611
com.softeer.backend.global.config.redis600%n/a3312123311
com.softeer.backend.global.common.response530%n/a55555511
com.softeer.backend.fo_domain.comment.controller520%100%8812123311
com.softeer.backend.fo_domain.comment.util480%40%66884411
com.softeer.backend.global.config.cache450%n/a4412124411
com.softeer.backend.fo_domain.comment.service430%20%3313132211
com.softeer.backend.fo_domain.fcfs.controller420%n/a44994411
com.softeer.backend.global.annotation.argumentresolver400%80%77993311
com.softeer.backend.bo_domain.admin.dto.event400%n/a2218182211
com.softeer.backend.fo_domain.share.controller380%n/a22992211
com.softeer.backend.fo_domain.mainpage.controller370%n/a3310103311
com.softeer.backend.fo_domain.fcfs.interceptor370%40%4410102211
com.softeer.backend.fo_domain.user.controller360%n/a44884422
com.softeer.backend.bo_domain.admin.serializer340%20%55994422
com.softeer.backend.fo_domain.draw.controller320%n/a44664411
com.softeer.backend.global.config.properties300%n/a2212122222
com.softeer.backend.fo_domain.share.service260%20%33992211
com.softeer.backend.bo_domain.eventparticipation.repository170%20%22441111
com.softeer.backend.global.config.schedular150%n/a22552211
com.softeer.backend.fo_domain.user.properties150%n/a11661111
com.softeer.backend.fo_domain.comment.domain140%20%22441111
com.softeer.backend.bo_domain.admin.util110%n/a33333311
com.softeer.backend80%n/a22332211
com.softeer.backend.fo_domain.share.exception80%n/a22442222
com.softeer.backend.global.common.swagger0%n/a22222211
com.softeer.backend.fo_domain.fcfs.exception0%n/a11221111
com.softeer.backend.fo_domain.comment.exception0%n/a11221111
com.softeer.backend.fo_domain.user.exception0%n/a11221111
com.softeer.backend.bo_domain.admin.exception0%n/a11221111
com.softeer.backend.fo_domain.draw.exception0%n/a11221111
com.softeer.backend.fo_domain.share.domain13100%n/a01050101
\ No newline at end of file diff --git a/jacoco/jacocoHtml/jacoco-resources/branchfc.gif b/jacoco/jacocoHtml/jacoco-resources/branchfc.gif new file mode 100644 index 0000000000000000000000000000000000000000..989b46d30469b56b014758f846ee6c5abfda16aa GIT binary patch literal 91 zcmZ?wbhEHb6=b<*h$V|V6X-NwhSNb literal 0 HcmV?d00001 diff --git a/jacoco/jacocoHtml/jacoco-resources/branchnc.gif b/jacoco/jacocoHtml/jacoco-resources/branchnc.gif new file mode 100644 index 0000000000000000000000000000000000000000..1933e07c376bb71bdd9aac91cf858da3fcdb0f1c GIT binary patch literal 91 zcmZ?wbhEHb6=b<*h$V|V6X-N9U38B literal 0 HcmV?d00001 diff --git a/jacoco/jacocoHtml/jacoco-resources/branchpc.gif b/jacoco/jacocoHtml/jacoco-resources/branchpc.gif new file mode 100644 index 0000000000000000000000000000000000000000..cbf711b7030929b733f22f7a0cf3dbf61fe7868f GIT binary patch literal 91 zcmZ?wbhEHbm$mi>nCYN#As;!%lJz1A{dHmlPuc literal 0 HcmV?d00001 diff --git a/jacoco/jacocoHtml/jacoco-resources/bundle.gif b/jacoco/jacocoHtml/jacoco-resources/bundle.gif new file mode 100644 index 0000000000000000000000000000000000000000..fca9c53e629a7a5c07186ac1e2a1e37d8d6e88f4 GIT binary patch literal 709 zcmZ?wbhEHb6krfwxXQrrpW*-7BK;o8CDEUD?$vun5^UNelT%D!ODhRsX(Ohwq+z^!{nkw1lu( zDPc2HV&`P7KEHX-jYA>R6T@ewM9fTyo0E0x)!k_2wz@P-Sk{|^LE{K>+|z);Vi!vF-J zIALI4-caAv+|t_C-oY&>$uA|y-ND80=rPrik*keM);A(7JS@bMXJ#`uzjsjN>eYc> zj1!vJoq|_~`Ugb%`8WwRvs$=Bx;h_qcXM-KZDthLjMNep5fPP;Q{vk%FCD3^prRsd zAfR@-Nl4k$GSW~(G16XNhoM=9$H>NPjk%o(&&DPp6ODz*?)|b>X&fF28jY>Ox-nZU Y5*r^bWMyL$kZ52~Skzz7#K>R`0G8r7i~s-t literal 0 HcmV?d00001 diff --git a/jacoco/jacocoHtml/jacoco-resources/down.gif b/jacoco/jacocoHtml/jacoco-resources/down.gif new file mode 100644 index 0000000000000000000000000000000000000000..440a14db74e76c2b6e854eacac1c44414b166271 GIT binary patch literal 67 zcmZ?wbhEHbZ%p}jXB Ub$^Lu-Ncq(ygK&ScM%3_0Po}%Qvd(} literal 0 HcmV?d00001 diff --git a/jacoco/jacocoHtml/jacoco-resources/greenbar.gif b/jacoco/jacocoHtml/jacoco-resources/greenbar.gif new file mode 100644 index 0000000000000000000000000000000000000000..0ba65672530ee09f086821a26156836d0c91bd74 GIT binary patch literal 91 zcmZ?wbhEHbWMtrCc+ADXzmZ>do2<@m9j_x^v8Q5duh#b5>RIq$!Lmoo);w9mu$BQ0 eDgI<(1nOeYVE_V<84N5O20cYWMlKB;4AuaIXBwOU literal 0 HcmV?d00001 diff --git a/jacoco/jacocoHtml/jacoco-resources/group.gif b/jacoco/jacocoHtml/jacoco-resources/group.gif new file mode 100644 index 0000000000000000000000000000000000000000..a4ea580d278fb727e4ae692838877fa63c4becf9 GIT binary patch literal 351 zcmZ?wbhEHb6krfwxXQpVwXtJrV`pb|Z&Bgo_>{Q`Df1G5Wa`}H^qKLgbHn221;#86 zie2Oyy23SVg;&(l)`=%9{nuIstg#PSrQx<&&vS#m*G7G>4W@o;CvAN*Y1^AgTVGGw z_ImEoPjiobns@ZmyknnMUi-Q7>W`Jzer$aB_t(pL-|kQQ|MAfO*PGv5?Ee3B$^ToO z|A8VGOaEW3eSEO?=BC06Ybq|Tt-P?N@;?|b;0205Sr{1@Oc``Qsz82XV5>PWtH47? zs^4Q~P@BxTjDV;&5*!R(s==>VnJe}-&SEIintfiq!@CwnVRxXubL!4|)qjO}gg>klxZ?TGXw~#-V zU_Y2&N}FX?r*L1YbYiM-aj|xBv2}#Mgo3?-guaA=wSS1Yfrz+)iMWB7#*ml2h^x<; ztIwFU(w+bR{{R30A^8LW0015UEC2ui01yBW000F(peK%GX`X1Rt}L1aL$Vf5mpMgx vG+WO#2NYmJDM}^)l;8n@L?90V%CN9pFcyU&MPO(u48jTlL$uClRtNw)MiWcq literal 0 HcmV?d00001 diff --git a/jacoco/jacocoHtml/jacoco-resources/package.gif b/jacoco/jacocoHtml/jacoco-resources/package.gif new file mode 100644 index 0000000000000000000000000000000000000000..131c28da405493661e3253ef79a68bd273039295 GIT binary patch literal 227 zcmZ?wbhEHb6krfwIKsg2^W*Nf7neOfxp04z;n8NJ+xzDotkS){bH@Hst%K#-*LO_c zo~yCDQ0v_4?v)A3lSAd#C95utQCbkGxF}NT_=2WF8}WGs5taT9|NsAIzy=h5vM@3* zNHFMtBtdpEuqG&|^`&Ia(}-MpBVo@mW@+b{B25<}cFdc?!Kkoc14n0vkh1`XOwU>7 z#al8o_@;D=?hdfkdC)D9Q@O@%Lfqp;ZBt~9C*29`GMF2XzQp8akWQVjDvMC75PzEx Mi%z;upCW@b03m@=3jhEB literal 0 HcmV?d00001 diff --git a/jacoco/jacocoHtml/jacoco-resources/prettify.css b/jacoco/jacocoHtml/jacoco-resources/prettify.css new file mode 100644 index 00000000..be5166e0 --- /dev/null +++ b/jacoco/jacocoHtml/jacoco-resources/prettify.css @@ -0,0 +1,13 @@ +/* Pretty printing styles. Used with prettify.js. */ + +.str { color: #2A00FF; } +.kwd { color: #7F0055; font-weight:bold; } +.com { color: #3F5FBF; } +.typ { color: #606; } +.lit { color: #066; } +.pun { color: #660; } +.pln { color: #000; } +.tag { color: #008; } +.atn { color: #606; } +.atv { color: #080; } +.dec { color: #606; } diff --git a/jacoco/jacocoHtml/jacoco-resources/prettify.js b/jacoco/jacocoHtml/jacoco-resources/prettify.js new file mode 100644 index 00000000..b2766fe0 --- /dev/null +++ b/jacoco/jacocoHtml/jacoco-resources/prettify.js @@ -0,0 +1,1510 @@ +// Copyright (C) 2006 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + + +/** + * @fileoverview + * some functions for browser-side pretty printing of code contained in html. + *

+ * + * For a fairly comprehensive set of languages see the + * README + * file that came with this source. At a minimum, the lexer should work on a + * number of languages including C and friends, Java, Python, Bash, SQL, HTML, + * XML, CSS, Javascript, and Makefiles. It works passably on Ruby, PHP and Awk + * and a subset of Perl, but, because of commenting conventions, doesn't work on + * Smalltalk, Lisp-like, or CAML-like languages without an explicit lang class. + *

+ * Usage:

    + *
  1. include this source file in an html page via + * {@code } + *
  2. define style rules. See the example page for examples. + *
  3. mark the {@code
    } and {@code } tags in your source with
    + *    {@code class=prettyprint.}
    + *    You can also use the (html deprecated) {@code } tag, but the pretty
    + *    printer needs to do more substantial DOM manipulations to support that, so
    + *    some css styles may not be preserved.
    + * </ol>
    + * That's it.  I wanted to keep the API as simple as possible, so there's no
    + * need to specify which language the code is in, but if you wish, you can add
    + * another class to the {@code <pre>} or {@code <code>} element to specify the
    + * language, as in {@code <pre class="prettyprint lang-java">}.  Any class that
    + * starts with "lang-" followed by a file extension, specifies the file type.
    + * See the "lang-*.js" files in this directory for code that implements
    + * per-language file handlers.
    + * <p>
    + * Change log:<br>
    + * cbeust, 2006/08/22
    + * <blockquote>
    + *   Java annotations (start with "@") are now captured as literals ("lit")
    + * </blockquote>
    + * @requires console
    + */
    +
    +// JSLint declarations
    +/*global console, document, navigator, setTimeout, window */
    +
    +/**
    + * Split {@code prettyPrint} into multiple timeouts so as not to interfere with
    + * UI events.
    + * If set to {@code false}, {@code prettyPrint()} is synchronous.
    + */
    +window['PR_SHOULD_USE_CONTINUATION'] = true;
    +
    +/** the number of characters between tab columns */
    +window['PR_TAB_WIDTH'] = 8;
    +
    +/** Walks the DOM returning a properly escaped version of innerHTML.
    +  * @param {Node} node
    +  * @param {Array.<string>} out output buffer that receives chunks of HTML.
    +  */
    +window['PR_normalizedHtml']
    +
    +/** Contains functions for creating and registering new language handlers.
    +  * @type {Object}
    +  */
    +  = window['PR']
    +
    +/** Pretty print a chunk of code.
    +  *
    +  * @param {string} sourceCodeHtml code as html
    +  * @return {string} code as html, but prettier
    +  */
    +  = window['prettyPrintOne']
    +/** Find all the {@code <pre>} and {@code <code>} tags in the DOM with
    +  * {@code class=prettyprint} and prettify them.
    +  * @param {Function?} opt_whenDone if specified, called when the last entry
    +  *     has been finished.
    +  */
    +  = window['prettyPrint'] = void 0;
    +
    +/** browser detection. @extern @returns false if not IE, otherwise the major version. */
    +window['_pr_isIE6'] = function () {
    +  var ieVersion = navigator && navigator.userAgent &&
    +      navigator.userAgent.match(/\bMSIE ([678])\./);
    +  ieVersion = ieVersion ? +ieVersion[1] : false;
    +  window['_pr_isIE6'] = function () { return ieVersion; };
    +  return ieVersion;
    +};
    +
    +
    +(function () {
    +  // Keyword lists for various languages.
    +  var FLOW_CONTROL_KEYWORDS =
    +      "break continue do else for if return while ";
    +  var C_KEYWORDS = FLOW_CONTROL_KEYWORDS + "auto case char const default " +
    +      "double enum extern float goto int long register short signed sizeof " +
    +      "static struct switch typedef union unsigned void volatile ";
    +  var COMMON_KEYWORDS = C_KEYWORDS + "catch class delete false import " +
    +      "new operator private protected public this throw true try typeof ";
    +  var CPP_KEYWORDS = COMMON_KEYWORDS + "alignof align_union asm axiom bool " +
    +      "concept concept_map const_cast constexpr decltype " +
    +      "dynamic_cast explicit export friend inline late_check " +
    +      "mutable namespace nullptr reinterpret_cast static_assert static_cast " +
    +      "template typeid typename using virtual wchar_t where ";
    +  var JAVA_KEYWORDS = COMMON_KEYWORDS +
    +      "abstract boolean byte extends final finally implements import " +
    +      "instanceof null native package strictfp super synchronized throws " +
    +      "transient ";
    +  var CSHARP_KEYWORDS = JAVA_KEYWORDS +
    +      "as base by checked decimal delegate descending event " +
    +      "fixed foreach from group implicit in interface internal into is lock " +
    +      "object out override orderby params partial readonly ref sbyte sealed " +
    +      "stackalloc string select uint ulong unchecked unsafe ushort var ";
    +  var JSCRIPT_KEYWORDS = COMMON_KEYWORDS +
    +      "debugger eval export function get null set undefined var with " +
    +      "Infinity NaN ";
    +  var PERL_KEYWORDS = "caller delete die do dump elsif eval exit foreach for " +
    +      "goto if import last local my next no our print package redo require " +
    +      "sub undef unless until use wantarray while BEGIN END ";
    +  var PYTHON_KEYWORDS = FLOW_CONTROL_KEYWORDS + "and as assert class def del " +
    +      "elif except exec finally from global import in is lambda " +
    +      "nonlocal not or pass print raise try with yield " +
    +      "False True None ";
    +  var RUBY_KEYWORDS = FLOW_CONTROL_KEYWORDS + "alias and begin case class def" +
    +      " defined elsif end ensure false in module next nil not or redo rescue " +
    +      "retry self super then true undef unless until when yield BEGIN END ";
    +  var SH_KEYWORDS = FLOW_CONTROL_KEYWORDS + "case done elif esac eval fi " +
    +      "function in local set then until ";
    +  var ALL_KEYWORDS = (
    +      CPP_KEYWORDS + CSHARP_KEYWORDS + JSCRIPT_KEYWORDS + PERL_KEYWORDS +
    +      PYTHON_KEYWORDS + RUBY_KEYWORDS + SH_KEYWORDS);
    +
    +  // token style names.  correspond to css classes
    +  /** token style for a string literal */
    +  var PR_STRING = 'str';
    +  /** token style for a keyword */
    +  var PR_KEYWORD = 'kwd';
    +  /** token style for a comment */
    +  var PR_COMMENT = 'com';
    +  /** token style for a type */
    +  var PR_TYPE = 'typ';
    +  /** token style for a literal value.  e.g. 1, null, true. */
    +  var PR_LITERAL = 'lit';
    +  /** token style for a punctuation string. */
    +  var PR_PUNCTUATION = 'pun';
    +  /** token style for a punctuation string. */
    +  var PR_PLAIN = 'pln';
    +
    +  /** token style for an sgml tag. */
    +  var PR_TAG = 'tag';
    +  /** token style for a markup declaration such as a DOCTYPE. */
    +  var PR_DECLARATION = 'dec';
    +  /** token style for embedded source. */
    +  var PR_SOURCE = 'src';
    +  /** token style for an sgml attribute name. */
    +  var PR_ATTRIB_NAME = 'atn';
    +  /** token style for an sgml attribute value. */
    +  var PR_ATTRIB_VALUE = 'atv';
    +
    +  /**
    +   * A class that indicates a section of markup that is not code, e.g. to allow
    +   * embedding of line numbers within code listings.
    +   */
    +  var PR_NOCODE = 'nocode';
    +
    +  /** A set of tokens that can precede a regular expression literal in
    +    * javascript.
    +    * http://www.mozilla.org/js/language/js20/rationale/syntax.html has the full
    +    * list, but I've removed ones that might be problematic when seen in
    +    * languages that don't support regular expression literals.
    +    *
    +    * <p>Specifically, I've removed any keywords that can't precede a regexp
    +    * literal in a syntactically legal javascript program, and I've removed the
    +    * "in" keyword since it's not a keyword in many languages, and might be used
    +    * as a count of inches.
    +    *
    +    * <p>The link a above does not accurately describe EcmaScript rules since
    +    * it fails to distinguish between (a=++/b/i) and (a++/b/i) but it works
    +    * very well in practice.
    +    *
    +    * @private
    +    */
    +  var REGEXP_PRECEDER_PATTERN = function () {
    +      var preceders = [
    +          "!", "!=", "!==", "#", "%", "%=", "&", "&&", "&&=",
    +          "&=", "(", "*", "*=", /* "+", */ "+=", ",", /* "-", */ "-=",
    +          "->", /*".", "..", "...", handled below */ "/", "/=", ":", "::", ";",
    +          "<", "<<", "<<=", "<=", "=", "==", "===", ">",
    +          ">=", ">>", ">>=", ">>>", ">>>=", "?", "@", "[",
    +          "^", "^=", "^^", "^^=", "{", "|", "|=", "||",
    +          "||=", "~" /* handles =~ and !~ */,
    +          "break", "case", "continue", "delete",
    +          "do", "else", "finally", "instanceof",
    +          "return", "throw", "try", "typeof"
    +          ];
    +      var pattern = '(?:^^|[+-]';
    +      for (var i = 0; i < preceders.length; ++i) {
    +        pattern += '|' + preceders[i].replace(/([^=<>:&a-z])/g, '\\$1');
    +      }
    +      pattern += ')\\s*';  // matches at end, and matches empty string
    +      return pattern;
    +      // CAVEAT: this does not properly handle the case where a regular
    +      // expression immediately follows another since a regular expression may
    +      // have flags for case-sensitivity and the like.  Having regexp tokens
    +      // adjacent is not valid in any language I'm aware of, so I'm punting.
    +      // TODO: maybe style special characters inside a regexp as punctuation.
    +    }();
    +
    +  // Define regexps here so that the interpreter doesn't have to create an
    +  // object each time the function containing them is called.
    +  // The language spec requires a new object created even if you don't access
    +  // the $1 members.
    +  var pr_amp = /&/g;
    +  var pr_lt = /</g;
    +  var pr_gt = />/g;
    +  var pr_quot = /\"/g;
    +  /** like textToHtml but escapes double quotes to be attribute safe. */
    +  function attribToHtml(str) {
    +    return str.replace(pr_amp, '&amp;')
    +        .replace(pr_lt, '&lt;')
    +        .replace(pr_gt, '&gt;')
    +        .replace(pr_quot, '&quot;');
    +  }
    +
    +  /** escapest html special characters to html. */
    +  function textToHtml(str) {
    +    return str.replace(pr_amp, '&amp;')
    +        .replace(pr_lt, '&lt;')
    +        .replace(pr_gt, '&gt;');
    +  }
    +
    +
    +  var pr_ltEnt = /&lt;/g;
    +  var pr_gtEnt = /&gt;/g;
    +  var pr_aposEnt = /&apos;/g;
    +  var pr_quotEnt = /&quot;/g;
    +  var pr_ampEnt = /&amp;/g;
    +  var pr_nbspEnt = /&nbsp;/g;
    +  /** unescapes html to plain text. */
    +  function htmlToText(html) {
    +    var pos = html.indexOf('&');
    +    if (pos < 0) { return html; }
    +    // Handle numeric entities specially.  We can't use functional substitution
    +    // since that doesn't work in older versions of Safari.
    +    // These should be rare since most browsers convert them to normal chars.
    +    for (--pos; (pos = html.indexOf('&#', pos + 1)) >= 0;) {
    +      var end = html.indexOf(';', pos);
    +      if (end >= 0) {
    +        var num = html.substring(pos + 3, end);
    +        var radix = 10;
    +        if (num && num.charAt(0) === 'x') {
    +          num = num.substring(1);
    +          radix = 16;
    +        }
    +        var codePoint = parseInt(num, radix);
    +        if (!isNaN(codePoint)) {
    +          html = (html.substring(0, pos) + String.fromCharCode(codePoint) +
    +                  html.substring(end + 1));
    +        }
    +      }
    +    }
    +
    +    return html.replace(pr_ltEnt, '<')
    +        .replace(pr_gtEnt, '>')
    +        .replace(pr_aposEnt, "'")
    +        .replace(pr_quotEnt, '"')
    +        .replace(pr_nbspEnt, ' ')
    +        .replace(pr_ampEnt, '&');
    +  }
    +
    +  /** is the given node's innerHTML normally unescaped? */
    +  function isRawContent(node) {
    +    return 'XMP' === node.tagName;
    +  }
    +
    +  var newlineRe = /[\r\n]/g;
    +  /**
    +   * Are newlines and adjacent spaces significant in the given node's innerHTML?
    +   */
    +  function isPreformatted(node, content) {
    +    // PRE means preformatted, and is a very common case, so don't create
    +    // unnecessary computed style objects.
    +    if ('PRE' === node.tagName) { return true; }
    +    if (!newlineRe.test(content)) { return true; }  // Don't care
    +    var whitespace = '';
    +    // For disconnected nodes, IE has no currentStyle.
    +    if (node.currentStyle) {
    +      whitespace = node.currentStyle.whiteSpace;
    +    } else if (window.getComputedStyle) {
    +      // Firefox makes a best guess if node is disconnected whereas Safari
    +      // returns the empty string.
    +      whitespace = window.getComputedStyle(node, null).whiteSpace;
    +    }
    +    return !whitespace || whitespace === 'pre';
    +  }
    +
    +  function normalizedHtml(node, out, opt_sortAttrs) {
    +    switch (node.nodeType) {
    +      case 1:  // an element
    +        var name = node.tagName.toLowerCase();
    +
    +        out.push('<', name);
    +        var attrs = node.attributes;
    +        var n = attrs.length;
    +        if (n) {
    +          if (opt_sortAttrs) {
    +            var sortedAttrs = [];
    +            for (var i = n; --i >= 0;) { sortedAttrs[i] = attrs[i]; }
    +            sortedAttrs.sort(function (a, b) {
    +                return (a.name < b.name) ? -1 : a.name === b.name ? 0 : 1;
    +              });
    +            attrs = sortedAttrs;
    +          }
    +          for (var i = 0; i < n; ++i) {
    +            var attr = attrs[i];
    +            if (!attr.specified) { continue; }
    +            out.push(' ', attr.name.toLowerCase(),
    +                     '="', attribToHtml(attr.value), '"');
    +          }
    +        }
    +        out.push('>');
    +        for (var child = node.firstChild; child; child = child.nextSibling) {
    +          normalizedHtml(child, out, opt_sortAttrs);
    +        }
    +        if (node.firstChild || !/^(?:br|link|img)$/.test(name)) {
    +          out.push('<\/', name, '>');
    +        }
    +        break;
    +      case 3: case 4: // text
    +        out.push(textToHtml(node.nodeValue));
    +        break;
    +    }
    +  }
    +
    +  /**
    +   * Given a group of {@link RegExp}s, returns a {@code RegExp} that globally
    +   * matches the union o the sets o strings matched d by the input RegExp.
    +   * Since it matches globally, if the input strings have a start-of-input
    +   * anchor (/^.../), it is ignored for the purposes of unioning.
    +   * @param {Array.<RegExp>} regexs non multiline, non-global regexs.
    +   * @return {RegExp} a global regex.
    +   */
    +  function combinePrefixPatterns(regexs) {
    +    var capturedGroupIndex = 0;
    +
    +    var needToFoldCase = false;
    +    var ignoreCase = false;
    +    for (var i = 0, n = regexs.length; i < n; ++i) {
    +      var regex = regexs[i];
    +      if (regex.ignoreCase) {
    +        ignoreCase = true;
    +      } else if (/[a-z]/i.test(regex.source.replace(
    +                     /\\u[0-9a-f]{4}|\\x[0-9a-f]{2}|\\[^ux]/gi, ''))) {
    +        needToFoldCase = true;
    +        ignoreCase = false;
    +        break;
    +      }
    +    }
    +
    +    function decodeEscape(charsetPart) {
    +      if (charsetPart.charAt(0) !== '\\') { return charsetPart.charCodeAt(0); }
    +      switch (charsetPart.charAt(1)) {
    +        case 'b': return 8;
    +        case 't': return 9;
    +        case 'n': return 0xa;
    +        case 'v': return 0xb;
    +        case 'f': return 0xc;
    +        case 'r': return 0xd;
    +        case 'u': case 'x':
    +          return parseInt(charsetPart.substring(2), 16)
    +              || charsetPart.charCodeAt(1);
    +        case '0': case '1': case '2': case '3': case '4':
    +        case '5': case '6': case '7':
    +          return parseInt(charsetPart.substring(1), 8);
    +        default: return charsetPart.charCodeAt(1);
    +      }
    +    }
    +
    +    function encodeEscape(charCode) {
    +      if (charCode < 0x20) {
    +        return (charCode < 0x10 ? '\\x0' : '\\x') + charCode.toString(16);
    +      }
    +      var ch = String.fromCharCode(charCode);
    +      if (ch === '\\' || ch === '-' || ch === '[' || ch === ']') {
    +        ch = '\\' + ch;
    +      }
    +      return ch;
    +    }
    +
    +    function caseFoldCharset(charSet) {
    +      var charsetParts = charSet.substring(1, charSet.length - 1).match(
    +          new RegExp(
    +              '\\\\u[0-9A-Fa-f]{4}'
    +              + '|\\\\x[0-9A-Fa-f]{2}'
    +              + '|\\\\[0-3][0-7]{0,2}'
    +              + '|\\\\[0-7]{1,2}'
    +              + '|\\\\[\\s\\S]'
    +              + '|-'
    +              + '|[^-\\\\]',
    +              'g'));
    +      var groups = [];
    +      var ranges = [];
    +      var inverse = charsetParts[0] === '^';
    +      for (var i = inverse ? 1 : 0, n = charsetParts.length; i < n; ++i) {
    +        var p = charsetParts[i];
    +        switch (p) {
    +          case '\\B': case '\\b':
    +          case '\\D': case '\\d':
    +          case '\\S': case '\\s':
    +          case '\\W': case '\\w':
    +            groups.push(p);
    +            continue;
    +        }
    +        var start = decodeEscape(p);
    +        var end;
    +        if (i + 2 < n && '-' === charsetParts[i + 1]) {
    +          end = decodeEscape(charsetParts[i + 2]);
    +          i += 2;
    +        } else {
    +          end = start;
    +        }
    +        ranges.push([start, end]);
    +        // If the range might intersect letters, then expand it.
    +        if (!(end < 65 || start > 122)) {
    +          if (!(end < 65 || start > 90)) {
    +            ranges.push([Math.max(65, start) | 32, Math.min(end, 90) | 32]);
    +          }
    +          if (!(end < 97 || start > 122)) {
    +            ranges.push([Math.max(97, start) & ~32, Math.min(end, 122) & ~32]);
    +          }
    +        }
    +      }
    +
    +      // [[1, 10], [3, 4], [8, 12], [14, 14], [16, 16], [17, 17]]
    +      // -> [[1, 12], [14, 14], [16, 17]]
    +      ranges.sort(function (a, b) { return (a[0] - b[0]) || (b[1]  - a[1]); });
    +      var consolidatedRanges = [];
    +      var lastRange = [NaN, NaN];
    +      for (var i = 0; i < ranges.length; ++i) {
    +        var range = ranges[i];
    +        if (range[0] <= lastRange[1] + 1) {
    +          lastRange[1] = Math.max(lastRange[1], range[1]);
    +        } else {
    +          consolidatedRanges.push(lastRange = range);
    +        }
    +      }
    +
    +      var out = ['['];
    +      if (inverse) { out.push('^'); }
    +      out.push.apply(out, groups);
    +      for (var i = 0; i < consolidatedRanges.length; ++i) {
    +        var range = consolidatedRanges[i];
    +        out.push(encodeEscape(range[0]));
    +        if (range[1] > range[0]) {
    +          if (range[1] + 1 > range[0]) { out.push('-'); }
    +          out.push(encodeEscape(range[1]));
    +        }
    +      }
    +      out.push(']');
    +      return out.join('');
    +    }
    +
    +    function allowAnywhereFoldCaseAndRenumberGroups(regex) {
    +      // Split into character sets, escape sequences, punctuation strings
    +      // like ('(', '(?:', ')', '^'), and runs of characters that do not
    +      // include any of the above.
    +      var parts = regex.source.match(
    +          new RegExp(
    +              '(?:'
    +              + '\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]'  // a character set
    +              + '|\\\\u[A-Fa-f0-9]{4}'  // a unicode escape
    +              + '|\\\\x[A-Fa-f0-9]{2}'  // a hex escape
    +              + '|\\\\[0-9]+'  // a back-reference or octal escape
    +              + '|\\\\[^ux0-9]'  // other escape sequence
    +              + '|\\(\\?[:!=]'  // start of a non-capturing group
    +              + '|[\\(\\)\\^]'  // start/emd of a group, or line start
    +              + '|[^\\x5B\\x5C\\(\\)\\^]+'  // run of other characters
    +              + ')',
    +              'g'));
    +      var n = parts.length;
    +
    +      // Maps captured group numbers to the number they will occupy in
    +      // the output or to -1 if that has not been determined, or to
    +      // undefined if they need not be capturing in the output.
    +      var capturedGroups = [];
    +
    +      // Walk over and identify back references to build the capturedGroups
    +      // mapping.
    +      for (var i = 0, groupIndex = 0; i < n; ++i) {
    +        var p = parts[i];
    +        if (p === '(') {
    +          // groups are 1-indexed, so max group index is count of '('
    +          ++groupIndex;
    +        } else if ('\\' === p.charAt(0)) {
    +          var decimalValue = +p.substring(1);
    +          if (decimalValue && decimalValue <= groupIndex) {
    +            capturedGroups[decimalValue] = -1;
    +          }
    +        }
    +      }
    +
    +      // Renumber groups and reduce capturing groups to non-capturing groups
    +      // where possible.
    +      for (var i = 1; i < capturedGroups.length; ++i) {
    +        if (-1 === capturedGroups[i]) {
    +          capturedGroups[i] = ++capturedGroupIndex;
    +        }
    +      }
    +      for (var i = 0, groupIndex = 0; i < n; ++i) {
    +        var p = parts[i];
    +        if (p === '(') {
    +          ++groupIndex;
    +          if (capturedGroups[groupIndex] === undefined) {
    +            parts[i] = '(?:';
    +          }
    +        } else if ('\\' === p.charAt(0)) {
    +          var decimalValue = +p.substring(1);
    +          if (decimalValue && decimalValue <= groupIndex) {
    +            parts[i] = '\\' + capturedGroups[groupIndex];
    +          }
    +        }
    +      }
    +
    +      // Remove any prefix anchors so that the output will match anywhere.
    +      // ^^ really does mean an anchored match though.
    +      for (var i = 0, groupIndex = 0; i < n; ++i) {
    +        if ('^' === parts[i] && '^' !== parts[i + 1]) { parts[i] = ''; }
    +      }
    +
    +      // Expand letters to groupts to handle mixing of case-sensitive and
    +      // case-insensitive patterns if necessary.
    +      if (regex.ignoreCase && needToFoldCase) {
    +        for (var i = 0; i < n; ++i) {
    +          var p = parts[i];
    +          var ch0 = p.charAt(0);
    +          if (p.length >= 2 && ch0 === '[') {
    +            parts[i] = caseFoldCharset(p);
    +          } else if (ch0 !== '\\') {
    +            // TODO: handle letters in numeric escapes.
    +            parts[i] = p.replace(
    +                /[a-zA-Z]/g,
    +                function (ch) {
    +                  var cc = ch.charCodeAt(0);
    +                  return '[' + String.fromCharCode(cc & ~32, cc | 32) + ']';
    +                });
    +          }
    +        }
    +      }
    +
    +      return parts.join('');
    +    }
    +
    +    var rewritten = [];
    +    for (var i = 0, n = regexs.length; i < n; ++i) {
    +      var regex = regexs[i];
    +      if (regex.global || regex.multiline) { throw new Error('' + regex); }
    +      rewritten.push(
    +          '(?:' + allowAnywhereFoldCaseAndRenumberGroups(regex) + ')');
    +    }
    +
    +    return new RegExp(rewritten.join('|'), ignoreCase ? 'gi' : 'g');
    +  }
    +
    +  var PR_innerHtmlWorks = null;
    +  function getInnerHtml(node) {
    +    // inner html is hopelessly broken in Safari 2.0.4 when the content is
    +    // an html description of well formed XML and the containing tag is a PRE
    +    // tag, so we detect that case and emulate innerHTML.
    +    if (null === PR_innerHtmlWorks) {
    +      var testNode = document.createElement('PRE');
    +      testNode.appendChild(
    +          document.createTextNode('<!DOCTYPE foo PUBLIC "foo bar">\n<foo />'));
    +      PR_innerHtmlWorks = !/</.test(testNode.innerHTML);
    +    }
    +
    +    if (PR_innerHtmlWorks) {
    +      var content = node.innerHTML;
    +      // XMP tags contain unescaped entities so require special handling.
    +      if (isRawContent(node)) {
    +        content = textToHtml(content);
    +      } else if (!isPreformatted(node, content)) {
    +        content = content.replace(/(<br\s*\/?>)[\r\n]+/g, '$1')
    +            .replace(/(?:[\r\n]+[ \t]*)+/g, ' ');
    +      }
    +      return content;
    +    }
    +
    +    var out = [];
    +    for (var child = node.firstChild; child; child = child.nextSibling) {
    +      normalizedHtml(child, out);
    +    }
    +    return out.join('');
    +  }
    +
    +  /** returns a function that expand tabs to spaces.  This function can be fed
    +    * successive chunks of text, and will maintain its own internal state to
    +    * keep track of how tabs are expanded.
    +    * @return {function (string) : string} a function that takes
    +    *   plain text and return the text with tabs expanded.
    +    * @private
    +    */
    +  function makeTabExpander(tabWidth) {
    +    var SPACES = '                ';
    +    var charInLine = 0;
    +
    +    return function (plainText) {
    +      // walk over each character looking for tabs and newlines.
    +      // On tabs, expand them.  On newlines, reset charInLine.
    +      // Otherwise increment charInLine
    +      var out = null;
    +      var pos = 0;
    +      for (var i = 0, n = plainText.length; i < n; ++i) {
    +        var ch = plainText.charAt(i);
    +
    +        switch (ch) {
    +          case '\t':
    +            if (!out) { out = []; }
    +            out.push(plainText.substring(pos, i));
    +            // calculate how much space we need in front of this part
    +            // nSpaces is the amount of padding -- the number of spaces needed
    +            // to move us to the next column, where columns occur at factors of
    +            // tabWidth.
    +            var nSpaces = tabWidth - (charInLine % tabWidth);
    +            charInLine += nSpaces;
    +            for (; nSpaces >= 0; nSpaces -= SPACES.length) {
    +              out.push(SPACES.substring(0, nSpaces));
    +            }
    +            pos = i + 1;
    +            break;
    +          case '\n':
    +            charInLine = 0;
    +            break;
    +          default:
    +            ++charInLine;
    +        }
    +      }
    +      if (!out) { return plainText; }
    +      out.push(plainText.substring(pos));
    +      return out.join('');
    +    };
    +  }
    +
    +  var pr_chunkPattern = new RegExp(
    +      '[^<]+'  // A run of characters other than '<'
    +      + '|<\!--[\\s\\S]*?--\>'  // an HTML comment
    +      + '|<!\\[CDATA\\[[\\s\\S]*?\\]\\]>'  // a CDATA section
    +      // a probable tag that should not be highlighted
    +      + '|<\/?[a-zA-Z](?:[^>\"\']|\'[^\']*\'|\"[^\"]*\")*>'
    +      + '|<',  // A '<' that does not begin a larger chunk
    +      'g');
    +  var pr_commentPrefix = /^<\!--/;
    +  var pr_cdataPrefix = /^<!\[CDATA\[/;
    +  var pr_brPrefix = /^<br\b/i;
    +  var pr_tagNameRe = /^<(\/?)([a-zA-Z][a-zA-Z0-9]*)/;
    +
    +  /** split markup into chunks of html tags (style null) and
    +    * plain text (style {@link #PR_PLAIN}), converting tags which are
    +    * significant for tokenization (<br>) into their textual equivalent.
    +    *
    +    * @param {string} s html where whitespace is considered significant.
    +    * @return {Object} source code and extracted tags.
    +    * @private
    +    */
    +  function extractTags(s) {
    +    // since the pattern has the 'g' modifier and defines no capturing groups,
    +    // this will return a list of all chunks which we then classify and wrap as
    +    // PR_Tokens
    +    var matches = s.match(pr_chunkPattern);
    +    var sourceBuf = [];
    +    var sourceBufLen = 0;
    +    var extractedTags = [];
    +    if (matches) {
    +      for (var i = 0, n = matches.length; i < n; ++i) {
    +        var match = matches[i];
    +        if (match.length > 1 && match.charAt(0) === '<') {
    +          if (pr_commentPrefix.test(match)) { continue; }
    +          if (pr_cdataPrefix.test(match)) {
    +            // strip CDATA prefix and suffix.  Don't unescape since it's CDATA
    +            sourceBuf.push(match.substring(9, match.length - 3));
    +            sourceBufLen += match.length - 12;
    +          } else if (pr_brPrefix.test(match)) {
    +            // <br> tags are lexically significant so convert them to text.
    +            // This is undone later.
    +            sourceBuf.push('\n');
    +            ++sourceBufLen;
    +          } else {
    +            if (match.indexOf(PR_NOCODE) >= 0 && isNoCodeTag(match)) {
    +              // A <span class="nocode"> will start a section that should be
    +              // ignored.  Continue walking the list until we see a matching end
    +              // tag.
    +              var name = match.match(pr_tagNameRe)[2];
    +              var depth = 1;
    +              var j;
    +              end_tag_loop:
    +              for (j = i + 1; j < n; ++j) {
    +                var name2 = matches[j].match(pr_tagNameRe);
    +                if (name2 && name2[2] === name) {
    +                  if (name2[1] === '/') {
    +                    if (--depth === 0) { break end_tag_loop; }
    +                  } else {
    +                    ++depth;
    +                  }
    +                }
    +              }
    +              if (j < n) {
    +                extractedTags.push(
    +                    sourceBufLen, matches.slice(i, j + 1).join(''));
    +                i = j;
    +              } else {  // Ignore unclosed sections.
    +                extractedTags.push(sourceBufLen, match);
    +              }
    +            } else {
    +              extractedTags.push(sourceBufLen, match);
    +            }
    +          }
    +        } else {
    +          var literalText = htmlToText(match);
    +          sourceBuf.push(literalText);
    +          sourceBufLen += literalText.length;
    +        }
    +      }
    +    }
    +    return { source: sourceBuf.join(''), tags: extractedTags };
    +  }
    +
    +  /** True if the given tag contains a class attribute with the nocode class. */
    +  function isNoCodeTag(tag) {
    +    return !!tag
    +        // First canonicalize the representation of attributes
    +        .replace(/\s(\w+)\s*=\s*(?:\"([^\"]*)\"|'([^\']*)'|(\S+))/g,
    +                 ' $1="$2$3$4"')
    +        // Then look for the attribute we want.
    +        .match(/[cC][lL][aA][sS][sS]=\"[^\"]*\bnocode\b/);
    +  }
    +
    +  /**
    +   * Apply the given language handler to sourceCode and add the resulting
    +   * decorations to out.
    +   * @param {number} basePos the index of sourceCode within the chunk of source
    +   *    whose decorations are already present on out.
    +   */
    +  function appendDecorations(basePos, sourceCode, langHandler, out) {
    +    if (!sourceCode) { return; }
    +    var job = {
    +      source: sourceCode,
    +      basePos: basePos
    +    };
    +    langHandler(job);
    +    out.push.apply(out, job.decorations);
    +  }
    +
    +  /** Given triples of [style, pattern, context] returns a lexing function,
    +    * The lexing function interprets the patterns to find token boundaries and
    +    * returns a decoration list of the form
    +    * [index_0, style_0, index_1, style_1, ..., index_n, style_n]
    +    * where index_n is an index into the sourceCode, and style_n is a style
    +    * constant like PR_PLAIN.  index_n-1 <= index_n, and style_n-1 applies to
    +    * all characters in sourceCode[index_n-1:index_n].
    +    *
    +    * The stylePatterns is a list whose elements have the form
    +    * [style : string, pattern : RegExp, DEPRECATED, shortcut : string].
    +    *
    +    * Style is a style constant like PR_PLAIN, or can be a string of the
    +    * form 'lang-FOO', where FOO is a language extension describing the
    +    * language of the portion of the token in $1 after pattern executes.
    +    * E.g., if style is 'lang-lisp', and group 1 contains the text
    +    * '(hello (world))', then that portion of the token will be passed to the
    +    * registered lisp handler for formatting.
    +    * The text before and after group 1 will be restyled using this decorator
    +    * so decorators should take care that this doesn't result in infinite
    +    * recursion.  For example, the HTML lexer rule for SCRIPT elements looks
    +    * something like ['lang-js', /<[s]cript>(.+?)<\/script>/].  This may match
    +    * '<script>foo()<\/script>', which would cause the current decorator to
    +    * be called with '<script>' which would not match the same rule since
    +    * group 1 must not be empty, so it would be instead styled as PR_TAG by
    +    * the generic tag rule.  The handler registered for the 'js' extension would
    +    * then be called with 'foo()', and finally, the current decorator would
    +    * be called with '<\/script>' which would not match the original rule and
    +    * so the generic tag rule would identify it as a tag.
    +    *
    +    * Pattern must only match prefixes, and if it matches a prefix, then that
    +    * match is considered a token with the same style.
    +    *
    +    * Context is applied to the last non-whitespace, non-comment token
    +    * recognized.
    +    *
    +    * Shortcut is an optional string of characters, any of which, if the first
    +    * character, gurantee that this pattern and only this pattern matches.
    +    *
    +    * @param {Array} shortcutStylePatterns patterns that always start with
    +    *   a known character.  Must have a shortcut string.
    +    * @param {Array} fallthroughStylePatterns patterns that will be tried in
    +    *   order if the shortcut ones fail.  May have shortcuts.
    +    *
    +    * @return {function (Object)} a
    +    *   function that takes source code and returns a list of decorations.
    +    */
    +  function createSimpleLexer(shortcutStylePatterns, fallthroughStylePatterns) {
    +    var shortcuts = {};
    +    var tokenizer;
    +    (function () {
    +      var allPatterns = shortcutStylePatterns.concat(fallthroughStylePatterns);
    +      var allRegexs = [];
    +      var regexKeys = {};
    +      for (var i = 0, n = allPatterns.length; i < n; ++i) {
    +        var patternParts = allPatterns[i];
    +        var shortcutChars = patternParts[3];
    +        if (shortcutChars) {
    +          for (var c = shortcutChars.length; --c >= 0;) {
    +            shortcuts[shortcutChars.charAt(c)] = patternParts;
    +          }
    +        }
    +        var regex = patternParts[1];
    +        var k = '' + regex;
    +        if (!regexKeys.hasOwnProperty(k)) {
    +          allRegexs.push(regex);
    +          regexKeys[k] = null;
    +        }
    +      }
    +      allRegexs.push(/[\0-\uffff]/);
    +      tokenizer = combinePrefixPatterns(allRegexs);
    +    })();
    +
    +    var nPatterns = fallthroughStylePatterns.length;
    +    var notWs = /\S/;
    +
    +    /**
    +     * Lexes job.source and produces an output array job.decorations of style
    +     * classes preceded by the position at which they start in job.source in
    +     * order.
    +     *
    +     * @param {Object} job an object like {@code
    +     *    source: {string} sourceText plain text,
    +     *    basePos: {int} position of job.source in the larger chunk of
    +     *        sourceCode.
    +     * }
    +     */
    +    var decorate = function (job) {
    +      var sourceCode = job.source, basePos = job.basePos;
    +      /** Even entries are positions in source in ascending order.  Odd enties
    +        * are style markers (e.g., PR_COMMENT) that run from that position until
    +        * the end.
    +        * @type {Array.<number|string>}
    +        */
    +      var decorations = [basePos, PR_PLAIN];
    +      var pos = 0;  // index into sourceCode
    +      var tokens = sourceCode.match(tokenizer) || [];
    +      var styleCache = {};
    +
    +      for (var ti = 0, nTokens = tokens.length; ti < nTokens; ++ti) {
    +        var token = tokens[ti];
    +        var style = styleCache[token];
    +        var match = void 0;
    +
    +        var isEmbedded;
    +        if (typeof style === 'string') {
    +          isEmbedded = false;
    +        } else {
    +          var patternParts = shortcuts[token.charAt(0)];
    +          if (patternParts) {
    +            match = token.match(patternParts[1]);
    +            style = patternParts[0];
    +          } else {
    +            for (var i = 0; i < nPatterns; ++i) {
    +              patternParts = fallthroughStylePatterns[i];
    +              match = token.match(patternParts[1]);
    +              if (match) {
    +                style = patternParts[0];
    +                break;
    +              }
    +            }
    +
    +            if (!match) {  // make sure that we make progress
    +              style = PR_PLAIN;
    +            }
    +          }
    +
    +          isEmbedded = style.length >= 5 && 'lang-' === style.substring(0, 5);
    +          if (isEmbedded && !(match && typeof match[1] === 'string')) {
    +            isEmbedded = false;
    +            style = PR_SOURCE;
    +          }
    +
    +          if (!isEmbedded) { styleCache[token] = style; }
    +        }
    +
    +        var tokenStart = pos;
    +        pos += token.length;
    +
    +        if (!isEmbedded) {
    +          decorations.push(basePos + tokenStart, style);
    +        } else {  // Treat group 1 as an embedded block of source code.
    +          var embeddedSource = match[1];
    +          var embeddedSourceStart = token.indexOf(embeddedSource);
    +          var embeddedSourceEnd = embeddedSourceStart + embeddedSource.length;
    +          if (match[2]) {
    +            // If embeddedSource can be blank, then it would match at the
    +            // beginning which would cause us to infinitely recurse on the
    +            // entire token, so we catch the right context in match[2].
    +            embeddedSourceEnd = token.length - match[2].length;
    +            embeddedSourceStart = embeddedSourceEnd - embeddedSource.length;
    +          }
    +          var lang = style.substring(5);
    +          // Decorate the left of the embedded source
    +          appendDecorations(
    +              basePos + tokenStart,
    +              token.substring(0, embeddedSourceStart),
    +              decorate, decorations);
    +          // Decorate the embedded source
    +          appendDecorations(
    +              basePos + tokenStart + embeddedSourceStart,
    +              embeddedSource,
    +              langHandlerForExtension(lang, embeddedSource),
    +              decorations);
    +          // Decorate the right of the embedded section
    +          appendDecorations(
    +              basePos + tokenStart + embeddedSourceEnd,
    +              token.substring(embeddedSourceEnd),
    +              decorate, decorations);
    +        }
    +      }
    +      job.decorations = decorations;
    +    };
    +    return decorate;
    +  }
    +
    +  /** returns a function that produces a list of decorations from source text.
    +    *
    +    * This code treats ", ', and ` as string delimiters, and \ as a string
    +    * escape.  It does not recognize perl's qq() style strings.
    +    * It has no special handling for double delimiter escapes as in basic, or
    +    * the tripled delimiters used in python, but should work on those regardless
    +    * although in those cases a single string literal may be broken up into
    +    * multiple adjacent string literals.
    +    *
    +    * It recognizes C, C++, and shell style comments.
    +    *
    +    * @param {Object} options a set of optional parameters.
    +    * @return {function (Object)} a function that examines the source code
    +    *     in the input job and builds the decoration list.
    +    */
    +  function sourceDecorator(options) {
    +    var shortcutStylePatterns = [], fallthroughStylePatterns = [];
    +    if (options['tripleQuotedStrings']) {
    +      // '''multi-line-string''', 'single-line-string', and double-quoted
    +      shortcutStylePatterns.push(
    +          [PR_STRING,  /^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,
    +           null, '\'"']);
    +    } else if (options['multiLineStrings']) {
    +      // 'multi-line-string', "multi-line-string"
    +      shortcutStylePatterns.push(
    +          [PR_STRING,  /^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,
    +           null, '\'"`']);
    +    } else {
    +      // 'single-line-string', "single-line-string"
    +      shortcutStylePatterns.push(
    +          [PR_STRING,
    +           /^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,
    +           null, '"\'']);
    +    }
    +    if (options['verbatimStrings']) {
    +      // verbatim-string-literal production from the C# grammar.  See issue 93.
    +      fallthroughStylePatterns.push(
    +          [PR_STRING, /^@\"(?:[^\"]|\"\")*(?:\"|$)/, null]);
    +    }
    +    if (options['hashComments']) {
    +      if (options['cStyleComments']) {
    +        // Stop C preprocessor declarations at an unclosed open comment
    +        shortcutStylePatterns.push(
    +            [PR_COMMENT, /^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,
    +             null, '#']);
    +        fallthroughStylePatterns.push(
    +            [PR_STRING,
    +             /^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,
    +             null]);
    +      } else {
    +        shortcutStylePatterns.push([PR_COMMENT, /^#[^\r\n]*/, null, '#']);
    +      }
    +    }
    +    if (options['cStyleComments']) {
    +      fallthroughStylePatterns.push([PR_COMMENT, /^\/\/[^\r\n]*/, null]);
    +      fallthroughStylePatterns.push(
    +          [PR_COMMENT, /^\/\*[\s\S]*?(?:\*\/|$)/, null]);
    +    }
    +    if (options['regexLiterals']) {
    +      var REGEX_LITERAL = (
    +          // A regular expression literal starts with a slash that is
    +          // not followed by * or / so that it is not confused with
    +          // comments.
    +          '/(?=[^/*])'
    +          // and then contains any number of raw characters,
    +          + '(?:[^/\\x5B\\x5C]'
    +          // escape sequences (\x5C),
    +          +    '|\\x5C[\\s\\S]'
    +          // or non-nesting character sets (\x5B\x5D);
    +          +    '|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+'
    +          // finally closed by a /.
    +          + '/');
    +      fallthroughStylePatterns.push(
    +          ['lang-regex',
    +           new RegExp('^' + REGEXP_PRECEDER_PATTERN + '(' + REGEX_LITERAL + ')')
    +           ]);
    +    }
    +
    +    var keywords = options['keywords'].replace(/^\s+|\s+$/g, '');
    +    if (keywords.length) {
    +      fallthroughStylePatterns.push(
    +          [PR_KEYWORD,
    +           new RegExp('^(?:' + keywords.replace(/\s+/g, '|') + ')\\b'), null]);
    +    }
    +
    +    shortcutStylePatterns.push([PR_PLAIN,       /^\s+/, null, ' \r\n\t\xA0']);
    +    fallthroughStylePatterns.push(
    +        // TODO(mikesamuel): recognize non-latin letters and numerals in idents
    +        [PR_LITERAL,     /^@[a-z_$][a-z_$@0-9]*/i, null],
    +        [PR_TYPE,        /^@?[A-Z]+[a-z][A-Za-z_$@0-9]*/, null],
    +        [PR_PLAIN,       /^[a-z_$][a-z_$@0-9]*/i, null],
    +        [PR_LITERAL,
    +         new RegExp(
    +             '^(?:'
    +             // A hex number
    +             + '0x[a-f0-9]+'
    +             // or an octal or decimal number,
    +             + '|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)'
    +             // possibly in scientific notation
    +             + '(?:e[+\\-]?\\d+)?'
    +             + ')'
    +             // with an optional modifier like UL for unsigned long
    +             + '[a-z]*', 'i'),
    +         null, '0123456789'],
    +        [PR_PUNCTUATION, /^.[^\s\w\.$@\'\"\`\/\#]*/, null]);
    +
    +    return createSimpleLexer(shortcutStylePatterns, fallthroughStylePatterns);
    +  }
    +
    +  var decorateSource = sourceDecorator({
    +        'keywords': ALL_KEYWORDS,
    +        'hashComments': true,
    +        'cStyleComments': true,
    +        'multiLineStrings': true,
    +        'regexLiterals': true
    +      });
    +
    +  /** Breaks {@code job.source} around style boundaries in
    +    * {@code job.decorations} while re-interleaving {@code job.extractedTags},
    +    * and leaves the result in {@code job.prettyPrintedHtml}.
    +    * @param {Object} job like {
    +    *    source: {string} source as plain text,
    +    *    extractedTags: {Array.<number|string>} extractedTags chunks of raw
    +    *                   html preceded by their position in {@code job.source}
    +    *                   in order
    +    *    decorations: {Array.<number|string} an array of style classes preceded
    +    *                 by the position at which they start in job.source in order
    +    * }
    +    * @private
    +    */
    +  function recombineTagsAndDecorations(job) {
    +    var sourceText = job.source;
    +    var extractedTags = job.extractedTags;
    +    var decorations = job.decorations;
    +
    +    var html = [];
    +    // index past the last char in sourceText written to html
    +    var outputIdx = 0;
    +
    +    var openDecoration = null;
    +    var currentDecoration = null;
    +    var tagPos = 0;  // index into extractedTags
    +    var decPos = 0;  // index into decorations
    +    var tabExpander = makeTabExpander(window['PR_TAB_WIDTH']);
    +
    +    var adjacentSpaceRe = /([\r\n ]) /g;
    +    var startOrSpaceRe = /(^| ) /gm;
    +    var newlineRe = /\r\n?|\n/g;
    +    var trailingSpaceRe = /[ \r\n]$/;
    +    var lastWasSpace = true;  // the last text chunk emitted ended with a space.
    +
    +    // See bug 71 and http://stackoverflow.com/questions/136443/why-doesnt-ie7-
    +    var isIE678 = window['_pr_isIE6']();
    +    var lineBreakHtml = (
    +        isIE678
    +        ? (job.sourceNode.tagName === 'PRE'
    +           // Use line feeds instead of <br>s so that copying and pasting works
    +           // on IE.
    +           // Doing this on other browsers breaks lots of stuff since \r\n is
    +           // treated as two newlines on Firefox.
    +           ? (isIE678 === 6 ? '&#160;\r\n' :
    +              isIE678 === 7 ? '&#160;<br>\r' : '&#160;\r')
    +           // IE collapses multiple adjacent <br>s into 1 line break.
    +           // Prefix every newline with '&#160;' to prevent such behavior.
    +           // &nbsp; is the same as &#160; but works in XML as well as HTML.
    +           : '&#160;<br />')
    +        : '<br />');
    +
    +    // Look for a class like linenums or linenums:<n> where <n> is the 1-indexed
    +    // number of the first line.
    +    var numberLines = job.sourceNode.className.match(/\blinenums\b(?::(\d+))?/);
    +    var lineBreaker;
    +    if (numberLines) {
    +      var lineBreaks = [];
    +      for (var i = 0; i < 10; ++i) {
    +        lineBreaks[i] = lineBreakHtml + '</li><li class="L' + i + '">';
    +      }
    +      var lineNum = numberLines[1] && numberLines[1].length
    +          ? numberLines[1] - 1 : 0;  // Lines are 1-indexed
    +      html.push('<ol class="linenums"><li class="L', (lineNum) % 10, '"');
    +      if (lineNum) {
    +        html.push(' value="', lineNum + 1, '"');
    +      }
    +      html.push('>');
    +      lineBreaker = function () {
    +        var lb = lineBreaks[++lineNum % 10];
    +        // If a decoration is open, we need to close it before closing a list-item
    +        // and reopen it on the other side of the list item.
    +        return openDecoration
    +            ? ('</span>' + lb + '<span class="' + openDecoration + '">') : lb;
    +      };
    +    } else {
    +      lineBreaker = lineBreakHtml;
    +    }
    +
    +    // A helper function that is responsible for opening sections of decoration
    +    // and outputing properly escaped chunks of source
    +    function emitTextUpTo(sourceIdx) {
    +      if (sourceIdx > outputIdx) {
    +        if (openDecoration && openDecoration !== currentDecoration) {
    +          // Close the current decoration
    +          html.push('</span>');
    +          openDecoration = null;
    +        }
    +        if (!openDecoration && currentDecoration) {
    +          openDecoration = currentDecoration;
    +          html.push('<span class="', openDecoration, '">');
    +        }
    +        // This interacts badly with some wikis which introduces paragraph tags
    +        // into pre blocks for some strange reason.
    +        // It's necessary for IE though which seems to lose the preformattedness
    +        // of <pre> tags when their innerHTML is assigned.
    +        // http://stud3.tuwien.ac.at/~e0226430/innerHtmlQuirk.html
    +        // and it serves to undo the conversion of <br>s to newlines done in
    +        // chunkify.
    +        var htmlChunk = textToHtml(
    +            tabExpander(sourceText.substring(outputIdx, sourceIdx)))
    +            .replace(lastWasSpace
    +                     ? startOrSpaceRe
    +                     : adjacentSpaceRe, '$1&#160;');
    +        // Keep track of whether we need to escape space at the beginning of the
    +        // next chunk.
    +        lastWasSpace = trailingSpaceRe.test(htmlChunk);
    +        html.push(htmlChunk.replace(newlineRe, lineBreaker));
    +        outputIdx = sourceIdx;
    +      }
    +    }
    +
    +    while (true) {
    +      // Determine if we're going to consume a tag this time around.  Otherwise
    +      // we consume a decoration or exit.
    +      var outputTag;
    +      if (tagPos < extractedTags.length) {
    +        if (decPos < decorations.length) {
    +          // Pick one giving preference to extractedTags since we shouldn't open
    +          // a new style that we're going to have to immediately close in order
    +          // to output a tag.
    +          outputTag = extractedTags[tagPos] <= decorations[decPos];
    +        } else {
    +          outputTag = true;
    +        }
    +      } else {
    +        outputTag = false;
    +      }
    +      // Consume either a decoration or a tag or exit.
    +      if (outputTag) {
    +        emitTextUpTo(extractedTags[tagPos]);
    +        if (openDecoration) {
    +          // Close the current decoration
    +          html.push('</span>');
    +          openDecoration = null;
    +        }
    +        html.push(extractedTags[tagPos + 1]);
    +        tagPos += 2;
    +      } else if (decPos < decorations.length) {
    +        emitTextUpTo(decorations[decPos]);
    +        currentDecoration = decorations[decPos + 1];
    +        decPos += 2;
    +      } else {
    +        break;
    +      }
    +    }
    +    emitTextUpTo(sourceText.length);
    +    if (openDecoration) {
    +      html.push('</span>');
    +    }
    +    if (numberLines) { html.push('</li></ol>'); }
    +    job.prettyPrintedHtml = html.join('');
    +  }
    +
    +  /** Maps language-specific file extensions to handlers. */
    +  var langHandlerRegistry = {};
    +  /** Register a language handler for the given file extensions.
    +    * @param {function (Object)} handler a function from source code to a list
    +    *      of decorations.  Takes a single argument job which describes the
    +    *      state of the computation.   The single parameter has the form
    +    *      {@code {
    +    *        source: {string} as plain text.
    +    *        decorations: {Array.<number|string>} an array of style classes
    +    *                     preceded by the position at which they start in
    +    *                     job.source in order.
    +    *                     The language handler should assigned this field.
    +    *        basePos: {int} the position of source in the larger source chunk.
    +    *                 All positions in the output decorations array are relative
    +    *                 to the larger source chunk.
    +    *      } }
    +    * @param {Array.<string>} fileExtensions
    +    */
    +  function registerLangHandler(handler, fileExtensions) {
    +    for (var i = fileExtensions.length; --i >= 0;) {
    +      var ext = fileExtensions[i];
    +      if (!langHandlerRegistry.hasOwnProperty(ext)) {
    +        langHandlerRegistry[ext] = handler;
    +      } else if ('console' in window) {
    +        console['warn']('cannot override language handler %s', ext);
    +      }
    +    }
    +  }
    +  function langHandlerForExtension(extension, source) {
    +    if (!(extension && langHandlerRegistry.hasOwnProperty(extension))) {
    +      // Treat it as markup if the first non whitespace character is a < and
    +      // the last non-whitespace character is a >.
    +      extension = /^\s*</.test(source)
    +          ? 'default-markup'
    +          : 'default-code';
    +    }
    +    return langHandlerRegistry[extension];
    +  }
    +  registerLangHandler(decorateSource, ['default-code']);
    +  registerLangHandler(
    +      createSimpleLexer(
    +          [],
    +          [
    +           [PR_PLAIN,       /^[^<?]+/],
    +           [PR_DECLARATION, /^<!\w[^>]*(?:>|$)/],
    +           [PR_COMMENT,     /^<\!--[\s\S]*?(?:-\->|$)/],
    +           // Unescaped content in an unknown language
    +           ['lang-',        /^<\?([\s\S]+?)(?:\?>|$)/],
    +           ['lang-',        /^<%([\s\S]+?)(?:%>|$)/],
    +           [PR_PUNCTUATION, /^(?:<[%?]|[%?]>)/],
    +           ['lang-',        /^<xmp\b[^>]*>([\s\S]+?)<\/xmp\b[^>]*>/i],
    +           // Unescaped content in javascript.  (Or possibly vbscript).
    +           ['lang-js',      /^<script\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],
    +           // Contains unescaped stylesheet content
    +           ['lang-css',     /^<style\b[^>]*>([\s\S]*?)(<\/style\b[^>]*>)/i],
    +           ['lang-in.tag',  /^(<\/?[a-z][^<>]*>)/i]
    +          ]),
    +      ['default-markup', 'htm', 'html', 'mxml', 'xhtml', 'xml', 'xsl']);
    +  registerLangHandler(
    +      createSimpleLexer(
    +          [
    +           [PR_PLAIN,        /^[\s]+/, null, ' \t\r\n'],
    +           [PR_ATTRIB_VALUE, /^(?:\"[^\"]*\"?|\'[^\']*\'?)/, null, '\"\'']
    +           ],
    +          [
    +           [PR_TAG,          /^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],
    +           [PR_ATTRIB_NAME,  /^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],
    +           ['lang-uq.val',   /^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],
    +           [PR_PUNCTUATION,  /^[=<>\/]+/],
    +           ['lang-js',       /^on\w+\s*=\s*\"([^\"]+)\"/i],
    +           ['lang-js',       /^on\w+\s*=\s*\'([^\']+)\'/i],
    +           ['lang-js',       /^on\w+\s*=\s*([^\"\'>\s]+)/i],
    +           ['lang-css',      /^style\s*=\s*\"([^\"]+)\"/i],
    +           ['lang-css',      /^style\s*=\s*\'([^\']+)\'/i],
    +           ['lang-css',      /^style\s*=\s*([^\"\'>\s]+)/i]
    +           ]),
    +      ['in.tag']);
    +  registerLangHandler(
    +      createSimpleLexer([], [[PR_ATTRIB_VALUE, /^[\s\S]+/]]), ['uq.val']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': CPP_KEYWORDS,
    +          'hashComments': true,
    +          'cStyleComments': true
    +        }), ['c', 'cc', 'cpp', 'cxx', 'cyc', 'm']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': 'null true false'
    +        }), ['json']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': CSHARP_KEYWORDS,
    +          'hashComments': true,
    +          'cStyleComments': true,
    +          'verbatimStrings': true
    +        }), ['cs']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': JAVA_KEYWORDS,
    +          'cStyleComments': true
    +        }), ['java']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': SH_KEYWORDS,
    +          'hashComments': true,
    +          'multiLineStrings': true
    +        }), ['bsh', 'csh', 'sh']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': PYTHON_KEYWORDS,
    +          'hashComments': true,
    +          'multiLineStrings': true,
    +          'tripleQuotedStrings': true
    +        }), ['cv', 'py']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': PERL_KEYWORDS,
    +          'hashComments': true,
    +          'multiLineStrings': true,
    +          'regexLiterals': true
    +        }), ['perl', 'pl', 'pm']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': RUBY_KEYWORDS,
    +          'hashComments': true,
    +          'multiLineStrings': true,
    +          'regexLiterals': true
    +        }), ['rb']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': JSCRIPT_KEYWORDS,
    +          'cStyleComments': true,
    +          'regexLiterals': true
    +        }), ['js']);
    +  registerLangHandler(
    +      createSimpleLexer([], [[PR_STRING, /^[\s\S]+/]]), ['regex']);
    +
    +  function applyDecorator(job) {
    +    var sourceCodeHtml = job.sourceCodeHtml;
    +    var opt_langExtension = job.langExtension;
    +
    +    // Prepopulate output in case processing fails with an exception.
    +    job.prettyPrintedHtml = sourceCodeHtml;
    +
    +    try {
    +      // Extract tags, and convert the source code to plain text.
    +      var sourceAndExtractedTags = extractTags(sourceCodeHtml);
    +      /** Plain text. @type {string} */
    +      var source = sourceAndExtractedTags.source;
    +      job.source = source;
    +      job.basePos = 0;
    +
    +      /** Even entries are positions in source in ascending order.  Odd entries
    +        * are tags that were extracted at that position.
    +        * @type {Array.<number|string>}
    +        */
    +      job.extractedTags = sourceAndExtractedTags.tags;
    +
    +      // Apply the appropriate language handler
    +      langHandlerForExtension(opt_langExtension, source)(job);
    +      // Integrate the decorations and tags back into the source code to produce
    +      // a decorated html string which is left in job.prettyPrintedHtml.
    +      recombineTagsAndDecorations(job);
    +    } catch (e) {
    +      if ('console' in window) {
    +        console['log'](e && e['stack'] ? e['stack'] : e);
    +      }
    +    }
    +  }
    +
    +  function prettyPrintOne(sourceCodeHtml, opt_langExtension) {
    +    var job = {
    +      sourceCodeHtml: sourceCodeHtml,
    +      langExtension: opt_langExtension
    +    };
    +    applyDecorator(job);
    +    return job.prettyPrintedHtml;
    +  }
    +
    +  function prettyPrint(opt_whenDone) {
    +    function byTagName(tn) { return document.getElementsByTagName(tn); }
    +    // fetch a list of nodes to rewrite
    +    var codeSegments = [byTagName('pre'), byTagName('code'), byTagName('xmp')];
    +    var elements = [];
    +    for (var i = 0; i < codeSegments.length; ++i) {
    +      for (var j = 0, n = codeSegments[i].length; j < n; ++j) {
    +        elements.push(codeSegments[i][j]);
    +      }
    +    }
    +    codeSegments = null;
    +
    +    var clock = Date;
    +    if (!clock['now']) {
    +      clock = { 'now': function () { return (new Date).getTime(); } };
    +    }
    +
    +    // The loop is broken into a series of continuations to make sure that we
    +    // don't make the browser unresponsive when rewriting a large page.
    +    var k = 0;
    +    var prettyPrintingJob;
    +
    +    function doWork() {
    +      var endTime = (window['PR_SHOULD_USE_CONTINUATION'] ?
    +                     clock.now() + 250 /* ms */ :
    +                     Infinity);
    +      for (; k < elements.length && clock.now() < endTime; k++) {
    +        var cs = elements[k];
    +        // [JACOCO] 'prettyprint' -> 'source'
    +        if (cs.className && cs.className.indexOf('source') >= 0) {
    +          // If the classes includes a language extensions, use it.
    +          // Language extensions can be specified like
    +          //     <pre class="prettyprint lang-cpp">
    +          // the language extension "cpp" is used to find a language handler as
    +          // passed to PR_registerLangHandler.
    +          var langExtension = cs.className.match(/\blang-(\w+)\b/);
    +          if (langExtension) { langExtension = langExtension[1]; }
    +
    +          // make sure this is not nested in an already prettified element
    +          var nested = false;
    +          for (var p = cs.parentNode; p; p = p.parentNode) {
    +            if ((p.tagName === 'pre' || p.tagName === 'code' ||
    +                 p.tagName === 'xmp') &&
    +                // [JACOCO] 'prettyprint' -> 'source'
    +                p.className && p.className.indexOf('source') >= 0) {
    +              nested = true;
    +              break;
    +            }
    +          }
    +          if (!nested) {
    +            // fetch the content as a snippet of properly escaped HTML.
    +            // Firefox adds newlines at the end.
    +            var content = getInnerHtml(cs);
    +            content = content.replace(/(?:\r\n?|\n)$/, '');
    +
    +            // do the pretty printing
    +            prettyPrintingJob = {
    +              sourceCodeHtml: content,
    +              langExtension: langExtension,
    +              sourceNode: cs
    +            };
    +            applyDecorator(prettyPrintingJob);
    +            replaceWithPrettyPrintedHtml();
    +          }
    +        }
    +      }
    +      if (k < elements.length) {
    +        // finish up in a continuation
    +        setTimeout(doWork, 250);
    +      } else if (opt_whenDone) {
    +        opt_whenDone();
    +      }
    +    }
    +
    +    function replaceWithPrettyPrintedHtml() {
    +      var newContent = prettyPrintingJob.prettyPrintedHtml;
    +      if (!newContent) { return; }
    +      var cs = prettyPrintingJob.sourceNode;
    +
    +      // push the prettified html back into the tag.
    +      if (!isRawContent(cs)) {
    +        // just replace the old html with the new
    +        cs.innerHTML = newContent;
    +      } else {
    +        // we need to change the tag to a <pre> since <xmp>s do not allow
    +        // embedded tags such as the span tags used to attach styles to
    +        // sections of source code.
    +        var pre = document.createElement('PRE');
    +        for (var i = 0; i < cs.attributes.length; ++i) {
    +          var a = cs.attributes[i];
    +          if (a.specified) {
    +            var aname = a.name.toLowerCase();
    +            if (aname === 'class') {
    +              pre.className = a.value;  // For IE 6
    +            } else {
    +              pre.setAttribute(a.name, a.value);
    +            }
    +          }
    +        }
    +        pre.innerHTML = newContent;
    +
    +        // remove the old
    +        cs.parentNode.replaceChild(pre, cs);
    +        cs = pre;
    +      }
    +    }
    +
    +    doWork();
    +  }
    +
    +  window['PR_normalizedHtml'] = normalizedHtml;
    +  window['prettyPrintOne'] = prettyPrintOne;
    +  window['prettyPrint'] = prettyPrint;
    +  window['PR'] = {
    +        'combinePrefixPatterns': combinePrefixPatterns,
    +        'createSimpleLexer': createSimpleLexer,
    +        'registerLangHandler': registerLangHandler,
    +        'sourceDecorator': sourceDecorator,
    +        'PR_ATTRIB_NAME': PR_ATTRIB_NAME,
    +        'PR_ATTRIB_VALUE': PR_ATTRIB_VALUE,
    +        'PR_COMMENT': PR_COMMENT,
    +        'PR_DECLARATION': PR_DECLARATION,
    +        'PR_KEYWORD': PR_KEYWORD,
    +        'PR_LITERAL': PR_LITERAL,
    +        'PR_NOCODE': PR_NOCODE,
    +        'PR_PLAIN': PR_PLAIN,
    +        'PR_PUNCTUATION': PR_PUNCTUATION,
    +        'PR_SOURCE': PR_SOURCE,
    +        'PR_STRING': PR_STRING,
    +        'PR_TAG': PR_TAG,
    +        'PR_TYPE': PR_TYPE
    +      };
    +})();
    diff --git a/jacoco/jacocoHtml/jacoco-resources/redbar.gif b/jacoco/jacocoHtml/jacoco-resources/redbar.gif
    new file mode 100644
    index 0000000000000000000000000000000000000000..c2f71469ba995289439d86ea39b1b33edb03388c
    GIT binary patch
    literal 91
    zcmZ?wbhEHbWMtrCc+AD{pP&D~tn7aso&R25|6^nS*Vg{;>G{84!T)8;{;yfXu$BQ0
    fDgI<(<YM4w&|v@qkQodt90ol_LPjnP91PX~3&9+X
    
    literal 0
    HcmV?d00001
    
    diff --git a/jacoco/jacocoHtml/jacoco-resources/report.css b/jacoco/jacocoHtml/jacoco-resources/report.css
    new file mode 100644
    index 00000000..dd936bca
    --- /dev/null
    +++ b/jacoco/jacocoHtml/jacoco-resources/report.css
    @@ -0,0 +1,243 @@
    +body, td {
    +  font-family:sans-serif;
    +  font-size:10pt;
    +}
    +
    +h1 {
    +  font-weight:bold;
    +  font-size:18pt;
    +}
    +
    +.breadcrumb {
    +  border:#d6d3ce 1px solid;
    +  padding:2px 4px 2px 4px;
    +}
    +
    +.breadcrumb .info {
    +  float:right;
    +}
    +
    +.breadcrumb .info a {
    +  margin-left:8px;
    +}
    +
    +.el_report {
    +  padding-left:18px;
    +  background-image:url(report.gif);
    +  background-position:left center;
    +  background-repeat:no-repeat;
    +}
    +
    +.el_group {
    +  padding-left:18px;
    +  background-image:url(group.gif);
    +  background-position:left center;
    +  background-repeat:no-repeat;
    +}
    +
    +.el_bundle {
    +  padding-left:18px;
    +  background-image:url(bundle.gif);
    +  background-position:left center;
    +  background-repeat:no-repeat;
    +}
    +
    +.el_package {
    +  padding-left:18px;
    +  background-image:url(package.gif);
    +  background-position:left center;
    +  background-repeat:no-repeat;
    +}
    +
    +.el_class {
    +  padding-left:18px;
    +  background-image:url(class.gif);
    +  background-position:left center;
    +  background-repeat:no-repeat;
    +}
    +
    +.el_source {
    +  padding-left:18px;
    +  background-image:url(source.gif);
    +  background-position:left center;
    +  background-repeat:no-repeat;
    +}
    +
    +.el_method {
    +  padding-left:18px;
    +  background-image:url(method.gif);
    +  background-position:left center;
    +  background-repeat:no-repeat;
    +}
    +
    +.el_session {
    +  padding-left:18px;
    +  background-image:url(session.gif);
    +  background-position:left center;
    +  background-repeat:no-repeat;
    +}
    +
    +pre.source {
    +  border:#d6d3ce 1px solid;
    +  font-family:monospace;
    +}
    +
    +pre.source ol {
    +  margin-bottom: 0px;
    +  margin-top: 0px;
    +}
    +
    +pre.source li {
    +  border-left: 1px solid #D6D3CE;
    +  color: #A0A0A0;
    +  padding-left: 0px;
    +}
    +
    +pre.source span.fc {
    +  background-color:#ccffcc;
    +}
    +
    +pre.source span.nc {
    +  background-color:#ffaaaa;
    +}
    +
    +pre.source span.pc {
    +  background-color:#ffffcc;
    +}
    +
    +pre.source span.bfc {
    +  background-image: url(branchfc.gif);
    +  background-repeat: no-repeat;
    +  background-position: 2px center;
    +}
    +
    +pre.source span.bfc:hover {
    +  background-color:#80ff80;
    +}
    +
    +pre.source span.bnc {
    +  background-image: url(branchnc.gif);
    +  background-repeat: no-repeat;
    +  background-position: 2px center;
    +}
    +
    +pre.source span.bnc:hover {
    +  background-color:#ff8080;
    +}
    +
    +pre.source span.bpc {
    +  background-image: url(branchpc.gif);
    +  background-repeat: no-repeat;
    +  background-position: 2px center;
    +}
    +
    +pre.source span.bpc:hover {
    +  background-color:#ffff80;
    +}
    +
    +table.coverage {
    +  empty-cells:show;
    +  border-collapse:collapse;
    +}
    +
    +table.coverage thead {
    +  background-color:#e0e0e0;
    +}
    +
    +table.coverage thead td {
    +  white-space:nowrap;
    +  padding:2px 14px 0px 6px;
    +  border-bottom:#b0b0b0 1px solid;
    +}
    +
    +table.coverage thead td.bar {
    +  border-left:#cccccc 1px solid;
    +}
    +
    +table.coverage thead td.ctr1 {
    +  text-align:right;
    +  border-left:#cccccc 1px solid;
    +}
    +
    +table.coverage thead td.ctr2 {
    +  text-align:right;
    +  padding-left:2px;
    +}
    +
    +table.coverage thead td.sortable {
    +  cursor:pointer;
    +  background-image:url(sort.gif);
    +  background-position:right center;
    +  background-repeat:no-repeat;
    +}
    +
    +table.coverage thead td.up {
    +  background-image:url(up.gif);
    +}
    +
    +table.coverage thead td.down {
    +  background-image:url(down.gif);
    +}
    +
    +table.coverage tbody td {
    +  white-space:nowrap;
    +  padding:2px 6px 2px 6px;
    +  border-bottom:#d6d3ce 1px solid;
    +}
    +
    +table.coverage tbody tr:hover {
    +  background: #f0f0d0 !important;
    +}
    +
    +table.coverage tbody td.bar {
    +  border-left:#e8e8e8 1px solid;
    +}
    +
    +table.coverage tbody td.ctr1 {
    +  text-align:right;
    +  padding-right:14px;
    +  border-left:#e8e8e8 1px solid;
    +}
    +
    +table.coverage tbody td.ctr2 {
    +  text-align:right;
    +  padding-right:14px;
    +  padding-left:2px;
    +}
    +
    +table.coverage tfoot td {
    +  white-space:nowrap;
    +  padding:2px 6px 2px 6px;
    +}
    +
    +table.coverage tfoot td.bar {
    +  border-left:#e8e8e8 1px solid;
    +}
    +
    +table.coverage tfoot td.ctr1 {
    +  text-align:right;
    +  padding-right:14px;
    +  border-left:#e8e8e8 1px solid;
    +}
    +
    +table.coverage tfoot td.ctr2 {
    +  text-align:right;
    +  padding-right:14px;
    +  padding-left:2px;
    +}
    +
    +.footer {
    +  margin-top:20px;
    +  border-top:#d6d3ce 1px solid;
    +  padding-top:2px;
    +  font-size:8pt;
    +  color:#a0a0a0;
    +}
    +
    +.footer a {
    +  color:#a0a0a0;
    +}
    +
    +.right {
    +  float:right;
    +}
    diff --git a/jacoco/jacocoHtml/jacoco-resources/report.gif b/jacoco/jacocoHtml/jacoco-resources/report.gif
    new file mode 100644
    index 0000000000000000000000000000000000000000..8547be50bf3e97e725920927b5aa4cdb031f4823
    GIT binary patch
    literal 363
    zcmZ?wbhEHb6krfwSZc{In}J~s1H&!`1_uX+xVSjMb&S>db~X8S)dhAn1$OlXwvB~0
    zO@%hC#Wq5_7&^+V`^qgRRa;E2HJ?*&DsqWoev|2fCetO&CQDmPR<;_iXfs~ZZnVC`
    za8s8-+pK*(^AAm4c5K#~(^ocST-lU)byMc8y)_R`^xu2&{oaco_g{R!|Ki8Pmp>lA
    z{_*VHkC*R%zWMa)!{^_hzyAL8?f2(zzrTL}{q@K1Z$Ey2|M}<VuRs5>0mYvzj9d)%
    z3_1)z0P+(9TgQR<1s*zF)+bahX*_u_??Pbv&V#KE^V2&`bhGjjR;*MxC8EFO_3_}<
    zH?w9WrJ7AX`tJM8r525X{~8+WorLsRL^?W{nR=L*odosT`KItOGtTI963}JgV_m??
    z%&>&9-=1G*^3>@wm-A|~FmK+nbvd`DhNhP0UUhXIS1vYAPL5-o?Ce}VXI&i`tO1G(
    BvdRDe
    
    literal 0
    HcmV?d00001
    
    diff --git a/jacoco/jacocoHtml/jacoco-resources/session.gif b/jacoco/jacocoHtml/jacoco-resources/session.gif
    new file mode 100644
    index 0000000000000000000000000000000000000000..0151bad8a001e5cc5cc7723a608185f746b7f8c1
    GIT binary patch
    literal 213
    zcmZ?wbhEHb6krfwXc1xPS$gU4xw~t2pG#?5#^Be>V3WrXI-S9<hrzA(|Nr^_@5k?-
    zZ~y=IhyVNSXZ04}pKqV%t9oe5k~tY+Ar=Pzi2#Z}Sr{1@<Qa4rfB<AC18dL&^}dwM
    zX_r*ys<8N;e6mS?i^dP8jVmAd@U^}&$uv>xc~m$hYN?d{@xrG~CzZCfhpBIRC}Q>I
    kiQ?_Ai=3VZEOFW9fBwaksdwMK(Err)E%VcVRYeAC06w^MK>z>%
    
    literal 0
    HcmV?d00001
    
    diff --git a/jacoco/jacocoHtml/jacoco-resources/sort.gif b/jacoco/jacocoHtml/jacoco-resources/sort.gif
    new file mode 100644
    index 0000000000000000000000000000000000000000..6757c2c32b57d768f3c12c4ae99a28bc32c9cbd7
    GIT binary patch
    literal 58
    zcmZ?wbhEHb<YC}qXkcX6uwldh|Nj+#vM_QnFf!;c00|xjP6h@h!JfpGjC*fB>i!bx
    N`t(%z_h<$NYXI&b5{m!;
    
    literal 0
    HcmV?d00001
    
    diff --git a/jacoco/jacocoHtml/jacoco-resources/sort.js b/jacoco/jacocoHtml/jacoco-resources/sort.js
    new file mode 100644
    index 00000000..fa9db086
    --- /dev/null
    +++ b/jacoco/jacocoHtml/jacoco-resources/sort.js
    @@ -0,0 +1,148 @@
    +/*******************************************************************************
    + * Copyright (c) 2009, 2022 Mountainminds GmbH & Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +
    +(function () {
    +
    +  /**
    +   * Sets the initial sorting derived from the hash.
    +   *
    +   * @param linkelementids
    +   *          list of element ids to search for links to add sort inidcator
    +   *          hash links
    +   */
    +  function initialSort(linkelementids) {
    +    window.linkelementids = linkelementids;
    +    var hash = window.location.hash;
    +    if (hash) {
    +      var m = hash.match(/up-./);
    +      if (m) {
    +        var header = window.document.getElementById(m[0].charAt(3));
    +        if (header) {
    +          sortColumn(header, true);
    +        }
    +        return;
    +      }
    +      var m = hash.match(/dn-./);
    +      if (m) {
    +        var header = window.document.getElementById(m[0].charAt(3));
    +        if (header) {
    +          sortColumn(header, false);
    +        }
    +        return
    +      }
    +    }
    +  }
    +
    +  /**
    +   * Sorts the columns with the given header dependening on the current sort state.
    +   */
    +  function toggleSort(header) {
    +    var sortup = header.className.indexOf('down ') == 0;
    +    sortColumn(header, sortup);
    +  }
    +
    +  /**
    +   * Sorts the columns with the given header in the given direction.
    +   */
    +  function sortColumn(header, sortup) {
    +    var table = header.parentNode.parentNode.parentNode;
    +    var body = table.tBodies[0];
    +    var colidx = getNodePosition(header);
    +
    +    resetSortedStyle(table);
    +
    +    var rows = body.rows;
    +    var sortedrows = [];
    +    for (var i = 0; i < rows.length; i++) {
    +      r = rows[i];
    +      sortedrows[parseInt(r.childNodes[colidx].id.slice(1))] = r;
    +    }
    +
    +    var hash;
    +
    +    if (sortup) {
    +      for (var i = sortedrows.length - 1; i >= 0; i--) {
    +        body.appendChild(sortedrows[i]);
    +      }
    +      header.className = 'up ' + header.className;
    +      hash = 'up-' + header.id;
    +    } else {
    +      for (var i = 0; i < sortedrows.length; i++) {
    +        body.appendChild(sortedrows[i]);
    +      }
    +      header.className = 'down ' + header.className;
    +      hash = 'dn-' + header.id;
    +    }
    +
    +    setHash(hash);
    +  }
    +
    +  /**
    +   * Adds the sort indicator as a hash to the document URL and all links.
    +   */
    +  function setHash(hash) {
    +    window.document.location.hash = hash;
    +    ids = window.linkelementids;
    +    for (var i = 0; i < ids.length; i++) {
    +        setHashOnAllLinks(document.getElementById(ids[i]), hash);
    +    }
    +  }
    +
    +  /**
    +   * Extend all links within the given tag with the given hash.
    +   */
    +  function setHashOnAllLinks(tag, hash) {
    +    links = tag.getElementsByTagName("a");
    +    for (var i = 0; i < links.length; i++) {
    +        var a = links[i];
    +        var href = a.href;
    +        var hashpos = href.indexOf("#");
    +        if (hashpos != -1) {
    +            href = href.substring(0, hashpos);
    +        }
    +        a.href = href + "#" + hash;
    +    }
    +  }
    +
    +  /**
    +   * Calculates the position of a element within its parent.
    +   */
    +  function getNodePosition(element) {
    +    var pos = -1;
    +    while (element) {
    +      element = element.previousSibling;
    +      pos++;
    +    }
    +    return pos;
    +  }
    +
    +  /**
    +   * Remove the sorting indicator style from all headers.
    +   */
    +  function resetSortedStyle(table) {
    +    for (var c = table.tHead.firstChild.firstChild; c; c = c.nextSibling) {
    +      if (c.className) {
    +        if (c.className.indexOf('down ') == 0) {
    +          c.className = c.className.slice(5);
    +        }
    +        if (c.className.indexOf('up ') == 0) {
    +          c.className = c.className.slice(3);
    +        }
    +      }
    +    }
    +  }
    +
    +  window['initialSort'] = initialSort;
    +  window['toggleSort'] = toggleSort;
    +
    +})();
    diff --git a/jacoco/jacocoHtml/jacoco-resources/source.gif b/jacoco/jacocoHtml/jacoco-resources/source.gif
    new file mode 100644
    index 0000000000000000000000000000000000000000..b226e41c5276581db33d71525298ef572cc5d7ce
    GIT binary patch
    literal 354
    zcmZ?wbhEHb6krfwxXQrr`Rnf=KmWY@^y|~t-#>r-`SJ62+pK*(^ACOa@_X{KW3$$r
    zUbOlAiXE5N?74dH#gDtszu$lH{mGl3&)@xg`{~!`Z@=#VMPB~6_u~7*S3h2T`1$R}
    z?`Q9Re)#(P)3@JWfBgRb^LKTLe^s%6bxA;7sb4jaQ5?`-<<ng5TVLWgvEHM%)~l!1
    zYi_IS^d`3r{dQ}59F})EE$?<()ZzT#ME{lvwpTV~T-lU)Yj4ffO_~4y|7XAeia%Kx
    z85k@XbU-p7KQXY?ADC0%p(B)eLgkXi62W-^(!DQ#v2a~Gz-z9%&!+3h!38t#X02Ds
    zad;WPFvUVOY)YY2k84HG1kp%gVW!3wVI5ap$%?8ZHc4GqO=+PiQzvV>Y72H(vk7Xs
    us!1$fvP8{QU92ZrK%7tARasP&f6JDw8m_8J3W|I7DyXXX9C3DJum%7=h^`F)
    
    literal 0
    HcmV?d00001
    
    diff --git a/jacoco/jacocoHtml/jacoco-resources/up.gif b/jacoco/jacocoHtml/jacoco-resources/up.gif
    new file mode 100644
    index 0000000000000000000000000000000000000000..58ed21660ec467736a4d2af17d91341f7cfb556c
    GIT binary patch
    literal 67
    zcmZ?wbhEHb<YC}qSjfcSX{EDa!-oH0p!k!8k&A(eL5G2Xk%5PSlYxOrWJ=;nroA^G
    Ub$^Kz-Nct)ygK&ScM%3_0PmU?SpWb4
    
    literal 0
    HcmV?d00001
    
    diff --git a/jacoco/jacocoHtml/jacoco-sessions.html b/jacoco/jacocoHtml/jacoco-sessions.html
    new file mode 100644
    index 00000000..1b040052
    --- /dev/null
    +++ b/jacoco/jacocoHtml/jacoco-sessions.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="jacoco-resources/report.gif" type="image/gif"/><title>Sessions</title></head><body><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="jacoco-sessions.html" class="el_session">Sessions</a></span><a href="index.html" class="el_report">backend</a> &gt; <span class="el_session">Sessions</span></div><h1>Sessions</h1><p>This coverage report is based on execution data from the following sessions:</p><table class="coverage" cellspacing="0"><thead><tr><td>Session</td><td>Start Time</td><td>Dump Time</td></tr></thead><tbody><tr><td><span class="el_session">192.168.nate.com-bb3aee86</span></td><td>2024. 8. 20. 오후 3:37:34</td><td>2024. 8. 20. 오후 3:37:35</td></tr></tbody></table><p>Execution data for the following classes is considered in this report:</p><table class="coverage" cellspacing="0"><thead><tr><td>Class</td><td>Id</td></tr></thead><tbody><tr><td><span class="el_class">com.esotericsoftware.kryo.io.Input</span></td><td><code>82caa4ac8d2c9ad6</code></td></tr><tr><td><span class="el_class">com.esotericsoftware.kryo.io.Output</span></td><td><code>2e152e7951e62ecf</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.domain.DrawParticipationInfo</span></td><td><code>2f7522a1176e6343</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.domain.DrawParticipationInfo.DrawParticipationInfoBuilder</span></td><td><code>a198037a6f575d42</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.main.DrawMainFullAttendResponseDto</span></td><td><code>5c9b412866dc804d</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.main.DrawMainFullAttendResponseDto.DrawMainFullAttendResponseDtoBuilder</span></td><td><code>0497d1854ec6c326</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.main.DrawMainFullAttendResponseDto.DrawMainFullAttendResponseDtoBuilderImpl</span></td><td><code>2e7d9fe254887d73</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.main.DrawMainResponseDto</span></td><td><code>e57f49414d11ebfb</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.main.DrawMainResponseDto.DrawMainResponseDtoBuilder</span></td><td><code>09f060456f4172fd</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.main.DrawMainResponseDto.DrawMainResponseDtoBuilderImpl</span></td><td><code>37345d1746f193ab</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.modal.WinModal</span></td><td><code>a01d8303a8865ab3</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.modal.WinModal.WinModalBuilder</span></td><td><code>1a6963b760751eeb</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.participate.DrawLoseModalResponseDto</span></td><td><code>7a5eb561faa589a4</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.participate.DrawLoseModalResponseDto.DrawLoseModalResponseDtoBuilder</span></td><td><code>5d74f1fc2ef45fa7</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.participate.DrawLoseModalResponseDto.DrawLoseModalResponseDtoBuilderImpl</span></td><td><code>84cc03278dc14452</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.participate.DrawModalResponseDto</span></td><td><code>6047b37791ab65ea</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.participate.DrawModalResponseDto.DrawModalResponseDtoBuilder</span></td><td><code>c3962ef39da578ec</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.participate.DrawWinModalResponseDto</span></td><td><code>6bfbb033abb50778</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.participate.DrawWinModalResponseDto.DrawWinModalResponseDtoBuilder</span></td><td><code>5f2d70e3be129fde</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.participate.DrawWinModalResponseDto.DrawWinModalResponseDtoBuilderImpl</span></td><td><code>131f28ef10783c4b</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.result.DrawHistoryLoserResponseDto</span></td><td><code>3430a3c9da5951be</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.result.DrawHistoryLoserResponseDto.DrawHistoryLoserResponseDtoBuilder</span></td><td><code>ad9d3df2817e4569</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.result.DrawHistoryLoserResponseDto.DrawHistoryLoserResponseDtoBuilderImpl</span></td><td><code>7dfcd130fa9d73a5</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.result.DrawHistoryResponseDto</span></td><td><code>2743dea079f1a671</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.result.DrawHistoryResponseDto.DrawHistoryResponseDtoBuilder</span></td><td><code>21de0674438a3595</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.result.DrawHistoryWinnerResponseDto</span></td><td><code>b4123ef1399dce26</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.result.DrawHistoryWinnerResponseDto.DrawHistoryWinnerResponseDtoBuilder</span></td><td><code>09887a2c24ffe6c7</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.result.DrawHistoryWinnerResponseDto.DrawHistoryWinnerResponseDtoBuilderImpl</span></td><td><code>88fbd0ad48ca50f4</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.repository.DrawParticipationInfoRepository.MockitoMock.idCetuk9</span></td><td><code>64b6eb41fc47e799</code></td></tr><tr><td><a href="com.softeer.backend.fo_domain.draw.service/DrawService.html" class="el_class">com.softeer.backend.fo_domain.draw.service.DrawService</a></td><td><code>5955d6e56d8c2266</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.service.DrawServiceTest</span></td><td><code>9834fa8beee5feeb</code></td></tr><tr><td><a href="com.softeer.backend.fo_domain.share.domain/ShareInfo.html" class="el_class">com.softeer.backend.fo_domain.share.domain.ShareInfo</a></td><td><code>719e11d9b36a4460</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.share.domain.ShareInfo.ShareInfoBuilder</span></td><td><code>c12b2da32dbf2907</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.share.repository.ShareInfoRepository.MockitoMock.NtCPzznW</span></td><td><code>88af071ced4f1c14</code></td></tr><tr><td><span class="el_class">net.bytebuddy.ByteBuddy</span></td><td><code>d4e5f2084d659ff9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.ClassFileVersion</span></td><td><code>312924d88702471f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.ClassFileVersion.VersionLocator.Resolved</span></td><td><code>9ac78bd064c76f8d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.ClassFileVersion.VersionLocator.Resolver</span></td><td><code>8e3a1b13b270b126</code></td></tr><tr><td><span class="el_class">net.bytebuddy.NamingStrategy.AbstractBase</span></td><td><code>77e9d686c976f6e6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.NamingStrategy.Suffixing</span></td><td><code>65bfa03c85847dc9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.NamingStrategy.Suffixing.BaseNameResolver.ForUnnamedType</span></td><td><code>1fb9c5c929a4a173</code></td></tr><tr><td><span class="el_class">net.bytebuddy.NamingStrategy.SuffixingRandom</span></td><td><code>cdbdedcf0cea0a02</code></td></tr><tr><td><span class="el_class">net.bytebuddy.TypeCache</span></td><td><code>aced8dc0367a5d96</code></td></tr><tr><td><span class="el_class">net.bytebuddy.TypeCache.LookupKey</span></td><td><code>b75da15a4577d948</code></td></tr><tr><td><span class="el_class">net.bytebuddy.TypeCache.SimpleKey</span></td><td><code>99731a44c3f39c30</code></td></tr><tr><td><span class="el_class">net.bytebuddy.TypeCache.Sort</span></td><td><code>3f135d4f310abf3c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.TypeCache.Sort.1</span></td><td><code>3be4336e35a8cbfd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.TypeCache.Sort.2</span></td><td><code>5a2bb9e71930a24a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.TypeCache.Sort.3</span></td><td><code>5792db85826ac4ba</code></td></tr><tr><td><span class="el_class">net.bytebuddy.TypeCache.StorageKey</span></td><td><code>da984e48de27d4a8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.TypeCache.WithInlineExpunction</span></td><td><code>6677b9b25e623b8e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent</span></td><td><code>ad71a9981ce31835</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.AgentProvider.ForByteBuddyAgent</span></td><td><code>d96d83c378e4b7c7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.AttachmentProvider</span></td><td><code>558b162ec3514d70</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.AttachmentProvider.Accessor.ExternalAttachment</span></td><td><code>bc4dc1ecf926b7aa</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.AttachmentProvider.Accessor.Simple</span></td><td><code>fe449611bc5d402e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.AttachmentProvider.Accessor.Simple.WithExternalAttachment</span></td><td><code>8ab7d03279c5ecf1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.AttachmentProvider.Compound</span></td><td><code>8b67942538e8ebd3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.AttachmentProvider.ForEmulatedAttachment</span></td><td><code>92a70a9938510bd5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.AttachmentProvider.ForJ9Vm</span></td><td><code>efd931cc867f3dab</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.AttachmentProvider.ForModularizedVm</span></td><td><code>55ea154b91646a94</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.AttachmentProvider.ForStandardToolsJarVm</span></td><td><code>ce5818e184069ce4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.AttachmentProvider.ForUserDefinedToolsJar</span></td><td><code>fb47100058e0a73b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.AttachmentTypeEvaluator.ForJava9CapableVm</span></td><td><code>31af3eb996b54a27</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.AttachmentTypeEvaluator.InstallationAction</span></td><td><code>afbcafb17aff1452</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.ProcessProvider.ForCurrentVm</span></td><td><code>a469226be5030f2e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.ProcessProvider.ForCurrentVm.ForJava9CapableVm</span></td><td><code>09404c6c75e98c1b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.Installer</span></td><td><code>ba923adaa06c53f6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice</span></td><td><code>b0fe0e71ff93f6a2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.AdviceVisitor</span></td><td><code>6c52713bd97aebdf</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.AdviceVisitor.WithExitAdvice</span></td><td><code>6bcdd2ea66d30c7b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.AdviceVisitor.WithExitAdvice.WithoutExceptionHandling</span></td><td><code>3a922059b9efa307</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.ArgumentHandler.Factory</span></td><td><code>8f558df144a79fa3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.ArgumentHandler.Factory.1</span></td><td><code>b8c59524d3c1608c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.ArgumentHandler.Factory.2</span></td><td><code>d7e18c5e34e45431</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.ArgumentHandler.ForAdvice.Default</span></td><td><code>2654b7be38550369</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.ArgumentHandler.ForAdvice.Default.ForMethodEnter</span></td><td><code>23d924c1a642e5ac</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.ArgumentHandler.ForAdvice.Default.ForMethodExit</span></td><td><code>009324e69dfb7bee</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.ArgumentHandler.ForInstrumentedMethod.Default</span></td><td><code>c4b2699457e6f507</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.ArgumentHandler.ForInstrumentedMethod.Default.Copying</span></td><td><code>f1f7ecd140ebfad8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Delegator.ForRegularInvocation.Factory</span></td><td><code>e7dcdbb5632c4506</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher</span></td><td><code>8c02dfd8d10c42cf</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.Inactive</span></td><td><code>3af781df5fc5d561</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.Inlining</span></td><td><code>e20e8dd106f2f99f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.Inlining.CodeTranslationVisitor</span></td><td><code>da8495a6f5b0618f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.Inlining.Resolved</span></td><td><code>51bdb329d6523d2a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.Inlining.Resolved.AdviceMethodInliner</span></td><td><code>f2f0958e8ece3557</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.Inlining.Resolved.AdviceMethodInliner.ExceptionTableCollector</span></td><td><code>bb7fcec382de281f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.Inlining.Resolved.AdviceMethodInliner.ExceptionTableExtractor</span></td><td><code>b52eebb59cb3741b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.Inlining.Resolved.AdviceMethodInliner.ExceptionTableSubstitutor</span></td><td><code>d3779cedd1dab2c3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.Inlining.Resolved.ForMethodEnter</span></td><td><code>78e0d8685ef1ad78</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.Inlining.Resolved.ForMethodEnter.WithRetainedEnterType</span></td><td><code>2425d09ef91b43a5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.Inlining.Resolved.ForMethodExit</span></td><td><code>23e144b8483497f2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.Inlining.Resolved.ForMethodExit.WithoutExceptionHandler</span></td><td><code>b6f105d99e448647</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.Disabled</span></td><td><code>b48ef93464355186</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForType</span></td><td><code>48fb914baef18f09</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForValue</span></td><td><code>6ad96dd8e24a5fa3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForValue.1</span></td><td><code>d283ee8efcc21527</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForValue.2</span></td><td><code>d999fb1d1c4d10f3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForValue.3</span></td><td><code>a699658f52dd8c14</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForValue.4</span></td><td><code>76dfa51cd1b559c5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForValue.5</span></td><td><code>927826306c7c3f9c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForValue.6</span></td><td><code>bb01690954d53c4c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForValue.7</span></td><td><code>a82b12d0db3c3ffa</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForValue.8</span></td><td><code>791f94716069d428</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForValue.9</span></td><td><code>b0dd23a0fc8a3914</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForValue.Bound</span></td><td><code>de2631f1bc7af48b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForValue.OfNonDefault</span></td><td><code>191c3f826cae1fe8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.Relocation.ForLabel</span></td><td><code>0a196b169de105b2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.Resolved.AbstractBase</span></td><td><code>e26d32a2dfd4e517</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.SuppressionHandler.NoOp</span></td><td><code>83e82e51ac39da5c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.SuppressionHandler.Suppressing</span></td><td><code>97f0d2d1abc8a41a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.ExceptionHandler.Default</span></td><td><code>95aa59b2ac6c5532</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.ExceptionHandler.Default.1</span></td><td><code>6c847fdbf8e9412f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.ExceptionHandler.Default.2</span></td><td><code>460a77dcbeb82603</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.ExceptionHandler.Default.3</span></td><td><code>d05e63aa5c5677f9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.MethodSizeHandler.Default</span></td><td><code>39955d981daffba8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.MethodSizeHandler.Default.ForAdvice</span></td><td><code>96016eaf0b89ffa0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.MethodSizeHandler.Default.WithCopiedArguments</span></td><td><code>6316ae6b42ae182c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.NoExceptionHandler</span></td><td><code>c716788084c49961</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.Factory.AdviceType</span></td><td><code>222344ae47fda22a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.Factory.Illegal</span></td><td><code>b824ec4854bde89c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForAllArguments</span></td><td><code>1473b7bf9fc4e1b5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForAllArguments.Factory</span></td><td><code>98148d6454b592af</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForArgument</span></td><td><code>bf5687f0da9f282c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForArgument.Unresolved</span></td><td><code>70d54b6bc8b1a165</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForArgument.Unresolved.Factory</span></td><td><code>c81d13dcb77ae44a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForEnterValue</span></td><td><code>5f66c9717dc9cd52</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForEnterValue.Factory</span></td><td><code>00d9225ad08c457a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForExitValue.Factory</span></td><td><code>4cceb48fab57271e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForField.Unresolved.Factory</span></td><td><code>0ea3c196b6e38c75</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForFieldHandle.Unresolved.ReaderFactory</span></td><td><code>34b038446b31ef68</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForFieldHandle.Unresolved.WriterFactory</span></td><td><code>0932f02483480c5e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForInstrumentedMethod</span></td><td><code>65354e871d8adbde</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForInstrumentedMethod.1</span></td><td><code>4a0705f218dbb9fc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForInstrumentedMethod.2</span></td><td><code>d19b1cccf33a5a8f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForInstrumentedMethod.3</span></td><td><code>8de7b4c791e41ff3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForInstrumentedMethod.4</span></td><td><code>7ef55ab4ec291ec2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForInstrumentedMethod.5</span></td><td><code>a42feaf4b03f011c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForInstrumentedType</span></td><td><code>c6ccb02973e68c83</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForLocalValue.Factory</span></td><td><code>0d73abcfe4f6cd84</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForOrigin.Factory</span></td><td><code>ba9fe45627be64ec</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForReturnValue</span></td><td><code>037de4c0de22ee60</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForReturnValue.Factory</span></td><td><code>8c33b59194419c40</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForSelfCallHandle.Factory</span></td><td><code>2e0b5be7f8d227d2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForStackManipulation</span></td><td><code>893f7d56b99ed2f9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForStackManipulation.Factory</span></td><td><code>ff46cb5a042d7392</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForStubValue</span></td><td><code>0d0dac7cedadacd4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForThisReference</span></td><td><code>4a18584d2e6f227a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForThisReference.Factory</span></td><td><code>4fd20920981119f6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForThrowable.Factory</span></td><td><code>66521af76037a434</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForUnusedValue.Factory</span></td><td><code>9f8c6b55fbfa959d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.Sort</span></td><td><code>07c4c74b6c947d77</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.Sort.1</span></td><td><code>8762020e5a551f03</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.Sort.2</span></td><td><code>0132b220a0ddeced</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.Target.ForArray</span></td><td><code>ad5edf15a11747f0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.Target.ForArray.ReadOnly</span></td><td><code>f1af9ec13976a523</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.Target.ForDefaultValue</span></td><td><code>12ba553207b3fbc6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.Target.ForDefaultValue.ReadWrite</span></td><td><code>2fa4d41d2b076afc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.Target.ForStackManipulation</span></td><td><code>f4fee7d60b5ebfea</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.Target.ForVariable</span></td><td><code>c78affc57d49d65f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.Target.ForVariable.ReadOnly</span></td><td><code>6337d04d57e8e4d5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.Target.ForVariable.ReadWrite</span></td><td><code>ed4dd37175d86fc9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.PostProcessor.NoOp</span></td><td><code>1734734198eaa842</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.StackMapFrameHandler.Default</span></td><td><code>a2cdb1250c1f8c77</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.StackMapFrameHandler.Default.ForAdvice</span></td><td><code>8054e1db604d40e7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.StackMapFrameHandler.Default.Initialization</span></td><td><code>58f9436b88573fcc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.StackMapFrameHandler.Default.Initialization.1</span></td><td><code>b3b933a2a8bb0347</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.StackMapFrameHandler.Default.Initialization.2</span></td><td><code>b24e2d2b2973973c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.StackMapFrameHandler.Default.TranslationMode</span></td><td><code>391e320601da554c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.StackMapFrameHandler.Default.TranslationMode.1</span></td><td><code>5d217eb3f927f488</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.StackMapFrameHandler.Default.TranslationMode.2</span></td><td><code>fa5d135a66e1fa58</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.StackMapFrameHandler.Default.TranslationMode.3</span></td><td><code>2dce5e71b7838990</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.StackMapFrameHandler.Default.WithPreservedArguments</span></td><td><code>903f1e2f6280986b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.StackMapFrameHandler.Default.WithPreservedArguments.WithArgumentCopy</span></td><td><code>c0a8da66d215f7da</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.WithCustomMapping</span></td><td><code>78848064739adad4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.AsmVisitorWrapper.AbstractBase</span></td><td><code>3cd03b050731d22c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.AsmVisitorWrapper.Compound</span></td><td><code>7b1e520e5f4262e6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.AsmVisitorWrapper.ForDeclaredMethods</span></td><td><code>573191880a5a4e0d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.AsmVisitorWrapper.ForDeclaredMethods.DispatchingVisitor</span></td><td><code>ac51d486f8ec0e4b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.AsmVisitorWrapper.ForDeclaredMethods.Entry</span></td><td><code>28eb46b4467366d6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.AsmVisitorWrapper.NoOp</span></td><td><code>a613c160b15bbc65</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.MemberRemoval</span></td><td><code>005cb62907cc0df7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.MemberRemoval.MemberRemovingClassVisitor</span></td><td><code>fe382217ff7273dc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.ByteCodeElement.Token.TokenList</span></td><td><code>5956eb03e0839596</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.ModifierReviewable.AbstractBase</span></td><td><code>0b625f401d945e23</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.NamedElement.WithDescriptor</span></td><td><code>69f25e85d31086f5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.TypeVariableSource.AbstractBase</span></td><td><code>4471bc67a44c1ef1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationDescription</span></td><td><code>7e080fcc4ab41eb1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationDescription.AbstractBase</span></td><td><code>55a8b2f7b58a15aa</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationDescription.ForLoadedAnnotation</span></td><td><code>a2b247526c4d26ca</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationList.AbstractBase</span></td><td><code>8e489ae727355271</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationList.Empty</span></td><td><code>7f4960ffee633b85</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationList.Explicit</span></td><td><code>f438077a66a539b8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationList.ForLoadedAnnotations</span></td><td><code>443952df3e869f3e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue</span></td><td><code>e46e60f3e4357d8a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.AbstractBase</span></td><td><code>6b46c288929d794a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant</span></td><td><code>650f7b88da7502df</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForArrayType</span></td><td><code>9124b7f697a6f4a6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForArrayType.1</span></td><td><code>3e2be7538b8965b3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForArrayType.2</span></td><td><code>f54ef75705e3ce59</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForArrayType.3</span></td><td><code>37ebfc80c418ddec</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForArrayType.4</span></td><td><code>fbf5bd783149eab3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForArrayType.5</span></td><td><code>893433ef70df56ad</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForArrayType.6</span></td><td><code>3ad4bb1a0eb14611</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForArrayType.7</span></td><td><code>09ec057a92378b89</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForArrayType.8</span></td><td><code>e8575505930d9ea2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForArrayType.9</span></td><td><code>f6b42b3550f2d376</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType</span></td><td><code>8683233734d98d81</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType.1</span></td><td><code>ecf694f5c718a013</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType.2</span></td><td><code>113fe247f14fdcdd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType.3</span></td><td><code>ad40ce4c8d647d57</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType.4</span></td><td><code>649136274570c878</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType.5</span></td><td><code>25519a3723562b18</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType.6</span></td><td><code>d0a4ee1eb78e8925</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType.7</span></td><td><code>5cc6d38c7688ce9e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType.8</span></td><td><code>542fa217a5fe4c51</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType.9</span></td><td><code>9adc51229ebb26c9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForDescriptionArray</span></td><td><code>198e8cb892ebb0c6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForEnumerationDescription</span></td><td><code>451401174e8ca82f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForEnumerationDescription.Loaded</span></td><td><code>fda0610025cc12ff</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForTypeDescription</span></td><td><code>256f9475d7baab5e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.Loaded.AbstractBase</span></td><td><code>1a834bbf25c86ab4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.State</span></td><td><code>db0e0a0878d7e335</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.enumeration.EnumerationDescription.AbstractBase</span></td><td><code>36efae2fe3237ba9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.enumeration.EnumerationDescription.ForLoadedEnumeration</span></td><td><code>5b47cbeca30adac0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldDescription</span></td><td><code>53da8eaebbfbddbb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldDescription.AbstractBase</span></td><td><code>a20f5231a76bb980</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldDescription.ForLoadedField</span></td><td><code>31b51b7792efcc8a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldDescription.InDefinedShape.AbstractBase</span></td><td><code>7b3d946febaf5d33</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldDescription.Latent</span></td><td><code>b47200ad7e88dffb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldDescription.SignatureToken</span></td><td><code>3e1967b3504d4f43</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldDescription.Token</span></td><td><code>966f799bfb7c0668</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldList.AbstractBase</span></td><td><code>78739d279005d8a4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldList.Explicit</span></td><td><code>323b76a02a64f9a7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldList.ForLoadedFields</span></td><td><code>fc8cc870e5f42b89</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldList.ForTokens</span></td><td><code>ea98dba6ef4eb758</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription</span></td><td><code>4242f9f3ec05d9d8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.AbstractBase</span></td><td><code>d7265e748488ffc7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.ForLoadedConstructor</span></td><td><code>c634ab9c8e587e89</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.ForLoadedMethod</span></td><td><code>483c8f6d97caf847</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.InDefinedShape.AbstractBase</span></td><td><code>b33d93bb8cbd26c6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.InDefinedShape.AbstractBase.ForLoadedExecutable</span></td><td><code>2c34e3cd1c4620d7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.Latent</span></td><td><code>eba047d0ce33d6c2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.Latent.TypeInitializer</span></td><td><code>c77dbea1c1a57995</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.SignatureToken</span></td><td><code>806effdacef53f94</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.Token</span></td><td><code>d7a148a88bb734b4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.TypeSubstituting</span></td><td><code>78d976a6f400ec70</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.TypeToken</span></td><td><code>ef258f0fca0278e0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodList.AbstractBase</span></td><td><code>b054427f9b6a48f1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodList.Explicit</span></td><td><code>b03ab4c21a93dfd0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodList.ForLoadedMethods</span></td><td><code>38bd1bf17eb05676</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodList.ForTokens</span></td><td><code>40aa960dc7616ac5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodList.TypeSubstituting</span></td><td><code>f1f510557a04392e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterDescription.AbstractBase</span></td><td><code>244fa52c57557e62</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterDescription.ForLoadedParameter</span></td><td><code>b764f219b6fb497f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterDescription.ForLoadedParameter.OfConstructor</span></td><td><code>82a00db077e8417d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterDescription.ForLoadedParameter.OfMethod</span></td><td><code>8bd70a245946537e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterDescription.InDefinedShape.AbstractBase</span></td><td><code>717f5d8d90c005f1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterDescription.Latent</span></td><td><code>eb41c7e5a8c26f4d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterDescription.Token</span></td><td><code>6f6ff151883ddc85</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterDescription.Token.TypeList</span></td><td><code>0a24417518716030</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterDescription.TypeSubstituting</span></td><td><code>fbb01b7a5d680315</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterList.AbstractBase</span></td><td><code>6fe6f7a3a2c191ea</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterList.Empty</span></td><td><code>8f4a45d2f54ed28b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterList.Explicit.ForTypes</span></td><td><code>75d84e0b4fcd99a9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterList.ForLoadedExecutable</span></td><td><code>1456c072c3be7105</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterList.ForLoadedExecutable.OfConstructor</span></td><td><code>6d7eaa8911075319</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterList.ForLoadedExecutable.OfMethod</span></td><td><code>f0835708e2d15fb4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterList.ForTokens</span></td><td><code>b77d0ee711552f0c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterList.TypeSubstituting</span></td><td><code>293f1f350b97c439</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.modifier.FieldManifestation</span></td><td><code>61ed9ad5f460d425</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.modifier.ModifierContributor.Resolver</span></td><td><code>4c37457cc5fe415c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.modifier.Ownership</span></td><td><code>03978521bbedeaac</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.modifier.SynchronizationState</span></td><td><code>1ee1e76d573ad75b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.modifier.SyntheticState</span></td><td><code>0ea0b3d14a159257</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.modifier.TypeManifestation</span></td><td><code>823497b74af56cf0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.modifier.Visibility</span></td><td><code>eddec8671a9488f2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.modifier.Visibility.1</span></td><td><code>d7e383ada6123e01</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.PackageDescription.AbstractBase</span></td><td><code>fbc5f3918eb9463b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.PackageDescription.ForLoadedPackage</span></td><td><code>647cf445f49b7cf5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.PackageDescription.Simple</span></td><td><code>0cb49b8e5cdceb1d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.RecordComponentList.AbstractBase</span></td><td><code>fa2d664156de0c87</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.RecordComponentList.Empty</span></td><td><code>facb71157fa46ed2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.RecordComponentList.ForTokens</span></td><td><code>b72447d1fcbe18bd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDefinition.Sort</span></td><td><code>e252ac8a021f4082</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDefinition.SuperClassIterator</span></td><td><code>dcc41092c6176f54</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription</span></td><td><code>36fd0fa20ad52135</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.AbstractBase</span></td><td><code>5a025e6b487dc4d4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.AbstractBase.OfSimpleType</span></td><td><code>b303484d47559945</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.ArrayProjection</span></td><td><code>b2eaa11a9cb2dfdf</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.ForLoadedType</span></td><td><code>eaba95dbe7ff20e3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic</span></td><td><code>5601518ac3dba89e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AbstractBase</span></td><td><code>8945db84e33ef474</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator</span></td><td><code>3667bf74596341be</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator.Chained</span></td><td><code>2ffd4f682b50b7a3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator.ForLoadedExecutableExceptionType</span></td><td><code>23c446e41b00e3d9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator.ForLoadedExecutableParameterType</span></td><td><code>e193c6fbd692e84b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator.ForLoadedField</span></td><td><code>e78b70f23aa515c7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator.ForLoadedInterface</span></td><td><code>ff7d6be363126897</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator.ForLoadedMethodReturnType</span></td><td><code>6a49119e2f4e7230</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator.ForLoadedSuperClass</span></td><td><code>e75747426d68d747</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator.ForLoadedTypeVariable</span></td><td><code>6a8729e15b6adbf3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator.Simple</span></td><td><code>033590c3703b359c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.ForComponentType</span></td><td><code>1fa21fa04ad679a2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.ForOwnerType</span></td><td><code>cd6561b27e9a72b9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.ForTypeArgument</span></td><td><code>1a24787ee7d1fdc5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.ForTypeVariableBoundType</span></td><td><code>a53f175bb28a13d3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.ForTypeVariableBoundType.OfFormalTypeVariable</span></td><td><code>e84aca4ed9c79b18</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.ForWildcardUpperBoundType</span></td><td><code>7a16218b4894f05c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.NoOp</span></td><td><code>4b1711dc36edca14</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection</span></td><td><code>b83a2a6843ec6916</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.ForLoadedFieldType</span></td><td><code>1f7db8763aa7d013</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.ForLoadedReturnType</span></td><td><code>a44a81d315df37f4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.ForLoadedSuperClass</span></td><td><code>7f84f737a5aabc33</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.OfConstructorParameter</span></td><td><code>11fdd224cb82bcc7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.OfMethodParameter</span></td><td><code>bdf150371e5d9a88</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.WithEagerNavigation</span></td><td><code>51829bfdd36917df</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.WithEagerNavigation.OfAnnotatedElement</span></td><td><code>3a1283c2ece97dc2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.WithLazyNavigation</span></td><td><code>7b9fc51e9dea8fed</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.WithLazyNavigation.OfAnnotatedElement</span></td><td><code>11fd85e81e92a190</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.WithResolvedErasure</span></td><td><code>73e71223628a86da</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProxy</span></td><td><code>4b75a549e2d82324</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfGenericArray</span></td><td><code>b8f177aeb4e618c7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfGenericArray.ForLoadedType</span></td><td><code>87fa142a0a041b9b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfGenericArray.Latent</span></td><td><code>d3ee0097f5390e1c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfNonGenericType</span></td><td><code>66e33f9250f83f5f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfNonGenericType.ForErasure</span></td><td><code>71abd4e32c5684d2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfNonGenericType.ForLoadedType</span></td><td><code>8f8a4651bfc2f94f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfNonGenericType.Latent</span></td><td><code>dcd275cbd2ef3e3c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfParameterizedType</span></td><td><code>f2bed5aa1c761680</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfParameterizedType.ForGenerifiedErasure</span></td><td><code>767a5f3f34700710</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfParameterizedType.ForLoadedType</span></td><td><code>41d8107b8c1daaa8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfParameterizedType.ForLoadedType.ParameterArgumentTypeList</span></td><td><code>267045e8fde43f71</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfParameterizedType.Latent</span></td><td><code>8e35c02988d3f1af</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfTypeVariable</span></td><td><code>ddbefd09e03fd1b0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfTypeVariable.ForLoadedType</span></td><td><code>d5143b55d1bedb1e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfTypeVariable.ForLoadedType.TypeVariableBoundList</span></td><td><code>8261a702dcf6b622</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfTypeVariable.Symbolic</span></td><td><code>b027db9e179ee652</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfTypeVariable.WithAnnotationOverlay</span></td><td><code>cbd83eec8d2e8489</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfWildcardType</span></td><td><code>2bc3088df35c8422</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfWildcardType.ForLoadedType</span></td><td><code>4f61b7ff9f8e931f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfWildcardType.ForLoadedType.WildcardLowerBoundTypeList</span></td><td><code>63922206431afb9f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfWildcardType.ForLoadedType.WildcardUpperBoundTypeList</span></td><td><code>0554a12f18e220b5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfWildcardType.Latent</span></td><td><code>6a424c1b0863ca5b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.ForRawType</span></td><td><code>ef813417b8dd5115</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.ForSignatureVisitor</span></td><td><code>7c9ee6e3c386d02f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.ForSignatureVisitor.OfTypeArgument</span></td><td><code>d8e6035b10ed1222</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Reducing</span></td><td><code>7e9f92325793d797</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Reifying</span></td><td><code>f695f950ef96d452</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Reifying.1</span></td><td><code>3887b35198c64c3f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Reifying.2</span></td><td><code>dda2c47b308dfe77</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Substitutor</span></td><td><code>1643b68abc9226b5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Substitutor.ForAttachment</span></td><td><code>90652ad844af97e8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Substitutor.ForDetachment</span></td><td><code>314960996c0e9fe4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Substitutor.ForTypeVariableBinding</span></td><td><code>1aa87951e5899f01</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Substitutor.ForTypeVariableBinding.RetainedMethodTypeVariable</span></td><td><code>13a8e6bcf229981a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Substitutor.ForTypeVariableBinding.TypeVariableSubstitutor</span></td><td><code>6e5bae1e7e888fd4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Substitutor.WithoutTypeSubstitution</span></td><td><code>10dc462a02d28569</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.TypeErasing</span></td><td><code>7c319b6cec9530e2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Validator</span></td><td><code>13ff0a7ec71a9596</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Validator.1</span></td><td><code>3122adbd7aaaeca9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Validator.2</span></td><td><code>36d36c5061f2243e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Validator.3</span></td><td><code>ca3595549a574d77</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Validator.ForTypeAnnotations</span></td><td><code>f22bf42b89621378</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.LazyProxy</span></td><td><code>1060349463062059</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList</span></td><td><code>da60a7cfb717d0a8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.AbstractBase</span></td><td><code>4700315364477234</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Empty</span></td><td><code>59d00ad7b53c811a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Explicit</span></td><td><code>81495dfc3a359dfe</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.ForLoadedTypes</span></td><td><code>4356a7471aec6f20</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.AbstractBase</span></td><td><code>5376e1d2298a6512</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.Empty</span></td><td><code>df9431d33e66dbb4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.Explicit</span></td><td><code>1ab8c93e54ee2ac6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.ForDetachedTypes</span></td><td><code>1b6544725fdb45a6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.ForDetachedTypes.OfTypeVariables</span></td><td><code>05b85732c40f12b7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.ForDetachedTypes.OfTypeVariables.AttachedTypeVariable</span></td><td><code>8133514c5d90955c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.ForDetachedTypes.WithResolvedErasure</span></td><td><code>3ae7efc80de7c3db</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.ForLoadedTypes</span></td><td><code>c603bfa8790b860c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.ForLoadedTypes.OfTypeVariables</span></td><td><code>d713fc161a8b3c83</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.OfConstructorExceptionTypes</span></td><td><code>41a985dd07ed867c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.OfLoadedInterfaceTypes</span></td><td><code>99d4f3faf0ed1337</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.OfLoadedInterfaceTypes.TypeProjection</span></td><td><code>7f6f3c7654719119</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.OfMethodExceptionTypes</span></td><td><code>74966b175ac75ab9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.OfMethodExceptionTypes.TypeProjection</span></td><td><code>2d651d381fd3d0a8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeVariableToken</span></td><td><code>0b904605bce2d673</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.ClassFileLocator.ForClassLoader</span></td><td><code>bc2296cfb91301b0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.ClassFileLocator.ForClassLoader.BootLoaderProxyCreationAction</span></td><td><code>bef49ddd37f152e7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.ClassFileLocator.Resolution.Explicit</span></td><td><code>a44d2b3d4cf22e0e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.ClassFileLocator.Simple</span></td><td><code>5ec3e1fe094d9677</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase</span></td><td><code>8b697109899c9f1c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase.Adapter</span></td><td><code>c239cebb09dc521b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase.Adapter.FieldDefinitionAdapter</span></td><td><code>95f089373e121f7c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase.Adapter.MethodDefinitionAdapter</span></td><td><code>2e966526edcb873d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase.Adapter.MethodDefinitionAdapter.AnnotationAdapter</span></td><td><code>8158ace8dc815026</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase.Adapter.MethodDefinitionAdapter.SimpleParameterAnnotationAdapter</span></td><td><code>47371bc63761204d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase.Adapter.MethodMatchAdapter</span></td><td><code>3d734adb6ddc1b18</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase.Adapter.MethodMatchAdapter.AnnotationAdapter</span></td><td><code>870c4a748d272702</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase.Adapter.OptionalMethodMatchAdapter</span></td><td><code>8ae5d509775196fa</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase.Delegator</span></td><td><code>3f1fabfaec45a27c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase.UsingTypeWriter</span></td><td><code>3ca14d92cfc3bc3b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.FieldDefinition.Optional.AbstractBase</span></td><td><code>7ff3ef3d7a52aeda</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.FieldDefinition.Optional.Valuable.AbstractBase</span></td><td><code>6f4cbe7b3cf65d41</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.FieldDefinition.Optional.Valuable.AbstractBase.Adapter</span></td><td><code>f6c60e62d9344f54</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.AbstractBase</span></td><td><code>3bf64c5f90a05b38</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.AbstractBase.Adapter</span></td><td><code>e1416bad6f01b268</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.ExceptionDefinition.AbstractBase</span></td><td><code>6a660545adbbedde</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.ImplementationDefinition.AbstractBase</span></td><td><code>8233c005598191ed</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.ParameterDefinition.AbstractBase</span></td><td><code>af2910a38e7ac02e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.ParameterDefinition.Initial.AbstractBase</span></td><td><code>d24c948296af6d68</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.ParameterDefinition.Simple.AbstractBase</span></td><td><code>9b31315749acebaf</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.ParameterDefinition.Simple.Annotatable.AbstractBase</span></td><td><code>6c42f489e12f3841</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.ParameterDefinition.Simple.Annotatable.AbstractBase.Adapter</span></td><td><code>18ee5a7716255e41</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.ReceiverTypeDefinition.AbstractBase</span></td><td><code>2531fe5794acf41f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.TypeVariableDefinition.AbstractBase</span></td><td><code>433828b210243d94</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Default</span></td><td><code>0f62ddd57860b9e1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Default.Loaded</span></td><td><code>973a422e6432796e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Default.Unloaded</span></td><td><code>cd577d53be4c22d5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.TargetType</span></td><td><code>26c139b5f2f58862</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.Transformer.Compound</span></td><td><code>a5a52522b43091ef</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.Transformer.ForMethod</span></td><td><code>22ab387d59f6c970</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.Transformer.ForMethod.MethodModifierTransformer</span></td><td><code>829c18ff395159ba</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.Transformer.ForMethod.TransformedMethod</span></td><td><code>083bfd5734c4504d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.Transformer.ForMethod.TransformedMethod.AttachmentVisitor</span></td><td><code>43014c50e1310fbf</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.Transformer.ForMethod.TransformedMethod.TransformedParameter</span></td><td><code>84642c4a6f0d1bdc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.Transformer.ForMethod.TransformedMethod.TransformedParameterList</span></td><td><code>54d561afbee57f99</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.Transformer.NoOp</span></td><td><code>49cd89a2b3b975a3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.TypeResolutionStrategy.Passive</span></td><td><code>d5784ee7fb36ce53</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.VisibilityBridgeStrategy.Default</span></td><td><code>ae8d9f7fd85c6aad</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.VisibilityBridgeStrategy.Default.1</span></td><td><code>63c0d42260c7599e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.VisibilityBridgeStrategy.Default.2</span></td><td><code>a8389e9d32c4ecd7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.VisibilityBridgeStrategy.Default.3</span></td><td><code>30f7afc5a8be245c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ByteArrayClassLoader</span></td><td><code>d00c8733dea299dd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ByteArrayClassLoader.ClassDefinitionAction</span></td><td><code>25513de2d7f3a1cc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ByteArrayClassLoader.PackageLookupStrategy.CreationAction</span></td><td><code>5ab9077977a569a3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ByteArrayClassLoader.PackageLookupStrategy.ForJava9CapableVm</span></td><td><code>f72740caac2e4fba</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ByteArrayClassLoader.PersistenceHandler</span></td><td><code>6d61f61ae555258a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ByteArrayClassLoader.PersistenceHandler.1</span></td><td><code>680488d6e62d40d1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ByteArrayClassLoader.PersistenceHandler.2</span></td><td><code>6bf6915f86de0792</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ByteArrayClassLoader.SynchronizationStrategy.CreationAction</span></td><td><code>49781f9101d11acc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ByteArrayClassLoader.SynchronizationStrategy.ForJava8CapableVm</span></td><td><code>ccca5f228cf2a595</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassFilePostProcessor.NoOp</span></td><td><code>3c8088887326744a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassInjector.AbstractBase</span></td><td><code>331215a38873f162</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassInjector.UsingReflection</span></td><td><code>9b4c6d016e86d89d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassInjector.UsingReflection.Dispatcher.CreationAction</span></td><td><code>e95efd9bc7c2fbec</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassInjector.UsingReflection.Dispatcher.UsingUnsafeInjection</span></td><td><code>ee369f8a9915cac0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassInjector.UsingUnsafe</span></td><td><code>6f205111f44e745f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassInjector.UsingUnsafe.Dispatcher.CreationAction</span></td><td><code>acadd9b7008a78d6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassInjector.UsingUnsafe.Dispatcher.Enabled</span></td><td><code>a365360113d70680</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassLoadingStrategy</span></td><td><code>17fb081ccc92f99c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassLoadingStrategy.Default</span></td><td><code>7390ec8634515594</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassLoadingStrategy.Default.InjectionDispatcher</span></td><td><code>759cb7a298fc98b7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassLoadingStrategy.Default.WrappingDispatcher</span></td><td><code>88c49bdd78533ba6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassLoadingStrategy.ForUnsafeInjection</span></td><td><code>fae0995eb7740944</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.InjectionClassLoader</span></td><td><code>cbd809288c0dad36</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.MultipleParentClassLoader.Builder</span></td><td><code>c6fb9f2d63f216f9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.PackageDefinitionStrategy.Definition.Trivial</span></td><td><code>b136ce1c9387d14f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.PackageDefinitionStrategy.Definition.Undefined</span></td><td><code>2f1d95f3613d9f49</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.PackageDefinitionStrategy.NoOp</span></td><td><code>3d34f5f46e1c0610</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.PackageDefinitionStrategy.Trivial</span></td><td><code>848dce81f4e8d105</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.ClassWriterStrategy.Default</span></td><td><code>f0774d4bbe85a809</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.ClassWriterStrategy.Default.1</span></td><td><code>09a3c2cfe88a5ae4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.ClassWriterStrategy.Default.2</span></td><td><code>76afb59bd5abdd5f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.ClassWriterStrategy.FrameComputingClassWriter</span></td><td><code>52e278e8d81b4dc4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.FieldLocator.AbstractBase</span></td><td><code>54f490d54da29c16</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.FieldLocator.ForClassHierarchy</span></td><td><code>166417044cd009a4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.FieldLocator.ForClassHierarchy.Factory</span></td><td><code>f656bc98a970fd47</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.FieldLocator.Resolution.Illegal</span></td><td><code>a9972cd13cf8462c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.FieldLocator.Resolution.Simple</span></td><td><code>de8883fdeb865c93</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.FieldRegistry.Default</span></td><td><code>cc5265630d0906f2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.FieldRegistry.Default.Compiled</span></td><td><code>00933225bc77b175</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.FieldRegistry.Default.Compiled.Entry</span></td><td><code>0ec1361a69a955fd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.FieldRegistry.Default.Entry</span></td><td><code>a7413622fd851aa9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.InstrumentedType.Default</span></td><td><code>f7579d046e578eec</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.InstrumentedType.Factory.Default</span></td><td><code>cd900ae01efd903f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.InstrumentedType.Factory.Default.1</span></td><td><code>a7ce85bb2f37ff77</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.InstrumentedType.Factory.Default.2</span></td><td><code>ad157a47dace4f55</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler</span></td><td><code>fc88be698cc4a50f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.AbstractBase</span></td><td><code>ad55505e167100d9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default</span></td><td><code>af94c7ab11c1fcdd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Harmonizer.ForJavaMethod</span></td><td><code>7031164d2b791e9e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Harmonizer.ForJavaMethod.Token</span></td><td><code>7182cc44c6651e89</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Key</span></td><td><code>a65d37875a395ddb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Key.Detached</span></td><td><code>3f02da9703ce5c2d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Key.Harmonized</span></td><td><code>388d8cbf8e63aa90</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Key.Store</span></td><td><code>1a1546093db6edc8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Key.Store.Entry.Ambiguous</span></td><td><code>0b0a2fb9ec96eb00</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Key.Store.Entry.Initial</span></td><td><code>ea7f0be36536a4bb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Key.Store.Entry.Resolved</span></td><td><code>ba93041ed575e0c7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Key.Store.Entry.Resolved.Node</span></td><td><code>1f19152a07e27690</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Key.Store.Graph</span></td><td><code>dd183a5630da8a82</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Merger.Directional</span></td><td><code>431cb1fc240f1328</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.ForDeclaredMethods</span></td><td><code>80835a5a4610b1d3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Empty</span></td><td><code>de57d507ae61b464</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Linked.Delegation</span></td><td><code>7341085250d5f338</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Node.Simple</span></td><td><code>f9767f80e7124acc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Node.Sort</span></td><td><code>8e20af4bf9dad8a0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Node.Unresolved</span></td><td><code>c42332646fb3e771</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.NodeList</span></td><td><code>15622cc8eb6ac006</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Simple</span></td><td><code>3ab25bf2fa755adb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodRegistry.Default</span></td><td><code>a688cfda627119db</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodRegistry.Default.Compiled</span></td><td><code>dcd52aed23ae0b55</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodRegistry.Default.Compiled.Entry</span></td><td><code>44710ee8541c44cf</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodRegistry.Default.Entry</span></td><td><code>b1cbe9bdfc76e994</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodRegistry.Default.Prepared</span></td><td><code>9bba4ee547c8082c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodRegistry.Default.Prepared.Entry</span></td><td><code>53689d93cf82f768</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodRegistry.Handler.ForImplementation</span></td><td><code>ea77701fcbc47e2c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodRegistry.Handler.ForImplementation.Compiled</span></td><td><code>7b000ab44a4af2cc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.RecordComponentRegistry.Default</span></td><td><code>eec49897d441dcbe</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.RecordComponentRegistry.Default.Compiled</span></td><td><code>1d64a300c478cbd4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeInitializer.Drain.Default</span></td><td><code>a3bc2736d5ad95f5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeInitializer.None</span></td><td><code>d062b02ed3f4d342</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeInitializer.Simple</span></td><td><code>3429322f4d42e2d4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeValidation</span></td><td><code>b9ab70dc0d5e3c60</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default</span></td><td><code>c13cf997e386f3cc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ClassDumpAction.Dispatcher.Disabled</span></td><td><code>d4f0d2e7fbcab045</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ForCreation</span></td><td><code>fc9ad618be46b3c0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ForInlining</span></td><td><code>299c2478af802227</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ForInlining.ContextRegistry</span></td><td><code>dfee6deed9a49e33</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ForInlining.WithFullProcessing</span></td><td><code>bf4cd0530bebc828</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ForInlining.WithFullProcessing.InitializationHandler.Creating</span></td><td><code>b01ca83867dc0a50</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ForInlining.WithFullProcessing.OpenedClassRemapper</span></td><td><code>9e0d8af34c811602</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ForInlining.WithFullProcessing.RedefinitionClassVisitor</span></td><td><code>f41a382ab3215f3e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.SignatureKey</span></td><td><code>d20a5d7220afbb42</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.UnresolvedType</span></td><td><code>3f5380fd3549f07e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ValidatingClassVisitor</span></td><td><code>0449b85d73902e5f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ValidatingClassVisitor.Constraint.Compound</span></td><td><code>522fa4e49e512828</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ValidatingClassVisitor.Constraint.ForClass</span></td><td><code>73e7f3e477121987</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ValidatingClassVisitor.Constraint.ForClassFileVersion</span></td><td><code>9e87393ba441dbdc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ValidatingClassVisitor.ValidatingFieldVisitor</span></td><td><code>32779ab29633e9ef</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ValidatingClassVisitor.ValidatingMethodVisitor</span></td><td><code>a412717a1b97aba3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.FieldPool.Record.ForExplicitField</span></td><td><code>a03e0587988aae1f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.FieldPool.Record.ForImplicitField</span></td><td><code>b7f49ad994b5b989</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.MethodPool.Record.AccessBridgeWrapper</span></td><td><code>9527fd76169900c9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.MethodPool.Record.AccessBridgeWrapper.AccessorBridge</span></td><td><code>1496ecf7d9a77025</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.MethodPool.Record.AccessBridgeWrapper.BridgeTarget</span></td><td><code>993a3ceba7447d02</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.MethodPool.Record.ForDefinedMethod</span></td><td><code>e3fde8a86929682d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.MethodPool.Record.ForDefinedMethod.WithBody</span></td><td><code>963047d43410ba83</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.MethodPool.Record.ForNonImplementedMethod</span></td><td><code>28a00d78fb553a8c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.MethodPool.Record.Sort</span></td><td><code>928d954d831a88bc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.inline.AbstractInliningDynamicTypeBuilder</span></td><td><code>3dcbe96c7737ffda</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.inline.InliningImplementationMatcher</span></td><td><code>385ec334716921a9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.inline.MethodRebaseResolver.Disabled</span></td><td><code>687ef4457dff2d12</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.inline.RedefinitionDynamicTypeBuilder</span></td><td><code>cc7957febfc5cb21</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.ConstructorStrategy.Default</span></td><td><code>0d114e09a2faac83</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.ConstructorStrategy.Default.1</span></td><td><code>16fc5c99e02d7f9f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.ConstructorStrategy.Default.2</span></td><td><code>dd199479878d5739</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.ConstructorStrategy.Default.3</span></td><td><code>792ea5ce51475037</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.ConstructorStrategy.Default.4</span></td><td><code>98fceb895a262b45</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.ConstructorStrategy.Default.5</span></td><td><code>f0898605f9020c16</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.SubclassDynamicTypeBuilder</span></td><td><code>15df30285a830f7f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.SubclassDynamicTypeBuilder.InstrumentableMatcher</span></td><td><code>c2850d79fc87446b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.SubclassImplementationTarget</span></td><td><code>17f509a8b52b39f3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.SubclassImplementationTarget.Factory</span></td><td><code>f6c0a700d93e9d10</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.SubclassImplementationTarget.OriginTypeResolver</span></td><td><code>282c73cc811d5b71</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.SubclassImplementationTarget.OriginTypeResolver.1</span></td><td><code>2eb773d398b87160</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.SubclassImplementationTarget.OriginTypeResolver.2</span></td><td><code>903a99da03746eb8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.FieldAccessor</span></td><td><code>c717fff4ac23e0ca</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.FieldAccessor.FieldLocation.Relative</span></td><td><code>b3e919957424f848</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.FieldAccessor.FieldLocation.Relative.Prepared</span></td><td><code>aa68ebf60b4f0bef</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.FieldAccessor.FieldNameExtractor.ForBeanProperty</span></td><td><code>b178a2653a5bafe9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.FieldAccessor.FieldNameExtractor.ForBeanProperty.1</span></td><td><code>e8b3de54c6138911</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.FieldAccessor.FieldNameExtractor.ForBeanProperty.2</span></td><td><code>7de6825165503ed1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.FieldAccessor.ForImplicitProperty</span></td><td><code>2077b83bedb8edde</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.FieldAccessor.ForImplicitProperty.Appender</span></td><td><code>b07cb6f14ea187be</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.Default</span></td><td><code>8e12655fc557738e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.Default.AbstractPropertyAccessorMethod</span></td><td><code>f23dc6369a1530e9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.Default.AccessorMethod</span></td><td><code>9be66f5be8d9fa45</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.Default.AccessorMethodDelegation</span></td><td><code>542747c99b66ec54</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.Default.CacheValueField</span></td><td><code>31a151ad62bab895</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.Default.DelegationRecord</span></td><td><code>70526320a1ad9cc3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.Default.Factory</span></td><td><code>d24c34bb404ca859</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.Default.FieldCacheEntry</span></td><td><code>8e7d6b7ed6743234</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.Disabled</span></td><td><code>53c73dd8eaae49ac</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.Disabled.Factory</span></td><td><code>adbbab47d629267a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.ExtractableView.AbstractBase</span></td><td><code>959623d5e0291105</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.FrameGeneration</span></td><td><code>a627c6d2ae1b5444</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.FrameGeneration.1</span></td><td><code>aaa6feaf64d85e8c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.FrameGeneration.2</span></td><td><code>a780e343d57d9071</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.FrameGeneration.3</span></td><td><code>2c34a94c8147f015</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.SpecialMethodInvocation.AbstractBase</span></td><td><code>a38cf2d5897906e6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.SpecialMethodInvocation.Illegal</span></td><td><code>0c59caca158bef52</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.SpecialMethodInvocation.Simple</span></td><td><code>1d406914f1f50463</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Target.AbstractBase</span></td><td><code>f7115dc2601ca003</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Target.AbstractBase.DefaultMethodInvocation</span></td><td><code>d1fa9bdfb38c1038</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Target.AbstractBase.DefaultMethodInvocation.1</span></td><td><code>5721353bb15366ec</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Target.AbstractBase.DefaultMethodInvocation.2</span></td><td><code>a3a810091d4e9086</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.LoadedTypeInitializer.NoOp</span></td><td><code>1af8ca0d9b7adbe8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodAccessorFactory.AccessType</span></td><td><code>a8b1b417256441f1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall</span></td><td><code>ae4dca29f42e39d5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.Appender</span></td><td><code>36c14b929a5d9485</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.ArgumentLoader.ForMethodParameter</span></td><td><code>f435ec4bd832341c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.ArgumentLoader.ForMethodParameter.Factory</span></td><td><code>14d10834f68773ca</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.MethodInvoker.ForContextualInvocation</span></td><td><code>67d21233b61c5c16</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.MethodInvoker.ForContextualInvocation.Factory</span></td><td><code>473b92f68bfbccba</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.MethodInvoker.ForVirtualInvocation.WithImplicitType</span></td><td><code>a39c338c28e91204</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.MethodLocator.ForExplicitMethod</span></td><td><code>98c72c41253ed08a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TargetHandler.ForMethodCall</span></td><td><code>0caad707b30ae193</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TargetHandler.ForMethodCall.Factory</span></td><td><code>c1832cb5d54736e4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TargetHandler.ForMethodCall.Resolved</span></td><td><code>7bf0e6eeede8ac9d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TargetHandler.ForMethodParameter</span></td><td><code>7f338183a38839e1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TargetHandler.ForMethodParameter.Resolved</span></td><td><code>6392db92c53c1bb9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TargetHandler.ForSelfOrStaticInvocation</span></td><td><code>d1b18e3b58b886f7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TargetHandler.ForSelfOrStaticInvocation.Factory</span></td><td><code>ce3c235283ac0dd6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TargetHandler.ForSelfOrStaticInvocation.Resolved</span></td><td><code>1c1abf86b318738e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TerminationHandler.Simple</span></td><td><code>6690aed6e7a18218</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TerminationHandler.Simple.1</span></td><td><code>295d1288fc335ed1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TerminationHandler.Simple.2</span></td><td><code>9e9230bbbb470354</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TerminationHandler.Simple.3</span></td><td><code>f579959891e14d29</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.WithoutSpecifiedTarget</span></td><td><code>d0b373c9e0216c67</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodDelegation</span></td><td><code>c1415fee7b21870c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodDelegation.Appender</span></td><td><code>f1ea47b04d738fac</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodDelegation.ImplementationDelegate.Compiled.ForStaticCall</span></td><td><code>2afafc9e131f3a8c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodDelegation.ImplementationDelegate.ForStaticMethod</span></td><td><code>5b03f5bbc3a0bfa2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodDelegation.WithCustomProperties</span></td><td><code>15991377debf2c67</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.SuperMethodCall</span></td><td><code>48a9709638c71f00</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.SuperMethodCall.Appender</span></td><td><code>1278488d60ed8e86</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.SuperMethodCall.Appender.TerminationHandler</span></td><td><code>35d2e0ef6d7f630d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.SuperMethodCall.Appender.TerminationHandler.1</span></td><td><code>05664af3a3b6738b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.SuperMethodCall.Appender.TerminationHandler.2</span></td><td><code>be670f96c6d93831</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationAppender.1</span></td><td><code>09e39802151aefbf</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationAppender.Default</span></td><td><code>7787cf7f483d6685</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationAppender.ForTypeAnnotations</span></td><td><code>040d5aab72de4582</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationAppender.Target.OnField</span></td><td><code>52ad3ce83f52621f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationAppender.Target.OnMethod</span></td><td><code>b2534f024a4880dd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationAppender.Target.OnMethodParameter</span></td><td><code>c9f39d80b694c092</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationAppender.Target.OnType</span></td><td><code>db8f4f1dbbcf3c3e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationRetention</span></td><td><code>6dca59a58d56874f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationValueFilter.Default</span></td><td><code>190882f8828de18a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationValueFilter.Default.1</span></td><td><code>593737e47cc84848</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationValueFilter.Default.2</span></td><td><code>a61861baa0bc96ee</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.FieldAttributeAppender.ForInstrumentedField</span></td><td><code>ca19f51ae14fb7b4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.MethodAttributeAppender.Compound</span></td><td><code>87d24d92007e506e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.MethodAttributeAppender.Factory.Compound</span></td><td><code>85113e9ca3ae38c3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.MethodAttributeAppender.ForInstrumentedMethod</span></td><td><code>4e40a53e08d4cbbb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.MethodAttributeAppender.ForInstrumentedMethod.1</span></td><td><code>a3b87b1a75d290fd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.MethodAttributeAppender.ForInstrumentedMethod.2</span></td><td><code>10e734a991eea3bf</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.MethodAttributeAppender.NoOp</span></td><td><code>aa6841038c96aed0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.TypeAttributeAppender.ForInstrumentedType</span></td><td><code>537a1dac83c99ae9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.TypeAttributeAppender.ForInstrumentedType.Differentiating</span></td><td><code>542ad65dee4078dd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.auxiliary.AuxiliaryType</span></td><td><code>577555a7861b5701</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.auxiliary.AuxiliaryType.NamingStrategy.SuffixingRandom</span></td><td><code>9ff4d19573d987f3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.auxiliary.MethodCallProxy</span></td><td><code>e4ad67673bba91b3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.auxiliary.MethodCallProxy.AssignableSignatureCall</span></td><td><code>e32307e618f933aa</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.auxiliary.MethodCallProxy.ConstructorCall</span></td><td><code>b40129a97ef170e6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.auxiliary.MethodCallProxy.ConstructorCall.Appender</span></td><td><code>6a4a35552c21bf78</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.auxiliary.MethodCallProxy.MethodCall</span></td><td><code>d2f0f120376a3b4f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.auxiliary.MethodCallProxy.MethodCall.Appender</span></td><td><code>df4a3b2e219da333</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.auxiliary.MethodCallProxy.PrecomputedMethodGraph</span></td><td><code>7fb29fbd9d22e04c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.ArgumentTypeResolver</span></td><td><code>74973272be85ce17</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.ArgumentTypeResolver.ParameterIndexToken</span></td><td><code>a8052b758f0a0361</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.DeclaringTypeResolver</span></td><td><code>d1000b5d5bf7bd79</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.1</span></td><td><code>54de841f73ee4eae</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.AmbiguityResolver</span></td><td><code>7d40b5a2d5d69397</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.AmbiguityResolver.Compound</span></td><td><code>eab4a548d2693cd2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.AmbiguityResolver.Resolution</span></td><td><code>e8ca39d95b4ade42</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.BindingResolver.Default</span></td><td><code>ed3f9e212bdf4696</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.MethodBinding.Builder</span></td><td><code>ffaacecf2e1956bd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.MethodBinding.Builder.Build</span></td><td><code>fbe15ed2c0b7c26f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.MethodBinding.Illegal</span></td><td><code>ca301be97fe35cde</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.MethodInvoker.Simple</span></td><td><code>dafea2ba3b2f164b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.ParameterBinding.Anonymous</span></td><td><code>30b0f734840f8b2c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.ParameterBinding.Illegal</span></td><td><code>470dc52d77c3898e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.ParameterBinding.Unique</span></td><td><code>c60c100f523804e4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.Processor</span></td><td><code>1dd9238ba412581f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.TerminationHandler.Default</span></td><td><code>946265fda2ca27e8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.TerminationHandler.Default.1</span></td><td><code>db109132d7373fda</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.TerminationHandler.Default.2</span></td><td><code>cb3895b610bd15d5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodNameEqualityResolver</span></td><td><code>65a8d1431b34fdcd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.ParameterLengthResolver</span></td><td><code>58a025cd0f10dff1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.AllArguments.Assignment</span></td><td><code>a9a852c11b320ab1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.AllArguments.Binder</span></td><td><code>70d2d38d942236e9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.Argument.Binder</span></td><td><code>d9599526792299bc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.Argument.BindingMechanic</span></td><td><code>3c1577b22755160a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.Argument.BindingMechanic.1</span></td><td><code>0d55bcd6ddcb95ce</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.Argument.BindingMechanic.2</span></td><td><code>a10c7561f9e6f193</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.BindingPriority.Resolver</span></td><td><code>2fd170c18c979895</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.Default.Binder</span></td><td><code>fdd8dd2baa86d3db</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.DefaultCall.Binder</span></td><td><code>da1f6e99880fdd81</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.DefaultCallHandle.Binder</span></td><td><code>e06c83e6a5d67914</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.DefaultMethod.Binder</span></td><td><code>03d209c7b50b3b07</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.DefaultMethodHandle.Binder</span></td><td><code>a2ceb680358bbf3b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.Empty.Binder</span></td><td><code>7c3892404f623e5a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.FieldGetterHandle.Binder</span></td><td><code>861b7c22fc0276d1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.FieldGetterHandle.Binder.Delegate</span></td><td><code>311d13f023d8289a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.FieldSetterHandle.Binder</span></td><td><code>73928d415965e531</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.FieldSetterHandle.Binder.Delegate</span></td><td><code>87df40b62880da89</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.FieldValue.Binder</span></td><td><code>62660cf02a28bd16</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.FieldValue.Binder.Delegate</span></td><td><code>0f20336b20b2e19e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.IgnoreForBinding.Verifier</span></td><td><code>f6eaa0a37f2ce769</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.Origin.Binder</span></td><td><code>de6b5494873daefa</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.RuntimeType.Verifier</span></td><td><code>79ef98193cf36f83</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.StubValue.Binder</span></td><td><code>47dfbe906a0f1712</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.Super.Binder</span></td><td><code>159db3adf8f80917</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.SuperCall.Binder</span></td><td><code>ab7d9c4bff4cce1f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.SuperCallHandle.Binder</span></td><td><code>7b8a4c06e71007ba</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.SuperMethod.Binder</span></td><td><code>787b81ea7c3cf9d1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.SuperMethodHandle.Binder</span></td><td><code>24c923e11496eb8f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder</span></td><td><code>07e504cb3c546aab</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder.DelegationProcessor</span></td><td><code>2084514b37eafe57</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder.DelegationProcessor.Handler.Bound</span></td><td><code>ef7d428377a4cc32</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder.DelegationProcessor.Handler.Unbound</span></td><td><code>268e0923d2bba678</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder.ParameterBinder</span></td><td><code>ba9707c8f3fe13d6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder.ParameterBinder.ForFieldBinding</span></td><td><code>94bb239add34e1bc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder.ParameterBinder.ForFixedValue</span></td><td><code>655436a01f544525</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder.ParameterBinder.ForFixedValue.OfConstant</span></td><td><code>1a94e96610690841</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder.Record</span></td><td><code>e5a54c271a13fa1e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.This.Binder</span></td><td><code>365ed9c01801d8a8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.ByteCodeAppender.Compound</span></td><td><code>e6b18c005febea10</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.ByteCodeAppender.Simple</span></td><td><code>e1016f8961c133f9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.ByteCodeAppender.Size</span></td><td><code>18d689fcde916cfc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.Duplication</span></td><td><code>87726ed8bb6e39de</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.Duplication.1</span></td><td><code>6cbf4aae44bb9c6a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.Duplication.2</span></td><td><code>204abf23cbf37c68</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.Duplication.3</span></td><td><code>0631976e078609bd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.Removal</span></td><td><code>6d539a300caa5092</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.Removal.1</span></td><td><code>ab763f3b743f79a5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.Removal.2</span></td><td><code>fd766afb93ac2a09</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.StackManipulation.AbstractBase</span></td><td><code>31ac4a0904ac3e09</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.StackManipulation.Compound</span></td><td><code>96939a22aac4c91b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.StackManipulation.Illegal</span></td><td><code>d75e2eb0d394f6c3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.StackManipulation.Size</span></td><td><code>e69b15cd3e8d4461</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.StackManipulation.Trivial</span></td><td><code>56f2787cdbce4d40</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.StackSize</span></td><td><code>80f94e8effa2f7bb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.StackSize.1</span></td><td><code>3706a73bbafad769</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.TypeCreation</span></td><td><code>4865d2e454028bc1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.Assigner</span></td><td><code>7e67d52e9390b000</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.Assigner.Typing</span></td><td><code>b09adf7fa17d04b8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.TypeCasting</span></td><td><code>1a445bd188e2931d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.primitive.PrimitiveBoxingDelegate</span></td><td><code>dac9a66a711d1bdb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.primitive.PrimitiveBoxingDelegate.BoxingStackManipulation</span></td><td><code>96e0379915a5a251</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.primitive.PrimitiveTypeAwareAssigner</span></td><td><code>c888a19b998b7769</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.primitive.PrimitiveUnboxingDelegate</span></td><td><code>14e47d44e5cebb1d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.primitive.PrimitiveUnboxingDelegate.ImplicitlyTypedUnboxingResponsible</span></td><td><code>adf7d49661fe0566</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.primitive.PrimitiveWideningDelegate</span></td><td><code>1008755d8fe45330</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.primitive.PrimitiveWideningDelegate.WideningStackManipulation</span></td><td><code>796408ff7247d988</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.primitive.VoidAwareAssigner</span></td><td><code>3df36760b29d387a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.reference.GenericTypeAwareAssigner</span></td><td><code>3623cb487284bb53</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.reference.ReferenceTypeAwareAssigner</span></td><td><code>59b5f6f8641c87f2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.collection.ArrayFactory</span></td><td><code>f2dcfb1430649b3e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.collection.ArrayFactory.ArrayCreator</span></td><td><code>7ff584cc516e3f40</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.collection.ArrayFactory.ArrayCreator.ForReferenceType</span></td><td><code>2ffee25860dde2e1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.collection.ArrayFactory.ArrayStackManipulation</span></td><td><code>2420354f9fdfb502</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.ClassConstant</span></td><td><code>8c2c8e360f844ad5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.ClassConstant.ForReferenceType</span></td><td><code>a779a54b4d7fcd6c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.DefaultValue</span></td><td><code>56544d5987e5a6d8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.DoubleConstant</span></td><td><code>829c95b7b67e95cf</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.FloatConstant</span></td><td><code>bdee038754940fff</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.IntegerConstant</span></td><td><code>58a28f871a6a0499</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.LongConstant</span></td><td><code>113f925135fa3020</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.MethodConstant</span></td><td><code>4af2674773bedc86</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.MethodConstant.CachedMethod</span></td><td><code>927dce16203d5f6c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.MethodConstant.ForMethod</span></td><td><code>5c66dba4a8bfbcea</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.NullConstant</span></td><td><code>9cf4bfc5c52a2517</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.TextConstant</span></td><td><code>76b9599de59f2aeb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.FieldAccess</span></td><td><code>e098860a4703e90a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.FieldAccess.AccessDispatcher</span></td><td><code>20c90535a547e3cd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.FieldAccess.AccessDispatcher.AbstractFieldInstruction</span></td><td><code>75724b7b6b2e4a66</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.FieldAccess.AccessDispatcher.FieldGetInstruction</span></td><td><code>adcac7724ac0272c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.FieldAccess.AccessDispatcher.FieldPutInstruction</span></td><td><code>aeaedb775e139b65</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.MethodInvocation</span></td><td><code>14726e4d8770e5c2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.MethodInvocation.Invocation</span></td><td><code>fa9ba5217301f030</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.MethodInvocation.OfGenericMethod</span></td><td><code>17523e41efd5a475</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.MethodReturn</span></td><td><code>3cbfd6833fda70dd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.MethodVariableAccess</span></td><td><code>7ec211e72c6c3719</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.MethodVariableAccess.MethodLoading</span></td><td><code>0b690307be533e18</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.MethodVariableAccess.MethodLoading.TypeCastingHandler.ForBridgeTarget</span></td><td><code>89785916231f4dad</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.MethodVariableAccess.MethodLoading.TypeCastingHandler.NoOp</span></td><td><code>3f3d0d86b569e241</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.MethodVariableAccess.OffsetLoading</span></td><td><code>4794627822a950ec</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.MethodVariableAccess.OffsetWriting</span></td><td><code>ec4ccc785b7c7e50</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.AnnotationVisitor</span></td><td><code>cd8a8ae8c6a81aac</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.AnnotationWriter</span></td><td><code>0932d72e909ca807</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.Attribute</span></td><td><code>706e3dca943537f4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.ByteVector</span></td><td><code>7b954a37494ae9b1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.ClassReader</span></td><td><code>e338a717450267b6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.ClassVisitor</span></td><td><code>fadf18db959a51c0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.ClassWriter</span></td><td><code>8fef2f78c16bf3a1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.ConstantDynamic</span></td><td><code>b7229c3e0045f54c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.Context</span></td><td><code>e9c1b62b23feb9ea</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.FieldVisitor</span></td><td><code>1e68d610e857eaad</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.FieldWriter</span></td><td><code>3c4ebfcb2bc7032e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.Handle</span></td><td><code>6019e218815e3c26</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.Handler</span></td><td><code>763c7a3b0dc4fc7e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.Label</span></td><td><code>90adaa7d501e514d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.MethodVisitor</span></td><td><code>9ace78a4d431747d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.MethodWriter</span></td><td><code>3bbf4f45000a5b02</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.Opcodes</span></td><td><code>faeee4d0ece993c6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.Symbol</span></td><td><code>667e508aa34354b1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.SymbolTable</span></td><td><code>062167c3c6eec51b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.SymbolTable.Entry</span></td><td><code>9be5b08b0e9ad0e4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.Type</span></td><td><code>ae2dca90336e2c4e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.TypeReference</span></td><td><code>7c2c246da0bafedc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.commons.ClassRemapper</span></td><td><code>3b51d3b9fc7535e2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.commons.FieldRemapper</span></td><td><code>98cdb08947bd5f18</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.commons.Remapper</span></td><td><code>812a9f5a9bb9b509</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.commons.SignatureRemapper</span></td><td><code>f7906518cd91d799</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.commons.SimpleRemapper</span></td><td><code>193adda534bf00c4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.signature.SignatureReader</span></td><td><code>011d12c758b95e5f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.signature.SignatureVisitor</span></td><td><code>482dc0d879af867f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.signature.SignatureWriter</span></td><td><code>bb3fc83b8aaad021</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.AnnotationTypeMatcher</span></td><td><code>4c083a293a95675e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.BooleanMatcher</span></td><td><code>fc276a6c128e2875</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.CollectionErasureMatcher</span></td><td><code>76b5d2cc623cc312</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.CollectionItemMatcher</span></td><td><code>640386844f0e29b8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.CollectionOneToOneMatcher</span></td><td><code>670278e525ff9bfc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.CollectionSizeMatcher</span></td><td><code>8f59b8be9ab4a58b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.DeclaringAnnotationMatcher</span></td><td><code>72a4630003105f69</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.DeclaringTypeMatcher</span></td><td><code>76e282c5482618bb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.DescriptorMatcher</span></td><td><code>e5d21259f82507a7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.ElementMatcher.Junction.AbstractBase</span></td><td><code>d129e1a5bbea50cb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.ElementMatcher.Junction.Conjunction</span></td><td><code>6586c7d2abf8bf59</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.ElementMatcher.Junction.Disjunction</span></td><td><code>78eb86ff19c5e913</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.ElementMatcher.Junction.ForNonNullValues</span></td><td><code>40b97e222b442c20</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.ElementMatchers</span></td><td><code>5da3055b8ba94b32</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.EqualityMatcher</span></td><td><code>7ddcccca3867f2c6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.ErasureMatcher</span></td><td><code>327b39df894c794a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.FailSafeMatcher</span></td><td><code>e67ae39af120023b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.FilterableList.AbstractBase</span></td><td><code>acc833b482b3e913</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.FilterableList.Empty</span></td><td><code>994e694dc878695f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.LatentMatcher.Disjunction</span></td><td><code>cf547e86976c153f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.LatentMatcher.ForFieldToken</span></td><td><code>08b4951ce99afdff</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.LatentMatcher.ForFieldToken.ResolvedMatcher</span></td><td><code>7a313b55df92d5ce</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.LatentMatcher.ForMethodToken</span></td><td><code>acf53d7e0ad9c66c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.LatentMatcher.ForMethodToken.ResolvedMatcher</span></td><td><code>a1b47b682cdd16e5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.LatentMatcher.Resolved</span></td><td><code>838bf93f64347719</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodParameterTypeMatcher</span></td><td><code>d565dce3bed4679b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodParameterTypesMatcher</span></td><td><code>4f9a1c61c2ca1d30</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodParametersMatcher</span></td><td><code>754bf9d07553d1f9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodReturnTypeMatcher</span></td><td><code>1b6fa22a35a706bc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodSortMatcher</span></td><td><code>d9a4a7f8ba8d705a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodSortMatcher.Sort</span></td><td><code>df4da3ccf1c43fb2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodSortMatcher.Sort.1</span></td><td><code>9f8edcf420246fae</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodSortMatcher.Sort.2</span></td><td><code>5b30e294f2304972</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodSortMatcher.Sort.3</span></td><td><code>9c8b9e468a9ba4ee</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodSortMatcher.Sort.4</span></td><td><code>4c3709005a13f932</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodSortMatcher.Sort.5</span></td><td><code>93400b67a6230353</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.ModifierMatcher</span></td><td><code>c0d2e66fbd31c083</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.ModifierMatcher.Mode</span></td><td><code>09bd88f8f539be92</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.NameMatcher</span></td><td><code>b901fc4b35799fa4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.NegatingMatcher</span></td><td><code>a7d93978e9d78d7e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.SignatureTokenMatcher</span></td><td><code>60c758b99c3d9148</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher</span></td><td><code>236df1d1d60ab580</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode</span></td><td><code>78a8ab1a5e998326</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.1</span></td><td><code>197cd818fecbf0dc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.2</span></td><td><code>130a12e752b093e0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.3</span></td><td><code>37e1825b2b41bae8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.4</span></td><td><code>34a59e75ad57ee16</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.5</span></td><td><code>6b18de0e0195fcc7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.6</span></td><td><code>bdaf5299d13e3bfe</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.7</span></td><td><code>f608050eb76b29c9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.8</span></td><td><code>7a1f43a330aa49e3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.9</span></td><td><code>d97cfe0669542624</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.SuperTypeMatcher</span></td><td><code>5f65e9ccb1649334</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.TypeSortMatcher</span></td><td><code>bea3cd319f7a9ab6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.VisibilityMatcher</span></td><td><code>6f0d2c70b6ce50e1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.pool.TypePool.AbstractBase</span></td><td><code>9fb6083dd80a22fc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.pool.TypePool.AbstractBase.Hierarchical</span></td><td><code>af09d201760be842</code></td></tr><tr><td><span class="el_class">net.bytebuddy.pool.TypePool.CacheProvider.NoOp</span></td><td><code>174576454ae1c349</code></td></tr><tr><td><span class="el_class">net.bytebuddy.pool.TypePool.CacheProvider.Simple</span></td><td><code>7bfcbb81282fd7ba</code></td></tr><tr><td><span class="el_class">net.bytebuddy.pool.TypePool.ClassLoading</span></td><td><code>eacd715670bb9cf5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.pool.TypePool.Default</span></td><td><code>d652b7abbf41681e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.pool.TypePool.Default.ReaderMode</span></td><td><code>c7c49aee0ee313c2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.pool.TypePool.Empty</span></td><td><code>3dd3d1db982dbfc3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.pool.TypePool.Explicit</span></td><td><code>eceae2bc3c0ef42b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.CompoundList</span></td><td><code>b8b501baeee21c20</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.ConstantValue.Simple</span></td><td><code>e3630dc7d69b95ee</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.ConstructorComparator</span></td><td><code>c7333b6b982e8e09</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.FieldComparator</span></td><td><code>040e57b459196f7f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.GraalImageCode</span></td><td><code>99c2d8870a99ec8c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.Invoker.Dispatcher</span></td><td><code>b9b5f67cf01bb049</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.JavaConstant.Simple</span></td><td><code>5b025f7cd4895fd5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.JavaConstant.Simple.OfTrivialValue</span></td><td><code>d0617f655417a3d4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.JavaConstant.Simple.OfTrivialValue.ForString</span></td><td><code>45e71adc753caccd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.JavaModule</span></td><td><code>6655d87ef5c48770</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.MethodComparator</span></td><td><code>4e5549fe1a1bb16a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.OpenedClassReader</span></td><td><code>03aca7f7509a23be</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.RandomString</span></td><td><code>475c5a28b2a65671</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.StreamDrainer</span></td><td><code>264534737ce95d78</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher</span></td><td><code>787d0fb443c33196</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.Dispatcher.ForContainerCreation</span></td><td><code>6d0da494448f50f0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.Dispatcher.ForInstanceCheck</span></td><td><code>348c5ed1a0ea72ea</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.Dispatcher.ForNonStaticMethod</span></td><td><code>bf4d2158c4101736</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.Dispatcher.ForStaticMethod</span></td><td><code>2cbd19f9947661fd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.DynamicClassLoader</span></td><td><code>fb77b168217827f2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.DynamicClassLoader.Resolver.CreationAction</span></td><td><code>8ca4ae6007eb9fd7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.DynamicClassLoader.Resolver.ForModuleSystem</span></td><td><code>9a96cee67ed31732</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.InvokerCreationAction</span></td><td><code>8b81db7b9bb021a1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.ProxiedInvocationHandler</span></td><td><code>a4eb032d57e965fc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.privilege.GetMethodAction</span></td><td><code>74124300a1be96ce</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.privilege.GetSystemPropertyAction</span></td><td><code>3dcb9c5481b99d57</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.visitor.ExceptionTableSensitiveMethodVisitor</span></td><td><code>d6e802e0f103ce5a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.visitor.LineNumberPrependingMethodVisitor</span></td><td><code>39913d282d69be33</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.visitor.MetadataAwareClassVisitor</span></td><td><code>01777504b2dd8fd6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.visitor.StackAwareMethodVisitor</span></td><td><code>e665bc6a36ad6fe9</code></td></tr><tr><td><span class="el_class">org.apache.commons.lang.StringUtils</span></td><td><code>9dd94cc65aafa7e1</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.AbstractAssert</span></td><td><code>350d4a3c45c0d8b2</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.AbstractBooleanAssert</span></td><td><code>48a83efc83bd1062</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.AbstractCharSequenceAssert</span></td><td><code>da675e3ab7090aaa</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.AbstractComparableAssert</span></td><td><code>4bc0b15e745cd2bd</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.AbstractIntegerAssert</span></td><td><code>74584e5937642417</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.AbstractObjectAssert</span></td><td><code>9efff4a69b305ce5</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.AbstractStringAssert</span></td><td><code>bc722a6783ecab24</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.Assertions</span></td><td><code>4edb27c6dadb3b26</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.AssertionsForClassTypes</span></td><td><code>485dd7e71971d9a1</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.BooleanAssert</span></td><td><code>7c2437c2727b8309</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.IntegerAssert</span></td><td><code>8f698b21fd75dcf6</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.ObjectAssert</span></td><td><code>1bbc9fbe987a71e1</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.StringAssert</span></td><td><code>276d8048089fdd6d</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.WritableAssertionInfo</span></td><td><code>cfe8767c89787032</code></td></tr><tr><td><span class="el_class">org.assertj.core.configuration.Configuration</span></td><td><code>6ea356a40ee80ccf</code></td></tr><tr><td><span class="el_class">org.assertj.core.configuration.ConfigurationProvider</span></td><td><code>3346c4801f784bb9</code></td></tr><tr><td><span class="el_class">org.assertj.core.configuration.PreferredAssumptionException</span></td><td><code>2789214dba489051</code></td></tr><tr><td><span class="el_class">org.assertj.core.configuration.PreferredAssumptionException.1</span></td><td><code>1eab9d24cce924d2</code></td></tr><tr><td><span class="el_class">org.assertj.core.configuration.Services</span></td><td><code>3dc1dd22400d3099</code></td></tr><tr><td><span class="el_class">org.assertj.core.error.AssertionErrorCreator</span></td><td><code>744bd205226ec15f</code></td></tr><tr><td><span class="el_class">org.assertj.core.error.ConstructorInvoker</span></td><td><code>dbd17ff2cbb8bc28</code></td></tr><tr><td><span class="el_class">org.assertj.core.error.GroupTypeDescription</span></td><td><code>e2d30a487eec2c68</code></td></tr><tr><td><span class="el_class">org.assertj.core.internal.AbstractComparisonStrategy</span></td><td><code>40fb8687fd6113a4</code></td></tr><tr><td><span class="el_class">org.assertj.core.internal.Booleans</span></td><td><code>47899591edb7e017</code></td></tr><tr><td><span class="el_class">org.assertj.core.internal.Comparables</span></td><td><code>492c5254e1e386a8</code></td></tr><tr><td><span class="el_class">org.assertj.core.internal.Conditions</span></td><td><code>e092e4d723bc2314</code></td></tr><tr><td><span class="el_class">org.assertj.core.internal.Failures</span></td><td><code>2cd3f6ce6070185b</code></td></tr><tr><td><span class="el_class">org.assertj.core.internal.Integers</span></td><td><code>51f142568138237e</code></td></tr><tr><td><span class="el_class">org.assertj.core.internal.Numbers</span></td><td><code>b1c5a72fc2773178</code></td></tr><tr><td><span class="el_class">org.assertj.core.internal.Objects</span></td><td><code>fe71671260ce8f9c</code></td></tr><tr><td><span class="el_class">org.assertj.core.internal.StandardComparisonStrategy</span></td><td><code>cb180b5c43beb144</code></td></tr><tr><td><span class="el_class">org.assertj.core.internal.Strings</span></td><td><code>7e045dfabe913b45</code></td></tr><tr><td><span class="el_class">org.assertj.core.presentation.CompositeRepresentation</span></td><td><code>3230199b443ac68a</code></td></tr><tr><td><span class="el_class">org.assertj.core.presentation.StandardRepresentation</span></td><td><code>6d33658e7677a603</code></td></tr><tr><td><span class="el_class">org.assertj.core.util.Arrays</span></td><td><code>20c1f3363764d24e</code></td></tr><tr><td><span class="el_class">org.assertj.core.util.Lists</span></td><td><code>5895215344293d99</code></td></tr><tr><td><span class="el_class">org.assertj.core.util.Streams</span></td><td><code>d730dd591d3325a8</code></td></tr><tr><td><span class="el_class">org.assertj.core.util.introspection.FieldSupport</span></td><td><code>1f44f51b62bb0ce5</code></td></tr><tr><td><span class="el_class">org.assertj.core.util.introspection.PropertySupport</span></td><td><code>381c5ad4b48534d7</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.AbstractTestDescriptor</span></td><td><code>b7d6764e5c2ed1e2</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.DefaultTestClassDescriptor</span></td><td><code>29a580f844a707e9</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.DefaultTestClassRunInfo</span></td><td><code>68a7e79b2914fd4d</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.DefaultTestDescriptor</span></td><td><code>33f0f28b81218a57</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.DefaultTestOutputEvent</span></td><td><code>8b3d72b91c24a69b</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.DefaultTestSuiteDescriptor</span></td><td><code>7ca2225e2fb0b4b2</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.JULRedirector</span></td><td><code>bae8ac50b3f8106a</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor</span></td><td><code>61188fe4ac13d309</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.TestCompleteEvent</span></td><td><code>94a6da85674017e0</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.TestStartEvent</span></td><td><code>739a2bff9c36ddab</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.failure.DefaultThrowableToTestFailureMapper</span></td><td><code>98b3c6d95620e628</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.failure.TestFailureMapper</span></td><td><code>fad0361b08728e0d</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.failure.mappers.AssertErrorMapper</span></td><td><code>f8f52c2b08659a75</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.failure.mappers.AssertjMultipleAssertionsErrorMapper</span></td><td><code>6d9c88eceee97e47</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.failure.mappers.JUnitComparisonTestFailureMapper</span></td><td><code>1870ccedd70c62d3</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.failure.mappers.OpenTestAssertionFailedMapper</span></td><td><code>4ded763dc3dea331</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.failure.mappers.OpenTestMultipleFailuresErrorMapper</span></td><td><code>fd9e46b889182617</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.filter.TestFilterSpec</span></td><td><code>a7526e6ebab295a4</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.filter.TestSelectionMatcher</span></td><td><code>06128e54c9dca021</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.filter.TestSelectionMatcher.FullQualifiedClassNameSelector</span></td><td><code>b0cdbd341967c218</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.filter.TestSelectionMatcher.NoWildcardMatcher</span></td><td><code>c2434758b84103cc</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.filter.TestSelectionMatcher.TestPattern</span></td><td><code>bf83a0bf4a96f644</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestClassProcessor</span></td><td><code>672aa182353275ae</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformSpec</span></td><td><code>f5579f12caeb524a</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor</span></td><td><code>f682a3fb343b4c24</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.BackwardsCompatibleLauncherSession</span></td><td><code>15441bf1aaf0f299</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.ClassMethodNameFilter</span></td><td><code>2e75ab5ae4a5698f</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.CollectAllTestClassesExecutor</span></td><td><code>8c9350cf7e325a14</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessorFactory</span></td><td><code>a7b6a6fbba6df145</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestExecutionListener</span></td><td><code>b76948e94474cdbc</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.processors.CaptureTestOutputTestResultProcessor</span></td><td><code>29d7c45ae3841147</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.processors.DefaultStandardOutputRedirector</span></td><td><code>c0ce962d1b0afc6c</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.processors.DefaultStandardOutputRedirector.DiscardAction</span></td><td><code>b1b2c3fe575a0572</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.processors.DefaultStandardOutputRedirector.WriteAction</span></td><td><code>313e54868cd6f7bf</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.processors.TestOutputRedirector</span></td><td><code>3b6a0392c9e3dd02</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.processors.TestOutputRedirector.Forwarder</span></td><td><code>2f0a51434c23293a</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.results.AttachParentTestResultProcessor</span></td><td><code>6d02567fd2a7d62d</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer</span></td><td><code>86c8a2a7f444af17</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.DefaultNestedTestSuiteDescriptorSerializer</span></td><td><code>d06ce1b3d75f97ec</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.DefaultParameterizedTestDescriptorSerializer</span></td><td><code>110fe58b6a08d18a</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.DefaultTestClassDescriptorSerializer</span></td><td><code>7a33def0e5f77169</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.DefaultTestClassRunInfoSerializer</span></td><td><code>756d4261d461b736</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.DefaultTestDescriptorSerializer</span></td><td><code>f22763fb9799791b</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.DefaultTestFailureSerializer</span></td><td><code>a3fa0d4e2033ff7b</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.DefaultTestMethodDescriptorSerializer</span></td><td><code>8399fed70a5a5583</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.DefaultTestOutputEventSerializer</span></td><td><code>ab68b99e3ba8e6a7</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.DefaultTestSuiteDescriptorSerializer</span></td><td><code>00e4063cb0a3717e</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.IdSerializer</span></td><td><code>cdde38a9abcdd3c1</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.NullableSerializer</span></td><td><code>0b8b3e72f4fb326b</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.TestCompleteEventSerializer</span></td><td><code>971566bf8e6bbbc9</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.TestStartEventSerializer</span></td><td><code>46e7b262d38e1858</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.WorkerTestSuiteDescriptorSerializer</span></td><td><code>e06ab7fe365be81b</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestWorker</span></td><td><code>9da5c91b10b63d25</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestWorker.1</span></td><td><code>ccbe896c0f005689</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestWorker.2</span></td><td><code>fd29a630d60da1b8</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestWorker.3</span></td><td><code>b9c4ca4676087868</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestWorker.State</span></td><td><code>fa812eb1a8e0dd23</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestWorker.TestFrameworkServiceRegistry</span></td><td><code>e033f3a95f86732e</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.WorkerTestClassProcessor</span></td><td><code>0f6525b02f2bb3d2</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.WorkerTestClassProcessor.WorkerTestSuiteDescriptor</span></td><td><code>b3807e9b92351840</code></td></tr><tr><td><span class="el_class">org.gradle.api.logging.LogLevel</span></td><td><code>236e938e30516638</code></td></tr><tr><td><span class="el_class">org.gradle.api.tasks.testing.TestOutputEvent.Destination</span></td><td><code>a16caef1c278a81f</code></td></tr><tr><td><span class="el_class">org.gradle.internal.Cast</span></td><td><code>6130c81e08d81640</code></td></tr><tr><td><span class="el_class">org.gradle.internal.MutableBoolean</span></td><td><code>349de2b8a37d4338</code></td></tr><tr><td><span class="el_class">org.gradle.internal.SystemProperties</span></td><td><code>d691e6f045b4d8e8</code></td></tr><tr><td><span class="el_class">org.gradle.internal.actor.internal.DefaultActorFactory</span></td><td><code>2776985b64942a33</code></td></tr><tr><td><span class="el_class">org.gradle.internal.actor.internal.DefaultActorFactory.BlockingActor</span></td><td><code>abe31a572fce57fa</code></td></tr><tr><td><span class="el_class">org.gradle.internal.concurrent.AbstractDelegatingExecutorService</span></td><td><code>49d3dededcea40d0</code></td></tr><tr><td><span class="el_class">org.gradle.internal.concurrent.AbstractManagedExecutor</span></td><td><code>2b6c0f29fdff5244</code></td></tr><tr><td><span class="el_class">org.gradle.internal.concurrent.AbstractManagedExecutor.1</span></td><td><code>872460d8243510dc</code></td></tr><tr><td><span class="el_class">org.gradle.internal.concurrent.CompositeStoppable</span></td><td><code>e322584f6cb5969a</code></td></tr><tr><td><span class="el_class">org.gradle.internal.concurrent.CompositeStoppable.1</span></td><td><code>97a4a0e348c32238</code></td></tr><tr><td><span class="el_class">org.gradle.internal.concurrent.CompositeStoppable.2</span></td><td><code>d6e18202f5962cf7</code></td></tr><tr><td><span class="el_class">org.gradle.internal.concurrent.DefaultExecutorFactory</span></td><td><code>63847aa635eddd82</code></td></tr><tr><td><span class="el_class">org.gradle.internal.concurrent.DefaultExecutorFactory.TrackedManagedExecutor</span></td><td><code>36f4bc1cd93c039c</code></td></tr><tr><td><span class="el_class">org.gradle.internal.concurrent.ExecutorPolicy.CatchAndRecordFailures</span></td><td><code>2aacf6d3d0dd2240</code></td></tr><tr><td><span class="el_class">org.gradle.internal.concurrent.ManagedExecutorImpl</span></td><td><code>ce6f255f6fc1de83</code></td></tr><tr><td><span class="el_class">org.gradle.internal.concurrent.ThreadFactoryImpl</span></td><td><code>1d388becbfb01ad8</code></td></tr><tr><td><span class="el_class">org.gradle.internal.dispatch.ContextClassLoaderDispatch</span></td><td><code>132d0c3fd93e8141</code></td></tr><tr><td><span class="el_class">org.gradle.internal.dispatch.ContextClassLoaderProxy</span></td><td><code>4295807baa6fbb83</code></td></tr><tr><td><span class="el_class">org.gradle.internal.dispatch.MethodInvocation</span></td><td><code>56dc845f6b509e42</code></td></tr><tr><td><span class="el_class">org.gradle.internal.dispatch.ProxyDispatchAdapter</span></td><td><code>56827e7cbc177632</code></td></tr><tr><td><span class="el_class">org.gradle.internal.dispatch.ProxyDispatchAdapter.DispatchingInvocationHandler</span></td><td><code>91c49d997210d865</code></td></tr><tr><td><span class="el_class">org.gradle.internal.dispatch.ReflectionDispatch</span></td><td><code>6976fdf67f3e8979</code></td></tr><tr><td><span class="el_class">org.gradle.internal.event.AbstractBroadcastDispatch</span></td><td><code>3624329b4268ace0</code></td></tr><tr><td><span class="el_class">org.gradle.internal.event.BroadcastDispatch</span></td><td><code>8e28373cd592a460</code></td></tr><tr><td><span class="el_class">org.gradle.internal.event.BroadcastDispatch.CompositeDispatch</span></td><td><code>cb1fa3ce9072c0bf</code></td></tr><tr><td><span class="el_class">org.gradle.internal.event.BroadcastDispatch.EmptyDispatch</span></td><td><code>720dd233b7e6bc29</code></td></tr><tr><td><span class="el_class">org.gradle.internal.event.BroadcastDispatch.SingletonDispatch</span></td><td><code>1d8f3791fdfff085</code></td></tr><tr><td><span class="el_class">org.gradle.internal.event.ListenerBroadcast</span></td><td><code>bb9ab86e7f09e921</code></td></tr><tr><td><span class="el_class">org.gradle.internal.id.CompositeIdGenerator</span></td><td><code>f1c607aa5fccdbaa</code></td></tr><tr><td><span class="el_class">org.gradle.internal.id.CompositeIdGenerator.CompositeId</span></td><td><code>e710c854f802c58b</code></td></tr><tr><td><span class="el_class">org.gradle.internal.id.LongIdGenerator</span></td><td><code>6f8168bf486a560d</code></td></tr><tr><td><span class="el_class">org.gradle.internal.id.UUIDGenerator</span></td><td><code>047a43ab94df6ffa</code></td></tr><tr><td><span class="el_class">org.gradle.internal.io.BufferCaster</span></td><td><code>88a8af829d9f2dca</code></td></tr><tr><td><span class="el_class">org.gradle.internal.io.ClassLoaderObjectInputStream</span></td><td><code>acf45500b0d04661</code></td></tr><tr><td><span class="el_class">org.gradle.internal.io.LineBufferingOutputStream</span></td><td><code>bcb3506c9cb335f2</code></td></tr><tr><td><span class="el_class">org.gradle.internal.io.LinePerThreadBufferingOutputStream</span></td><td><code>2d2cc4f27d1ed01d</code></td></tr><tr><td><span class="el_class">org.gradle.internal.io.NullOutputStream</span></td><td><code>eefcfe0665bbfe4c</code></td></tr><tr><td><span class="el_class">org.gradle.internal.io.StreamByteBuffer</span></td><td><code>3ec3288935eb4819</code></td></tr><tr><td><span class="el_class">org.gradle.internal.io.StreamByteBuffer.StreamByteBufferChunk</span></td><td><code>ae7975dc16af2356</code></td></tr><tr><td><span class="el_class">org.gradle.internal.io.StreamByteBuffer.StreamByteBufferInputStream</span></td><td><code>d1fc83f589a55ee4</code></td></tr><tr><td><span class="el_class">org.gradle.internal.io.StreamByteBuffer.StreamByteBufferOutputStream</span></td><td><code>c78a467a714934e8</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.config.LoggingSystemAdapter</span></td><td><code>2bb5150ee66232e9</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.config.LoggingSystemAdapter.SnapshotImpl</span></td><td><code>221de860d84422df</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.console.DefaultUserInputReceiver</span></td><td><code>08050cb4428bad0e</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.events.EndOutputEvent</span></td><td><code>0d8edd2a5ce274ee</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.events.LogLevelChangeEvent</span></td><td><code>33b762c6d5852de7</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.events.OutputEvent</span></td><td><code>85bce87f1bcda18d</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.events.OutputEventListener</span></td><td><code>e7d50a9306531b49</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.events.OutputEventListener.1</span></td><td><code>5c6014dff2070607</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.events.StyledTextOutputEvent</span></td><td><code>11f48fb1a17330c8</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.events.StyledTextOutputEvent.Span</span></td><td><code>c55f799d2631f13d</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.serializer.LogEventSerializer</span></td><td><code>b6d88af223db296a</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.serializer.LogLevelChangeEventSerializer</span></td><td><code>f77a59533dde75ec</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.serializer.SpanSerializer</span></td><td><code>5f773b7d1ad07c9f</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.serializer.StyledTextOutputEventSerializer</span></td><td><code>faebed27ac3e65ba</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.services.DefaultLoggingManager</span></td><td><code>61e216a064052ff1</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.services.DefaultLoggingManager.StartableLoggingRouter</span></td><td><code>78396be937af48de</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.services.DefaultLoggingManager.StartableLoggingSystem</span></td><td><code>b121a97021902643</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.services.DefaultLoggingManagerFactory</span></td><td><code>eb1ab97193f0d177</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.services.LoggingServiceRegistry</span></td><td><code>f422be508a723dad</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.services.LoggingServiceRegistry.1</span></td><td><code>8077eb5bc8da45fa</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.services.LoggingServiceRegistry.CommandLineLogging</span></td><td><code>ab0f1f63de5d4641</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.services.TextStreamOutputEventListener</span></td><td><code>ef4d0c3267356598</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.sink.OutputEventListenerManager</span></td><td><code>d6dee3d6fea49020</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.sink.OutputEventListenerManager.1</span></td><td><code>1e218a705ff0ee7e</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.sink.OutputEventRenderer</span></td><td><code>ad1cc4fc552ab292</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.sink.OutputEventRenderer.1</span></td><td><code>b94418b2e260aede</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.sink.OutputEventRenderer.2</span></td><td><code>a956801cd98ca633</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.sink.OutputEventRenderer.LazyListener</span></td><td><code>7ee882569b166e1e</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.sink.OutputEventRenderer.SnapshotImpl</span></td><td><code>827634628a47c5f5</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.sink.OutputEventTransformer</span></td><td><code>06c2270eef0e291e</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.slf4j.BuildOperationAwareLogger</span></td><td><code>daea5fa552e68a8c</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.slf4j.OutputEventListenerBackedLogger</span></td><td><code>30ddd0a8ff91b5f5</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.slf4j.OutputEventListenerBackedLoggerContext</span></td><td><code>9d35d4b7a722eb08</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.slf4j.OutputEventListenerBackedLoggerContext.NoOpLogger</span></td><td><code>a09428f13d916349</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.slf4j.Slf4jLoggingConfigurer</span></td><td><code>75fba29c3739b15f</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.source.DefaultStdErrLoggingSystem</span></td><td><code>fd3dd0caab2f1d95</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.source.DefaultStdOutLoggingSystem</span></td><td><code>528bb39bfb67c3ae</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.source.JavaUtilLoggingSystem</span></td><td><code>5e967b17aabfd442</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.source.JavaUtilLoggingSystem.SnapshotImpl</span></td><td><code>15dfc30250723749</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.source.PrintStreamLoggingSystem</span></td><td><code>1ae6e6b715c6b3f9</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.source.PrintStreamLoggingSystem.1</span></td><td><code>65643cb979acba64</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.source.PrintStreamLoggingSystem.OutputEventDestination</span></td><td><code>8c1ddf1476568828</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.source.PrintStreamLoggingSystem.PrintStreamDestination</span></td><td><code>9e7273f370028123</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.source.PrintStreamLoggingSystem.SnapshotImpl</span></td><td><code>8f80a46f9780a57e</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.text.StyledTextOutput.Style</span></td><td><code>d676557b62e3f601</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.filesystem.services.FileSystemServices</span></td><td><code>b25a2a743a08dd2a</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.jansi.DefaultJansiRuntimeResolver</span></td><td><code>1aa17f25c9c1cad4</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.jansi.JansiBootPathConfigurer</span></td><td><code>3a766bce65ac1a48</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.jansi.JansiLibraryFactory</span></td><td><code>0cbaac430d6656c4</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.jansi.JansiStorageLocator</span></td><td><code>c8bff1ccb071f9b6</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.services.NativeServices</span></td><td><code>abb0c6b651fcb93a</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.services.NativeServices.1</span></td><td><code>cb6208604e1a9ad4</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.services.NativeServices.NativeFeatures</span></td><td><code>6aa09c4d82dd664e</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.services.NativeServices.NativeFeatures.1</span></td><td><code>a97bf0d4f5545599</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.services.NativeServices.NativeFeatures.2</span></td><td><code>b680e303b6631a7b</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.services.NativeServices.NativeServicesMode</span></td><td><code>c5dd13d016e14664</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.services.NativeServices.NativeServicesMode.1</span></td><td><code>95f5d7b5f2ef5cdf</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.services.NativeServices.NativeServicesMode.2</span></td><td><code>ed56f6dad8089839</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.services.NativeServices.NativeServicesMode.3</span></td><td><code>37a9e97bc1744917</code></td></tr><tr><td><span class="el_class">org.gradle.internal.reflect.JavaMethod</span></td><td><code>c42e01e56542d65c</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.KryoBackedMessageSerializer</span></td><td><code>0028157720ec1f27</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.ConnectionSet</span></td><td><code>323708d9214e34e4</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.ConnectionState</span></td><td><code>250fb1b274991d9a</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.DefaultMethodArgsSerializer</span></td><td><code>b5f4b38125033ffd</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.DefaultMethodArgsSerializer.ArraySerializer</span></td><td><code>16505d5ccbb1b78b</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.DefaultMethodArgsSerializer.EmptyArraySerializer</span></td><td><code>cdc53c79a631aa33</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.IncomingQueue</span></td><td><code>0e8ecdb8f31efe51</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.InterHubMessageSerializer</span></td><td><code>7d84d4aa85858c73</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.InterHubMessageSerializer.MessageReader</span></td><td><code>ab1cd6753eb75a29</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.InterHubMessageSerializer.MessageWriter</span></td><td><code>3e4611f758508afb</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.JavaSerializationBackedMethodArgsSerializer</span></td><td><code>4c7a738ee4525ff6</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHub</span></td><td><code>1326887a1f1da0ac</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHub.ChannelDispatch</span></td><td><code>8a9dfd1b6306d8e6</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHub.ConnectionDispatch</span></td><td><code>df1d0a86180d66e4</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHub.ConnectionReceive</span></td><td><code>e1dc78071e8e957d</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHub.Discard</span></td><td><code>63a8d677cc1f9101</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHub.Handler</span></td><td><code>3d232f51f2c02828</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHub.State</span></td><td><code>1b76747d7bce6b89</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHubBackedClient</span></td><td><code>77c2124c3c43d832</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection</span></td><td><code>c23964928f1aff22</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection.1</span></td><td><code>ac806a6bc6b1b21d</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection.2</span></td><td><code>8ac38215966e3a20</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection.DispatchWrapper</span></td><td><code>9aa5d8679dbc6601</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MethodInvocationSerializer</span></td><td><code>47063ab293644e83</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MethodInvocationSerializer.MethodDetails</span></td><td><code>b6b7fb55e88cc4b9</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MethodInvocationSerializer.MethodInvocationReader</span></td><td><code>e6b939136f207ff5</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MethodInvocationSerializer.MethodInvocationWriter</span></td><td><code>c3b77db1b2556afe</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.OutgoingQueue</span></td><td><code>fbcc05506ad40c68</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.protocol.ChannelIdentifier</span></td><td><code>7697ff6a7c712869</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.protocol.ChannelMessage</span></td><td><code>9bff479666e58802</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.protocol.EndOfStream</span></td><td><code>f29ffed85365f7db</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.protocol.InterHubMessage</span></td><td><code>0c6e49b6ec077e16</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.protocol.InterHubMessage.Delivery</span></td><td><code>0652d09c2a7fd1ac</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.queue.EndPointQueue</span></td><td><code>8038a5636529123d</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.queue.MultiChannelQueue</span></td><td><code>bcaac9c224068764</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.queue.MultiEndPointQueue</span></td><td><code>27222a892157733f</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.queue.MultiEndPointQueue.1</span></td><td><code>44049b3edc682954</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.queue.QueueInitializer</span></td><td><code>ad18361c23e679b1</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.inet.MultiChoiceAddress</span></td><td><code>91381aa03cdd48e7</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.inet.MultiChoiceAddressSerializer</span></td><td><code>7ffc395650705aaa</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.inet.SocketConnectCompletion</span></td><td><code>0da46ac4ccd1c9ce</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.inet.SocketConnection</span></td><td><code>b648fc2e70525f62</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.inet.SocketConnection.1</span></td><td><code>c7f1074dffaaa188</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.inet.SocketConnection.SocketInputStream</span></td><td><code>07d3128481116a21</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.inet.SocketConnection.SocketOutputStream</span></td><td><code>341e7a58a4db0e94</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.inet.SocketInetAddress</span></td><td><code>20cc3fd7992230e8</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.inet.SocketInetAddress.Serializer</span></td><td><code>d42dd7f644e6367c</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.inet.TcpOutgoingConnector</span></td><td><code>e658ec26090de909</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.services.MessagingServices</span></td><td><code>d686a35c2f44fd41</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.AbstractCollectionSerializer</span></td><td><code>7897b7a9a0c39b1b</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.AbstractDecoder</span></td><td><code>6f331f65d3691839</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.AbstractEncoder</span></td><td><code>44ea8279ea7b3a07</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.AbstractSerializer</span></td><td><code>d5cd8744f99ef12d</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory</span></td><td><code>83d030ef5f6c0526</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.BigDecimalSerializer</span></td><td><code>4dcd516a5e9202d8</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.BigIntegerSerializer</span></td><td><code>50f6ab963a855e2a</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.BooleanSerializer</span></td><td><code>9a343eeb20f2b7f4</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.ByteArraySerializer</span></td><td><code>9566e41ef84566ae</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.ByteSerializer</span></td><td><code>85286889be7534cf</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.CharSerializer</span></td><td><code>6fba21fa805857ff</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.DoubleSerializer</span></td><td><code>085b687ded9be124</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.EnumSerializer</span></td><td><code>a314f7118f1d0412</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.FileSerializer</span></td><td><code>c43bc85ad47073ee</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.FloatSerializer</span></td><td><code>dad7a35798e49d9d</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.IntegerSerializer</span></td><td><code>e8a55740afa66954</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.LongSerializer</span></td><td><code>3a08a2ef15abca0d</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.PathSerializer</span></td><td><code>22894f3c1859ada1</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.ShortSerializer</span></td><td><code>5791e5a0a4ad1ece</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.StringMapSerializer</span></td><td><code>eb348217154fd0ed</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.StringSerializer</span></td><td><code>01576ecfb2720760</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.ThrowableSerializer</span></td><td><code>ae463fe767977ceb</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.DefaultSerializer</span></td><td><code>f0908e23b4486288</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.DefaultSerializerRegistry</span></td><td><code>84449bcf590c1af7</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.DefaultSerializerRegistry.1</span></td><td><code>aeba2bb0cd2eab52</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.DefaultSerializerRegistry.HierarchySerializerMatcher</span></td><td><code>c4fa93579434fd2b</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.DefaultSerializerRegistry.InstanceBasedSerializerFactory</span></td><td><code>4d56c9c7fbddbcc0</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.DefaultSerializerRegistry.SerializerClassMatcherStrategy</span></td><td><code>ea36ea8beff22743</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.DefaultSerializerRegistry.StrictSerializerMatcher</span></td><td><code>6df6080c06573b93</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.DefaultSerializerRegistry.TaggedTypeSerializer</span></td><td><code>264fbb605d976b35</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.DefaultSerializerRegistry.TypeInfo</span></td><td><code>bd6904d4ac5974ce</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.HashCodeSerializer</span></td><td><code>4cc78fc15c246fbf</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.InputStreamBackedDecoder</span></td><td><code>1a43def6f05c6405</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.ListSerializer</span></td><td><code>fe472a367fb15381</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.kryo.KryoBackedDecoder</span></td><td><code>f9287092db21f40c</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.kryo.KryoBackedEncoder</span></td><td><code>c7b371f9548e9e06</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.kryo.TypeSafeSerializer</span></td><td><code>1dbc9e4c69fd1973</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.kryo.TypeSafeSerializer.1</span></td><td><code>bb88df969641a032</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.kryo.TypeSafeSerializer.2</span></td><td><code>599bac595545b9c0</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.AbstractServiceMethod</span></td><td><code>d8f9bf72435aa0d5</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceMethodFactory</span></td><td><code>7cd5dc9e6187cc39</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry</span></td><td><code>554c0bdbb65f55e5</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.1</span></td><td><code>726e10ffdfe2409a</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.ClassInspector</span></td><td><code>aa4210f935a4d0a5</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.ClassInspector.ClassDetails</span></td><td><code>53c53e0645999e10</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.CompositeServiceProvider</span></td><td><code>91db51aebd73dbaf</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.ConstructorService</span></td><td><code>bc8ae40bda9c59ff</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.FactoryMethodService</span></td><td><code>9f0229ae7d626482</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.FactoryService</span></td><td><code>c9da4433a3208962</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.FixedInstanceService</span></td><td><code>cf29b00c2e8b2d37</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.ManagedObjectServiceProvider</span></td><td><code>2ca44396bc0bc74b</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.OwnServices</span></td><td><code>1ee93f694ad228ec</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.ParentServices</span></td><td><code>1d4570e7353520f7</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.SingletonService</span></td><td><code>1f6b32eb0b444d88</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.SingletonService.BindState</span></td><td><code>3a2e6f45cbc059eb</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.State</span></td><td><code>455f607243c17726</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.ThisAsService</span></td><td><code>df926700e970f5a1</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.InjectUtil</span></td><td><code>4e32c5f95305147b</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.MethodHandleBasedServiceMethod</span></td><td><code>674037aa99129b52</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.MethodHandleBasedServiceMethodFactory</span></td><td><code>47e87df4713e4ce5</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.ReflectionBasedServiceMethod</span></td><td><code>56fdba7d8393253f</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.RelevantMethods</span></td><td><code>542516b051995f02</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.RelevantMethodsBuilder</span></td><td><code>2254a458e7bdf1d8</code></td></tr><tr><td><span class="el_class">org.gradle.internal.time.MonotonicClock</span></td><td><code>ba849f4eb1139bf6</code></td></tr><tr><td><span class="el_class">org.gradle.internal.time.Time</span></td><td><code>118854647ab7eed4</code></td></tr><tr><td><span class="el_class">org.gradle.internal.time.TimeSource</span></td><td><code>a96871955c3b895e</code></td></tr><tr><td><span class="el_class">org.gradle.internal.time.TimeSource.1</span></td><td><code>6de78f6b0e44a7b2</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.WorkerLoggingSerializer</span></td><td><code>adae78bad8b0e727</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.child.ActionExecutionWorker</span></td><td><code>a7d30aba9c762788</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.child.ActionExecutionWorker.1</span></td><td><code>d0eba6bfe3f78d57</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.child.DefaultWorkerDirectoryProvider</span></td><td><code>10469cccf2e081cb</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker</span></td><td><code>d51a401f71c96cf4</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.ContextImpl</span></td><td><code>6684822230e9827b</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.PrintUnrecoverableErrorToFileHandler</span></td><td><code>1b3eabcd9dbe24df</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.WorkerServices</span></td><td><code>14d92ee3ca1bb0be</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.WorkerServices.1</span></td><td><code>b7b72af63ebb5dff</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.WorkerServices.1.1</span></td><td><code>befc8ff806a5f547</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.child.WorkerLogEventListener</span></td><td><code>4a0b5fb708591833</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.messaging.WorkerConfig</span></td><td><code>8633f06980fb19fd</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.messaging.WorkerConfigSerializer</span></td><td><code>9cb8842482bd87b2</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.DisplayNameGenerator</span></td><td><code>1c70d4d828122f05</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.DisplayNameGenerator.IndicativeSentences</span></td><td><code>b23b44fe1a1ae4b6</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.DisplayNameGenerator.ReplaceUnderscores</span></td><td><code>45af1f815eb3bfc6</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.DisplayNameGenerator.Simple</span></td><td><code>3587fc3bd5ac68a7</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.DisplayNameGenerator.Standard</span></td><td><code>232bffaaa51a0c4e</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.TestInstance.Lifecycle</span></td><td><code>235138c6fffd45f1</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.extension.ConditionEvaluationResult</span></td><td><code>fc311dfabd3a0e23</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.extension.ExtensionContext</span></td><td><code>dacb7330135ba8f9</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.extension.ExtensionContext.Namespace</span></td><td><code>eb8d03782ab35d64</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.extension.ExtensionContext.Store</span></td><td><code>288780f400093c7c</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.extension.InvocationInterceptor</span></td><td><code>695ac2a6b4b9c7e4</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.JupiterTestEngine</span></td><td><code>011031d0b1fe58db</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.config.CachingJupiterConfiguration</span></td><td><code>9da5fe6b78ad9a14</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.config.DefaultJupiterConfiguration</span></td><td><code>bbee9c72790c271d</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.config.EnumConfigurationParameterConverter</span></td><td><code>433eec982a6fabbc</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.config.InstantiatingConfigurationParameterConverter</span></td><td><code>d2270f0957971443</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.AbstractExtensionContext</span></td><td><code>6b3fc41ad8b41d4f</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor</span></td><td><code>414ee653c9e673cf</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.ClassExtensionContext</span></td><td><code>e804dacaeaef4a6a</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.ClassTestDescriptor</span></td><td><code>2f87db51b4485e07</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.DefaultTestInstanceFactoryContext</span></td><td><code>b1b7d61e94c58605</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.DisplayNameUtils</span></td><td><code>8a6f8eeb3e12ddf6</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.ExtensionUtils</span></td><td><code>43a683ad1b768e92</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.JupiterEngineDescriptor</span></td><td><code>3d2dbddce296b041</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.JupiterEngineExtensionContext</span></td><td><code>7146ce9988edfce2</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.JupiterTestDescriptor</span></td><td><code>67ad750cdb2cb53b</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.LifecycleMethodUtils</span></td><td><code>286eb923d0b68032</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.MethodBasedTestDescriptor</span></td><td><code>f531f49451e39050</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.MethodExtensionContext</span></td><td><code>b5abe6523f4a32d7</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.TestInstanceLifecycleUtils</span></td><td><code>a247fc379f47df66</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor</span></td><td><code>35334f82ecefa63c</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.AbstractAnnotatedDescriptorWrapper</span></td><td><code>90b10f2d90d7b01b</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.AbstractOrderingVisitor</span></td><td><code>f8eb297929c247eb</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.AbstractOrderingVisitor.DescriptorWrapperOrderer</span></td><td><code>c8e1585f8474ed61</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.ClassOrderingVisitor</span></td><td><code>1f09fc1c6b9779bb</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.ClassSelectorResolver</span></td><td><code>e25bb2b197bc8493</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.DefaultClassDescriptor</span></td><td><code>9064f3528773a161</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.DiscoverySelectorResolver</span></td><td><code>5dc6be896f50996f</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.MethodFinder</span></td><td><code>621c8591e557439a</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.MethodOrderingVisitor</span></td><td><code>7d9864cebac818e1</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.MethodSelectorResolver</span></td><td><code>679c52dec5ee3cd2</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.MethodSelectorResolver.MethodType</span></td><td><code>2ca704c5264882ae</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.MethodSelectorResolver.MethodType.1</span></td><td><code>b3bc3007a7dfdaa0</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.MethodSelectorResolver.MethodType.2</span></td><td><code>598aec8eeefe85e3</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.MethodSelectorResolver.MethodType.3</span></td><td><code>e8fd5325e2431a2b</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsInnerClass</span></td><td><code>d746bcff9a71ec26</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsNestedTestClass</span></td><td><code>f75dfd9ee2347890</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsPotentialTestContainer</span></td><td><code>909f14a1b9fe84dc</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestClassWithTests</span></td><td><code>34690a186bfcf3ac</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestFactoryMethod</span></td><td><code>941a8af0d47a68fd</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestMethod</span></td><td><code>f2039dbd13fce110</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestTemplateMethod</span></td><td><code>c13a4260435c18a8</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestableMethod</span></td><td><code>4be487dee199f633</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.ConditionEvaluator</span></td><td><code>df91d94b180fe511</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.ConstructorInvocation</span></td><td><code>60b80968f2bdedc3</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.DefaultExecutableInvoker</span></td><td><code>97f15d1e3151968f</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.DefaultTestInstances</span></td><td><code>0fc6d90567826bc4</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.InterceptingExecutableInvoker</span></td><td><code>42cb185ff5e76387</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.ReflectiveInterceptorCall</span></td><td><code>7e154d03f7a732e5</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.InvocationInterceptorChain</span></td><td><code>9798b2a812d2015d</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.InvocationInterceptorChain.InterceptedInvocation</span></td><td><code>199eef1acbe0b316</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.InvocationInterceptorChain.ValidatingInvocation</span></td><td><code>f064b1c2c4a4bf86</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.JupiterEngineExecutionContext</span></td><td><code>b48cc2a96dab0116</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.JupiterEngineExecutionContext.Builder</span></td><td><code>d1557432e23d2776</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.JupiterEngineExecutionContext.State</span></td><td><code>3926323ef1c7fb03</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.MethodInvocation</span></td><td><code>8b8fd00463d994df</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.NamespaceAwareStore</span></td><td><code>00e5ea1337f34969</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.ParameterResolutionUtils</span></td><td><code>5aba48e342016f8f</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.TestInstancesProvider</span></td><td><code>357bca6226069e7b</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.DisabledCondition</span></td><td><code>1604b4e34c1363e4</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.ExtensionRegistry</span></td><td><code>687649643dbb04fc</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.MutableExtensionRegistry</span></td><td><code>4daca7ba95c88845</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.RepeatedTestExtension</span></td><td><code>7a30afad0f944ea5</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.TempDirectory</span></td><td><code>d2ce4804a30f8d8c</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.TempDirectory.Scope</span></td><td><code>81c9fea1068d7ff2</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.TestInfoParameterResolver</span></td><td><code>3c520f8376f91ff7</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.TestReporterParameterResolver</span></td><td><code>7187071bfc76c6ac</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.TimeoutConfiguration</span></td><td><code>44b8593a8e980687</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.TimeoutDurationParser</span></td><td><code>bb6a412c3829dae9</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.TimeoutExtension</span></td><td><code>13bcdadb20fcc7bb</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.support.JupiterThrowableCollectorFactory</span></td><td><code>46546a446de4c9c0</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.support.OpenTest4JAndJUnit4AwareThrowableCollector</span></td><td><code>e9ee7d4e1adecdd1</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.function.Try</span></td><td><code>5200e6adc191344c</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.function.Try.Success</span></td><td><code>98cdc5b539e1abfd</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.logging.LoggerFactory</span></td><td><code>39fdfe1f67bc0eda</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.logging.LoggerFactory.DelegatingLogger</span></td><td><code>c71dcf008235901c</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.support.AnnotationSupport</span></td><td><code>4b0c63263b83acb5</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.support.ReflectionSupport</span></td><td><code>db9de9450da5225a</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.AnnotationUtils</span></td><td><code>efebc064783617e1</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ClassLoaderUtils</span></td><td><code>0d0959e2f6aa173e</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ClassNamePatternFilterUtils</span></td><td><code>e725a6f058746f53</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ClassUtils</span></td><td><code>60a2276f3701443f</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ClasspathScanner</span></td><td><code>54e3df9bb2092b52</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.CollectionUtils</span></td><td><code>d47999c87f911057</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.Preconditions</span></td><td><code>2c2a6e13cda880d4</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ReflectionUtils</span></td><td><code>172cf9786a51e883</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ReflectionUtils.HierarchyTraversalMode</span></td><td><code>349d54e51f2ffb44</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.StringUtils</span></td><td><code>237c0cb03ac19254</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.CompositeFilter</span></td><td><code>6a52e5b4f7292f48</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.CompositeFilter.1</span></td><td><code>cc0aadc5880fb4e4</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.EngineDiscoveryListener</span></td><td><code>c3024068e43bb7f4</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.EngineDiscoveryListener.1</span></td><td><code>a4cdbe8dd38d8f57</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.EngineExecutionListener</span></td><td><code>693fee5cbd4c2df0</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.EngineExecutionListener.1</span></td><td><code>999902b68f81dd9a</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.ExecutionRequest</span></td><td><code>b74e001541d12dd1</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.Filter</span></td><td><code>5ffaaa90df97ca04</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.FilterResult</span></td><td><code>a787a89e1f12d534</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.SelectorResolutionResult</span></td><td><code>ca52e15a278dcf5c</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.SelectorResolutionResult.Status</span></td><td><code>c505c2274f89f01d</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.TestDescriptor</span></td><td><code>a828437d5cd2ea4f</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.TestDescriptor.Type</span></td><td><code>7628a7c639ef3a60</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.TestExecutionResult</span></td><td><code>6b1b512d17bb680e</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.TestExecutionResult.Status</span></td><td><code>ad256e9fb4407e04</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.UniqueId</span></td><td><code>4308af7bfbde4ba1</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.UniqueId.Segment</span></td><td><code>f2d36a9ca9d14367</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.UniqueIdFormat</span></td><td><code>6c86362ad62a1954</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.discovery.ClassSelector</span></td><td><code>3174b37b3ba53b7e</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.discovery.DiscoverySelectors</span></td><td><code>7863536f4276f4dd</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.discovery.MethodSelector</span></td><td><code>3fe9eccb2ba205d2</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.descriptor.AbstractTestDescriptor</span></td><td><code>b9c965daf4d9a476</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.descriptor.ClassSource</span></td><td><code>37bd92069360f773</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.descriptor.EngineDescriptor</span></td><td><code>8f2f77769ee0e9c9</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.descriptor.MethodSource</span></td><td><code>1d55ac49f5cabc20</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.ClassContainerSelectorResolver</span></td><td><code>dc6114dc7e983729</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolution</span></td><td><code>506a6b871d2fd8fe</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolution.DefaultContext</span></td><td><code>db18f59764ea1f2a</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolver</span></td><td><code>e7fb3042ea8112f0</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolver.Builder</span></td><td><code>d86618af76b95613</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolver.DefaultInitializationContext</span></td><td><code>1904819635770d62</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.SelectorResolver</span></td><td><code>e64e4fd796d9641d</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.SelectorResolver.Match</span></td><td><code>789c682356298d75</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.SelectorResolver.Match.Type</span></td><td><code>1761e56439c8d93c</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.SelectorResolver.Resolution</span></td><td><code>ab713bbdee405d17</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.ExclusiveResource</span></td><td><code>c29acbe41918b09a</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.ExclusiveResource.LockMode</span></td><td><code>96e95d210b150f97</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine</span></td><td><code>3ac292151741b7fc</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor</span></td><td><code>963cba9b029b4b19</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.LockManager</span></td><td><code>5aedd3bd3957b5a6</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.Node</span></td><td><code>5c68850150771b6e</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.Node.SkipResult</span></td><td><code>5aca1404ff0f9294</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.NodeExecutionAdvisor</span></td><td><code>7c2670c7a35cfba6</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.NodeTestTask</span></td><td><code>f652d8cc5e11bdc5</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.NodeTestTask.DefaultDynamicTestExecutor</span></td><td><code>abd00dd511d28b2f</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.NodeTestTaskContext</span></td><td><code>bdf88cd3834282a5</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.NodeTreeWalker</span></td><td><code>c689092b060d0b12</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.NodeUtils</span></td><td><code>a7ec8f66d373c169</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.NodeUtils.1</span></td><td><code>5a44a7e2cbf864b4</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService</span></td><td><code>2f3b283eba81629f</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.SingleLock</span></td><td><code>2036ec8b92a38105</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.ThrowableCollector</span></td><td><code>6fd7a27676be3c50</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.store.NamespacedHierarchicalStore</span></td><td><code>f773d297d7dc3275</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.store.NamespacedHierarchicalStore.CompositeKey</span></td><td><code>3f8758b273ff41a9</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.store.NamespacedHierarchicalStore.EvaluatedValue</span></td><td><code>3362298f87d9b160</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.store.NamespacedHierarchicalStore.MemoizingSupplier</span></td><td><code>be04f7b805ba11e1</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.store.NamespacedHierarchicalStore.StoredValue</span></td><td><code>8e79d12821d1a835</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.EngineDiscoveryResult</span></td><td><code>44ae55d9c94cdd13</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.EngineDiscoveryResult.Status</span></td><td><code>c6f73a818e869b3a</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.LauncherDiscoveryListener</span></td><td><code>c8e17526e895636b</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.LauncherDiscoveryListener.1</span></td><td><code>8959ed22ae756aca</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.LauncherSessionListener</span></td><td><code>fd09754de5a01f16</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.LauncherSessionListener.1</span></td><td><code>44b3640faa83f474</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.TestExecutionListener</span></td><td><code>268b267f76852bf6</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.TestIdentifier</span></td><td><code>543c59738c036e7f</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.TestPlan</span></td><td><code>125780e74ba9c50c</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.CompositeEngineExecutionListener</span></td><td><code>cea0030887322419</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.CompositeTestExecutionListener</span></td><td><code>283b3c281a0728e5</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DefaultDiscoveryRequest</span></td><td><code>5706e3938a47edbc</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DefaultLauncher</span></td><td><code>0bd6690ec3f385ab</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DefaultLauncherConfig</span></td><td><code>6fbfe73d83f861ce</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DefaultLauncherSession</span></td><td><code>593c9fadcd439bc2</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DefaultLauncherSession.1</span></td><td><code>4e7ad5e44df7008e</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DefaultLauncherSession.ClosedLauncher</span></td><td><code>1fe238faa78c4ee2</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DelegatingEngineExecutionListener</span></td><td><code>98129d4f91790da1</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DelegatingLauncher</span></td><td><code>443e4e7cef8118ba</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.EngineDiscoveryOrchestrator</span></td><td><code>9260ad30b5b1dcb4</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.EngineDiscoveryOrchestrator.Phase</span></td><td><code>c5da52319ffdb6cc</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.EngineDiscoveryResultValidator</span></td><td><code>241befbef6ea2edf</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.EngineExecutionOrchestrator</span></td><td><code>61a7d44fcaf1fd6d</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.EngineFilterer</span></td><td><code>5886e10a3932fe3b</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.EngineIdValidator</span></td><td><code>a3cbf4111f4706bd</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.ExecutionListenerAdapter</span></td><td><code>027b702b863a1b7b</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.InternalTestPlan</span></td><td><code>6c1da5c749fc1754</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.IterationOrder</span></td><td><code>67fbbac106398c55</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.IterationOrder.1</span></td><td><code>c32d4c631876b3d3</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.IterationOrder.2</span></td><td><code>b3c544910702c338</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherConfig</span></td><td><code>58100dc14c875cb9</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherConfig.Builder</span></td><td><code>b0426f929eec8a53</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherConfigurationParameters</span></td><td><code>443c9d189d7662aa</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherConfigurationParameters.Builder</span></td><td><code>89b3d95a424a68ea</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherConfigurationParameters.ParameterProvider</span></td><td><code>da0ae1240b20de42</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherConfigurationParameters.ParameterProvider.2</span></td><td><code>481aeb52e3ac15c4</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherConfigurationParameters.ParameterProvider.3</span></td><td><code>2d8e65fa362495e2</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherDiscoveryRequestBuilder</span></td><td><code>9eec1c5d1eee9fa1</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherDiscoveryResult</span></td><td><code>6ba764b26de92159</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherFactory</span></td><td><code>7c870cd17431cb9d</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherListenerRegistry</span></td><td><code>64d5f2a8ac991f94</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.ListenerRegistry</span></td><td><code>387fd40f10f1e6b5</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.OutcomeDelayingEngineExecutionListener</span></td><td><code>4c68ad66a29b4dd7</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.OutcomeDelayingEngineExecutionListener.Outcome</span></td><td><code>b6ca0889820c3cca</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.ServiceLoaderRegistry</span></td><td><code>2a95faa488a889e7</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.ServiceLoaderTestEngineRegistry</span></td><td><code>69f4349cc7042ed7</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.StackTracePruningEngineExecutionListener</span></td><td><code>dbf05583a874b58d</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.StreamInterceptingTestExecutionListener</span></td><td><code>36972afd5e542435</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.listeners.UniqueIdTrackingListener</span></td><td><code>05baa08d39a86a6a</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.listeners.discovery.AbortOnFailureLauncherDiscoveryListener</span></td><td><code>ee6720edc40a9ccf</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.listeners.discovery.LauncherDiscoveryListeners</span></td><td><code>03063623efb5e8b2</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.listeners.discovery.LauncherDiscoveryListeners.LauncherDiscoveryListenerType</span></td><td><code>e18e1a0e62e22287</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.listeners.session.LauncherSessionListeners</span></td><td><code>792ecbf10e49d607</code></td></tr><tr><td><span class="el_class">org.mockito.Answers</span></td><td><code>afd86bd70185fc83</code></td></tr><tr><td><span class="el_class">org.mockito.Mock.Strictness</span></td><td><code>009145878d43835a</code></td></tr><tr><td><span class="el_class">org.mockito.Mockito</span></td><td><code>5e987adfdd19a5b2</code></td></tr><tr><td><span class="el_class">org.mockito.MockitoAnnotations</span></td><td><code>74524dc0e5acf9f0</code></td></tr><tr><td><span class="el_class">org.mockito.configuration.DefaultMockitoConfiguration</span></td><td><code>b174879ae8ed115e</code></td></tr><tr><td><span class="el_class">org.mockito.internal.MockitoCore</span></td><td><code>f49bfbc3fe5350e5</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.CaptorAnnotationProcessor</span></td><td><code>2f21a4570b50b64a</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.ClassPathLoader</span></td><td><code>173a7c62160e6dbf</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.DefaultDoNotMockEnforcer</span></td><td><code>6a7cb49285062e7d</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.DefaultInjectionEngine</span></td><td><code>5622872b1b0aa27c</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.GlobalConfiguration</span></td><td><code>0df96c19dabdcfc0</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.IndependentAnnotationEngine</span></td><td><code>54aaab1155cc41fd</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.IndependentAnnotationEngine.1</span></td><td><code>288c2838a4732b5b</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.InjectingAnnotationEngine</span></td><td><code>3402d3906098d7e2</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.MockAnnotationProcessor</span></td><td><code>f32d9954d5c65205</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.SpyAnnotationEngine</span></td><td><code>6b53375c8a8a5cc1</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.ConstructorInjection</span></td><td><code>19dcf00154169dc3</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.ConstructorInjection.SimpleArgumentResolver</span></td><td><code>80e845e136e4a645</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.MockInjection</span></td><td><code>ca48d2168eb0379e</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.MockInjection.OngoingMockInjection</span></td><td><code>7332cebf2a8af19f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.MockInjectionStrategy</span></td><td><code>c2617130af96367b</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.MockInjectionStrategy.1</span></td><td><code>452f05e1d767d35b</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.PropertyAndSetterInjection</span></td><td><code>47bbc3a0a738f758</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.SpyOnInjectedFieldsHandler</span></td><td><code>c215fb083e355a56</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.filter.NameBasedCandidateFilter</span></td><td><code>022739292a1ee0bb</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.filter.TerminalMockCandidateFilter</span></td><td><code>33c9b708ed3e7c78</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.filter.TypeBasedCandidateFilter</span></td><td><code>e42765a95b390b22</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.scanner.InjectMocksScanner</span></td><td><code>46136c11b8e2ed65</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.scanner.MockScanner</span></td><td><code>9a1662242e3f2d24</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.plugins.DefaultMockitoPlugins</span></td><td><code>f2b7ceb1ff6789f3</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.plugins.DefaultPluginSwitch</span></td><td><code>bae35df711d1f747</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.plugins.PluginFileReader</span></td><td><code>f40c61def10749c5</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.plugins.PluginFinder</span></td><td><code>bd3cbb4ee283ccc1</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.plugins.PluginInitializer</span></td><td><code>7b55758cab21a0db</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.plugins.PluginLoader</span></td><td><code>1702b486e8f8c9ad</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.plugins.PluginRegistry</span></td><td><code>edba7ea1c6a85364</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.plugins.Plugins</span></td><td><code>b0a44acc68acdddb</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.DelegatingMethod</span></td><td><code>aa9a3605cadc5938</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.MockSettingsImpl</span></td><td><code>3040d7b3b87e5329</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.SuspendMethod</span></td><td><code>5807a496dfc9c4c6</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.ByteBuddyCrossClassLoaderSerializationSupport</span></td><td><code>cc16221692a6ad40</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.BytecodeGenerator</span></td><td><code>b96181544d17b32a</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.InlineByteBuddyMockMaker</span></td><td><code>a1a0ac895421946d</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.InlineBytecodeGenerator</span></td><td><code>4d280bd4890c7bfc</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.InlineBytecodeGenerator.ParameterWritingVisitorWrapper</span></td><td><code>f687cffac707cab0</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.InlineBytecodeGenerator.ParameterWritingVisitorWrapper.MethodParameterStrippingMethodVisitor</span></td><td><code>f73bf14929b93218</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.InlineBytecodeGenerator.ParameterWritingVisitorWrapper.ParameterAddingClassVisitor</span></td><td><code>d9e075cf41f65b6b</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.InlineDelegateByteBuddyMockMaker</span></td><td><code>60d0c826d258f2c7</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.InlineDelegateByteBuddyMockMaker.1</span></td><td><code>8ed606a1d3b15b19</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.MockFeatures</span></td><td><code>3948e31575d7accd</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.MockMethodAdvice</span></td><td><code>f2359792dc3778e4</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.MockMethodAdvice.ConstructorShortcut</span></td><td><code>e37fbd5282bb870b</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.MockMethodAdvice.ConstructorShortcut.1</span></td><td><code>d0e13ff90475a1a2</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.MockMethodAdvice.RealMethodCall</span></td><td><code>c2369bb294a6357d</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.MockMethodAdvice.ReturnValueWrapper</span></td><td><code>00efacc0ab0c5045</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.MockMethodAdvice.SelfCallInfo</span></td><td><code>23361b97116d3bc6</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.MockMethodInterceptor</span></td><td><code>0cc689df0bc804c0</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.MockMethodInterceptor.DispatcherDefaultingToRealMethod</span></td><td><code>dcca41190d27ae99</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.ModuleHandler</span></td><td><code>a9609957ab4bbbbb</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.ModuleHandler.ModuleSystemFound</span></td><td><code>8d938a4ac4779d75</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.StackWalkerChecker</span></td><td><code>68e569e3f7178506</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.SubclassBytecodeGenerator</span></td><td><code>4c19068b417bbacb</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.SubclassInjectionLoader</span></td><td><code>b44aeab62a314e0f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.SubclassInjectionLoader.WithReflection</span></td><td><code>4fa50c5021fa78c0</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.TypeCachingBytecodeGenerator</span></td><td><code>9b77b7f9f15ce65b</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.TypeCachingBytecodeGenerator.MockitoMockKey</span></td><td><code>6ab1c48e921f0e50</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.TypeCachingBytecodeGenerator.TypeCachingLock</span></td><td><code>f3718822abb34b6b</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.TypeSupport</span></td><td><code>d98a4f5abd337730</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.instance.DefaultInstantiatorProvider</span></td><td><code>844386c7887007f1</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.instance.ObjenesisInstantiator</span></td><td><code>7a7c1771759c8b2f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.settings.CreationSettings</span></td><td><code>1d27e65e4db303b9</code></td></tr><tr><td><span class="el_class">org.mockito.internal.debugging.LocationFactory</span></td><td><code>20c7d5b8c58d83b6</code></td></tr><tr><td><span class="el_class">org.mockito.internal.debugging.LocationFactory.DefaultLocationFactory</span></td><td><code>f8e464fb84825981</code></td></tr><tr><td><span class="el_class">org.mockito.internal.debugging.LocationImpl</span></td><td><code>530a4709e6947f60</code></td></tr><tr><td><span class="el_class">org.mockito.internal.debugging.LocationImpl.MetadataShim</span></td><td><code>e0e02617575176a4</code></td></tr><tr><td><span class="el_class">org.mockito.internal.exceptions.stacktrace.DefaultStackTraceCleaner</span></td><td><code>ccefdaf75b25508d</code></td></tr><tr><td><span class="el_class">org.mockito.internal.exceptions.stacktrace.DefaultStackTraceCleanerProvider</span></td><td><code>b96ca03f68c6b0bc</code></td></tr><tr><td><span class="el_class">org.mockito.internal.framework.DefaultMockitoFramework</span></td><td><code>9ff7a406a63b11b2</code></td></tr><tr><td><span class="el_class">org.mockito.internal.framework.DefaultMockitoSession</span></td><td><code>b769df66d2932b43</code></td></tr><tr><td><span class="el_class">org.mockito.internal.framework.DefaultMockitoSession.1</span></td><td><code>6d40a180fd180112</code></td></tr><tr><td><span class="el_class">org.mockito.internal.handler.InvocationNotifierHandler</span></td><td><code>81a88d2a9823ca2e</code></td></tr><tr><td><span class="el_class">org.mockito.internal.handler.MockHandlerFactory</span></td><td><code>60aaf611c9f037ba</code></td></tr><tr><td><span class="el_class">org.mockito.internal.handler.MockHandlerImpl</span></td><td><code>40af730c41726d19</code></td></tr><tr><td><span class="el_class">org.mockito.internal.handler.NullResultGuardian</span></td><td><code>887855f598dc7f26</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.ArgumentsProcessor</span></td><td><code>48a63d334fbe1568</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.DefaultInvocationFactory</span></td><td><code>fd7a2f1ca0abf244</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.InterceptedInvocation</span></td><td><code>2bc1759562590122</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.InterceptedInvocation.1</span></td><td><code>a808ee7e12b0c370</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.InvocationComparator</span></td><td><code>961ab6368446cd9c</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.InvocationMatcher</span></td><td><code>a60a277cde788c00</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.InvocationMatcher.1</span></td><td><code>d5c4b96c4388ebd1</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.MatcherApplicationStrategy</span></td><td><code>c26110ae251954b2</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.MatchersBinder</span></td><td><code>7855054a8c7718ee</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.RealMethod.IsIllegal</span></td><td><code>64f3caff97edef01</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.StubInfoImpl</span></td><td><code>9766984c92e9959b</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.TypeSafeMatching</span></td><td><code>db8fac8befb40512</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.finder.AllInvocationsFinder</span></td><td><code>a80f90b774f88fc5</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.mockref.MockWeakReference</span></td><td><code>1fbf38ee01ef223b</code></td></tr><tr><td><span class="el_class">org.mockito.internal.junit.DefaultStubbingLookupListener</span></td><td><code>13dcfa4167b96780</code></td></tr><tr><td><span class="el_class">org.mockito.internal.junit.UniversalTestListener</span></td><td><code>b0cc5166693438a8</code></td></tr><tr><td><span class="el_class">org.mockito.internal.junit.UniversalTestListener.1</span></td><td><code>c4d90e297ae82cc7</code></td></tr><tr><td><span class="el_class">org.mockito.internal.junit.UnusedStubbings</span></td><td><code>b53675bd52d6172d</code></td></tr><tr><td><span class="el_class">org.mockito.internal.junit.UnusedStubbingsFinder</span></td><td><code>675da25e30c00788</code></td></tr><tr><td><span class="el_class">org.mockito.internal.listeners.StubbingLookupNotifier</span></td><td><code>6f87fdb14780b091</code></td></tr><tr><td><span class="el_class">org.mockito.internal.listeners.StubbingLookupNotifier.Event</span></td><td><code>f6cc7c2930ac8f03</code></td></tr><tr><td><span class="el_class">org.mockito.internal.matchers.Equality</span></td><td><code>341b019eaeb85d40</code></td></tr><tr><td><span class="el_class">org.mockito.internal.matchers.Equals</span></td><td><code>84c89c09d537ae1d</code></td></tr><tr><td><span class="el_class">org.mockito.internal.progress.ArgumentMatcherStorageImpl</span></td><td><code>bd022035831d5c7c</code></td></tr><tr><td><span class="el_class">org.mockito.internal.progress.MockingProgressImpl</span></td><td><code>b4b478523e99786f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.progress.MockingProgressImpl.1</span></td><td><code>9f7db825fdcdf194</code></td></tr><tr><td><span class="el_class">org.mockito.internal.progress.SequenceNumber</span></td><td><code>a68ee1dd45f51b97</code></td></tr><tr><td><span class="el_class">org.mockito.internal.progress.ThreadSafeMockingProgress</span></td><td><code>452aa6e38ddff43e</code></td></tr><tr><td><span class="el_class">org.mockito.internal.progress.ThreadSafeMockingProgress.1</span></td><td><code>79ae9726492f0c4f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.session.DefaultMockitoSessionBuilder</span></td><td><code>b96a72121a8d44b7</code></td></tr><tr><td><span class="el_class">org.mockito.internal.session.MockitoLoggerAdapter</span></td><td><code>493d0e9955f91a80</code></td></tr><tr><td><span class="el_class">org.mockito.internal.session.MockitoSessionLoggerAdapter</span></td><td><code>f55620e96a8de521</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.BaseStubbing</span></td><td><code>7fb9abb0c3eadb7f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.ConsecutiveStubbing</span></td><td><code>557234368bf5ca41</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.DefaultLenientStubber</span></td><td><code>eb65121929ef8fcc</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.DoAnswerStyleStubbing</span></td><td><code>6e7ca0308caa0784</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.InvocationContainerImpl</span></td><td><code>67208a7429ee203f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.OngoingStubbingImpl</span></td><td><code>747b28f7f0499aba</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.StrictnessSelector</span></td><td><code>00cb65fb01fdc580</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.StubbedInvocationMatcher</span></td><td><code>73693c29dbd5f1d4</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.StubbingComparator</span></td><td><code>8d9934f6f6956410</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.UnusedStubbingReporting</span></td><td><code>076cd36a765c131f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.answers.CallsRealMethods</span></td><td><code>e57edbc68b0e39e6</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.answers.DefaultAnswerValidator</span></td><td><code>bc157688cbf26d9c</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.answers.InvocationInfo</span></td><td><code>35c4a7d4431e2604</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.answers.Returns</span></td><td><code>419d0de7c8cd9ec2</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.defaultanswers.GloballyConfiguredAnswer</span></td><td><code>b4af5d0cc4127c43</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.defaultanswers.ReturnsDeepStubs</span></td><td><code>9290a19f5dbdf1b2</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.defaultanswers.ReturnsEmptyValues</span></td><td><code>d6ed669583d1bf96</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.defaultanswers.ReturnsMocks</span></td><td><code>99d9220ab6ee9e86</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.defaultanswers.ReturnsMoreEmptyValues</span></td><td><code>708bd411a28382b5</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.defaultanswers.ReturnsSmartNulls</span></td><td><code>f434f2f732e6e80e</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.defaultanswers.TriesToReturnSelf</span></td><td><code>13e6f22c3923267d</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.Checks</span></td><td><code>693b7ec3dc9db88a</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.ConsoleMockitoLogger</span></td><td><code>8eb43018d32cf683</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.DefaultMockingDetails</span></td><td><code>445b7a7104a677ce</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.KotlinInlineClassUtil</span></td><td><code>8f2e65801baf9ad5</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.MockCreationValidator</span></td><td><code>83a10f2760252cf3</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.MockNameImpl</span></td><td><code>009cd5fc276ed0dd</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.MockUtil</span></td><td><code>8cedd1d6aa623c6c</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.ObjectMethodsGuru</span></td><td><code>e958146f93547352</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.Primitives</span></td><td><code>6b6a08aaf147839f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.StringUtil</span></td><td><code>0a51b9987b23cb8a</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.collections.HashCodeAndEqualsMockWrapper</span></td><td><code>93f7437facb707c5</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.collections.HashCodeAndEqualsSafeSet</span></td><td><code>737466b57a8efbc9</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.collections.HashCodeAndEqualsSafeSet.1</span></td><td><code>42fcd15141d4c88d</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.collections.Iterables</span></td><td><code>f7eb3a38de601237</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.collections.Sets</span></td><td><code>31c2cf4c7d79f16e</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.concurrent.DetachedThreadLocal</span></td><td><code>24c845c0cee0c23b</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.concurrent.DetachedThreadLocal.1</span></td><td><code>defaf890898faa64</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.concurrent.DetachedThreadLocal.Cleaner</span></td><td><code>fe82f09eda153c82</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.concurrent.WeakConcurrentMap</span></td><td><code>317df0cbe9bf65e4</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.concurrent.WeakConcurrentMap.LatentKey</span></td><td><code>49d0008ff01c2270</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.concurrent.WeakConcurrentMap.WeakKey</span></td><td><code>c9b8ab481aee9c32</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.concurrent.WeakConcurrentMap.WithInlinedExpunction</span></td><td><code>2900bb8f66594337</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.concurrent.WeakConcurrentSet</span></td><td><code>01665a2956990716</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.concurrent.WeakConcurrentSet.Cleaner</span></td><td><code>8e47207f365780a7</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.io.IOUtil</span></td><td><code>85aaa73b6a20c3ce</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.reflection.FieldInitializationReport</span></td><td><code>afb34a6be447d8bd</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.reflection.FieldInitializer</span></td><td><code>5664ed6e482410e9</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.reflection.FieldInitializer.ParameterizedConstructorInstantiator</span></td><td><code>41b0a2436abbee69</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.reflection.FieldInitializer.ParameterizedConstructorInstantiator.1</span></td><td><code>4c9971e1a5fee49f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.reflection.FieldReader</span></td><td><code>2d76f64107151601</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.reflection.GenericMetadataSupport</span></td><td><code>fa7ecde5970c0e5d</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.reflection.GenericMetadataSupport.FromClassGenericMetadataSupport</span></td><td><code>99c88b2ac93b8f3f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.reflection.GenericMetadataSupport.NotGenericReturnTypeSupport</span></td><td><code>8c611ef213f94120</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.reflection.GenericMetadataSupport.ParameterizedReturnType</span></td><td><code>25e3bc9dabf2fa9d</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.reflection.InstrumentationMemberAccessor</span></td><td><code>9e6d6acd35084d39</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.reflection.ModuleMemberAccessor</span></td><td><code>df6459cdb157634f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.verification.DefaultRegisteredInvocations</span></td><td><code>48184ff2108397ec</code></td></tr><tr><td><span class="el_class">org.mockito.junit.jupiter.MockitoExtension</span></td><td><code>15127f132851319e</code></td></tr><tr><td><span class="el_class">org.mockito.junit.jupiter.resolver.CaptorParameterResolver</span></td><td><code>2e8866c6a5127d6f</code></td></tr><tr><td><span class="el_class">org.mockito.junit.jupiter.resolver.CompositeParameterResolver</span></td><td><code>c7a126226052e288</code></td></tr><tr><td><span class="el_class">org.mockito.junit.jupiter.resolver.MockParameterResolver</span></td><td><code>2a46311d1d569871</code></td></tr><tr><td><span class="el_class">org.mockito.mock.MockType</span></td><td><code>0b5105452bbd0790</code></td></tr><tr><td><span class="el_class">org.mockito.mock.SerializableMode</span></td><td><code>d8db118920e53367</code></td></tr><tr><td><span class="el_class">org.mockito.plugins.AnnotationEngine.NoAction</span></td><td><code>cccb6d6b2cd49244</code></td></tr><tr><td><span class="el_class">org.mockito.plugins.DoNotMockEnforcer</span></td><td><code>d84a80636a3b2091</code></td></tr><tr><td><span class="el_class">org.mockito.plugins.DoNotMockEnforcer.Cache</span></td><td><code>7ad724250d9a8fd2</code></td></tr><tr><td><span class="el_class">org.mockito.quality.Strictness</span></td><td><code>fd006704ba980aef</code></td></tr><tr><td><span class="el_class">org.objenesis.ObjenesisBase</span></td><td><code>0c1d2fd83029257f</code></td></tr><tr><td><span class="el_class">org.objenesis.ObjenesisStd</span></td><td><code>f35c83a75caea811</code></td></tr><tr><td><span class="el_class">org.objenesis.strategy.BaseInstantiatorStrategy</span></td><td><code>b0aaa6460452f5ce</code></td></tr><tr><td><span class="el_class">org.objenesis.strategy.StdInstantiatorStrategy</span></td><td><code>abae05ba56ea35a6</code></td></tr><tr><td><span class="el_class">org.slf4j.LoggerFactory</span></td><td><code>a381b7ddf19bf47d</code></td></tr><tr><td><span class="el_class">org.slf4j.bridge.SLF4JBridgeHandler</span></td><td><code>a24ab9068b3f1049</code></td></tr><tr><td><span class="el_class">org.slf4j.helpers.NOPLoggerFactory</span></td><td><code>54f5632bfcb8d8d5</code></td></tr><tr><td><span class="el_class">org.slf4j.helpers.SubstituteLoggerFactory</span></td><td><code>dc7efc0107a4a62d</code></td></tr><tr><td><span class="el_class">org.slf4j.helpers.Util</span></td><td><code>857ff3acc0576435</code></td></tr><tr><td><span class="el_class">org.slf4j.impl.StaticLoggerBinder</span></td><td><code>6822bf7129d487fa</code></td></tr><tr><td><span class="el_class">org.springframework.aop.support.AopUtils</span></td><td><code>54db49eee568bbd6</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.mock.mockito.SpringBootMockResolver</span></td><td><code>e7844a493ab8f94c</code></td></tr><tr><td><span class="el_class">org.springframework.transaction.annotation.Isolation</span></td><td><code>37b131a74452c371</code></td></tr><tr><td><span class="el_class">org.springframework.transaction.annotation.Propagation</span></td><td><code>98d9856e50d13361</code></td></tr><tr><td><span class="el_class">org.springframework.util.Assert</span></td><td><code>fff12e6566010a09</code></td></tr><tr><td><span class="el_class">org.springframework.util.ClassUtils</span></td><td><code>e27c2a38ca92de9c</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrentReferenceHashMap</span></td><td><code>722cd58749bce5da</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrentReferenceHashMap.ReferenceManager</span></td><td><code>35eb6b9c1f2eedb5</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrentReferenceHashMap.ReferenceType</span></td><td><code>5b823be241865c2f</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrentReferenceHashMap.Segment</span></td><td><code>5daee5d71f2a6fe2</code></td></tr><tr><td><span class="el_class">sun.text.resources.cldr.ext.FormatData_ko</span></td><td><code>baf0b0c5ab453b12</code></td></tr><tr><td><span class="el_class">sun.util.resources.cldr.provider.CLDRLocaleDataMetaInfo</span></td><td><code>9ed83010eeaa402e</code></td></tr><tr><td><span class="el_class">sun.util.resources.provider.LocaleDataProvider</span></td><td><code>090384bcacb31f21</code></td></tr><tr><td><span class="el_class">worker.org.gradle.api.JavaVersion</span></td><td><code>b1ecdf7e3318cb73</code></td></tr><tr><td><span class="el_class">worker.org.gradle.api.internal.jvm.JavaVersionParser</span></td><td><code>1206b4dd1a2e9827</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.classloader.ClassLoaderSpec</span></td><td><code>cb374b01ccbebc0b</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.classloader.ClassLoaderUtils</span></td><td><code>8203100709821636</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.classloader.ClassLoaderUtils.AbstractClassLoaderLookuper</span></td><td><code>c285dc94ede87ba6</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.classloader.ClassLoaderUtils.Java9PackagesFetcher</span></td><td><code>66503273ab6df058</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.classloader.ClassLoaderUtils.LookupClassDefiner</span></td><td><code>101fed03f270a39f</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.classloader.FilteringClassLoader</span></td><td><code>685f3dec8c07e429</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.classloader.FilteringClassLoader.RetrieveSystemPackagesClassLoader</span></td><td><code>f37f538880fb8032</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.classloader.FilteringClassLoader.Spec</span></td><td><code>66254ecaab39094b</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.classloader.FilteringClassLoader.TrieSet</span></td><td><code>9ca6d89930a3c026</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.stream.EncodedStream.EncodedInput</span></td><td><code>6e5f5782b741154c</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.util.Trie</span></td><td><code>19fbee069a29feb3</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.util.Trie.Builder</span></td><td><code>3ff89b3303eddda1</code></td></tr><tr><td><span class="el_class">worker.org.gradle.process.internal.worker.GradleWorkerMain</span></td><td><code>232767ef46e8d7ca</code></td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    
    From a91af234678aa9e1d4c9123c9be4f7bd8c556276 Mon Sep 17 00:00:00 2001
    From: hyeokson <chanhuk1765@gmail.com>
    Date: Thu, 22 Aug 2024 14:21:28 +0900
    Subject: [PATCH 06/36] =?UTF-8?q?feat:=20EventLockException=20=EC=B2=98?=
     =?UTF-8?q?=EB=A6=AC=20=EB=A9=94=EC=84=9C=EB=93=9C=20=EA=B5=AC=ED=98=84?=
    MIME-Version: 1.0
    Content-Type: text/plain; charset=UTF-8
    Content-Transfer-Encoding: 8bit
    
    ---
     .../common/exception/ExceptionAdvice.java     | 77 +++++++++++++++++--
     1 file changed, 69 insertions(+), 8 deletions(-)
    
    diff --git a/src/main/java/com/softeer/backend/global/common/exception/ExceptionAdvice.java b/src/main/java/com/softeer/backend/global/common/exception/ExceptionAdvice.java
    index 57d1f581..f25258d7 100644
    --- a/src/main/java/com/softeer/backend/global/common/exception/ExceptionAdvice.java
    +++ b/src/main/java/com/softeer/backend/global/common/exception/ExceptionAdvice.java
    @@ -1,8 +1,14 @@
     package com.softeer.backend.global.common.exception;
     
    +import com.softeer.backend.fo_domain.fcfs.dto.result.FcfsFailResult;
    +import com.softeer.backend.fo_domain.fcfs.dto.result.FcfsResultResponseDto;
    +import com.softeer.backend.fo_domain.fcfs.exception.FcfsException;
     import com.softeer.backend.global.common.code.status.ErrorStatus;
     import com.softeer.backend.global.common.response.ResponseDto;
    +import com.softeer.backend.global.staticresources.constant.StaticTextName;
    +import com.softeer.backend.global.staticresources.util.StaticResourceUtil;
     import jakarta.validation.ConstraintViolationException;
    +import lombok.RequiredArgsConstructor;
     import lombok.extern.slf4j.Slf4j;
     import org.springframework.dao.DataAccessException;
     import org.springframework.http.HttpHeaders;
    @@ -13,7 +19,6 @@
     import org.springframework.web.bind.annotation.ExceptionHandler;
     import org.springframework.web.bind.annotation.RestControllerAdvice;
     import org.springframework.web.context.request.WebRequest;
    -import org.springframework.web.servlet.ModelAndView;
     import org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExceptionHandler;
     
     import java.util.*;
    @@ -24,8 +29,11 @@
      */
     @Slf4j
     @RestControllerAdvice
    +@RequiredArgsConstructor
     public class ExceptionAdvice extends ResponseEntityExceptionHandler {
     
    +    private final StaticResourceUtil staticResourceUtil;
    +
         /**
          * GeneralException을 처리하는 메서드
          *
    @@ -39,11 +47,22 @@ public ResponseEntity<Object> handleGeneralException(GeneralException generalExc
             return handleGeneralExceptionInternal(generalException, errorReasonHttpStatus, HttpHeaders.EMPTY, webRequest);
         }
     
    +    /**
    +     * 분산락 예외를 처리하는 메서드
    +     */
         @ExceptionHandler
    -    public ModelAndView handleEventLockException(EventLockException eventLockException, WebRequest webRequest) {
    +    public ResponseEntity<Object> handleEventLockException(EventLockException eventLockException, WebRequest webRequest) {
             return handleEventLockExceptionInternal(eventLockException, HttpHeaders.EMPTY, webRequest);
         }
     
    +    /**
    +     * 선착순 예외를 처리하는 메서드
    +     */
    +    @ExceptionHandler
    +    public ResponseEntity<Object> handleFcfsException(FcfsException FcfsException, WebRequest webRequest) {
    +        return handleFcfsExceptionInternal(FcfsException, HttpHeaders.EMPTY, webRequest);
    +    }
    +
         /**
          * ConstraintViolationException을 처리하는 메서드
          *
    @@ -130,24 +149,66 @@ private ResponseEntity<Object> handleGeneralExceptionInternal(Exception e, Respo
         }
     
         // EventLockException에 대한 client 응답 객체를 생성하는 메서드
    -    private ModelAndView handleEventLockExceptionInternal(EventLockException e, HttpHeaders headers, WebRequest webRequest) {
    +    private ResponseEntity<Object> handleEventLockExceptionInternal(EventLockException e, HttpHeaders headers, WebRequest webRequest) {
    +        Map<String, String> textContentMap = staticResourceUtil.getTextContentMap();
     
             log.error("EventLockException captured in ExceptionAdvice", e);
     
             String redissonKeyName = e.getRedissonKeyName();
     
    -        ModelAndView modelAndView = new ModelAndView();
    +        ResponseDto<Object> body = null;
     
             if (redissonKeyName.contains("FCFS")) {
    -
    -            modelAndView.setViewName("redirect:/fcfs/result");
    -            modelAndView.addObject("fcfsWin", false);
    +            body = ResponseDto.onSuccess(FcfsResultResponseDto.builder()
    +                    .fcfsWinner(false)
    +                    .fcfsResult(FcfsFailResult.builder()
    +                            .title(textContentMap.get(StaticTextName.FCFS_LOSER_TITLE.name()))
    +                            .subTitle(textContentMap.get(StaticTextName.FCFS_LOSER_SUBTITLE.name()))
    +                            .caution(textContentMap.get(StaticTextName.FCFS_LOSER_CAUTION.name()))
    +                            .build())
    +                    .build());
             }
     
    +
             //TODO
             // DRAW 관련 예외일 경우, body 구성하는 코드 필요
     
    -        return modelAndView;
    +        return super.handleExceptionInternal(
    +                e,
    +                body,
    +                headers,
    +                HttpStatus.OK,
    +                webRequest
    +        );
    +    }
    +
    +    // FcfsException 대한 client 응답 객체를 생성하는 메서드
    +    private ResponseEntity<Object> handleFcfsExceptionInternal(FcfsException e, HttpHeaders headers, WebRequest webRequest) {
    +        Map<String, String> textContentMap = staticResourceUtil.getTextContentMap();
    +
    +        ResponseDto<Object> body = null;
    +
    +        if (e.getCode() == ErrorStatus._FCFS_ALREADY_CLOSED) {
    +            body = ResponseDto.onSuccess(FcfsResultResponseDto.builder()
    +                            .fcfsWinner(false)
    +                            .fcfsResult(FcfsFailResult.builder()
    +                                    .title(textContentMap.get(StaticTextName.FCFS_CLOSED_TITLE.name()))
    +                                    .subTitle(textContentMap.get(StaticTextName.FCFS_CLOSED_SUBTITLE.name()))
    +                                    .caution(textContentMap.get(StaticTextName.FCFS_LOSER_CAUTION.name()))
    +                                    .build())
    +                            .build());
    +        } else {
    +            body = ResponseDto.onFailure(e.getCode());
    +        }
    +
    +
    +        return super.handleExceptionInternal(
    +                e,
    +                body,
    +                headers,
    +                HttpStatus.OK,
    +                webRequest
    +        );
         }
     
         // ConstraintViolationException에 대한 client 응답 객체를 생성하는 메서드
    
    From b60a15bde1e82f0d3f0052cd39b8ae6c5d8afbdb Mon Sep 17 00:00:00 2001
    From: hyeokson <chanhuk1765@gmail.com>
    Date: Thu, 22 Aug 2024 14:21:40 +0900
    Subject: [PATCH 07/36] =?UTF-8?q?fix:=20url=20=EB=B3=80=EA=B2=BD?=
    MIME-Version: 1.0
    Content-Type: text/plain; charset=UTF-8
    Content-Transfer-Encoding: 8bit
    
    ---
     .../backend/fo_domain/fcfs/controller/FcfsController.java       | 2 +-
     1 file changed, 1 insertion(+), 1 deletion(-)
    
    diff --git a/src/main/java/com/softeer/backend/fo_domain/fcfs/controller/FcfsController.java b/src/main/java/com/softeer/backend/fo_domain/fcfs/controller/FcfsController.java
    index 32017ea3..c6d8e4dc 100644
    --- a/src/main/java/com/softeer/backend/fo_domain/fcfs/controller/FcfsController.java
    +++ b/src/main/java/com/softeer/backend/fo_domain/fcfs/controller/FcfsController.java
    @@ -62,7 +62,7 @@ public ResponseDto<FcfsResultResponseDto> handleFcfs(@Parameter(hidden = true) H
             return ResponseDto.onSuccess(fcfsResultResponseDto);
         }
     
    -    @GetMapping("/fcfs/history")
    +    @GetMapping("/history")
         public ResponseDto<FcfsHistoryResponseDto> getFcfsHistory(@Parameter(hidden = true) @AuthInfo Integer userId){
     
             FcfsHistoryResponseDto fcfsHistoryResponseDto = fcfsService.getFcfsHistory(userId);
    
    From 1d3d5011b18288f71f911e667d49adb979ca3e09 Mon Sep 17 00:00:00 2001
    From: hyeokson <chanhuk1765@gmail.com>
    Date: Thu, 22 Aug 2024 14:21:52 +0900
    Subject: [PATCH 08/36] =?UTF-8?q?refactor:=20=EB=B3=80=EC=88=98=EB=AA=85?=
     =?UTF-8?q?=20=EB=B3=80=EA=B2=BD?=
    MIME-Version: 1.0
    Content-Type: text/plain; charset=UTF-8
    Content-Transfer-Encoding: 8bit
    
    ---
     .../fo_domain/fcfs/dto/result/FcfsResultResponseDto.java        | 2 +-
     1 file changed, 1 insertion(+), 1 deletion(-)
    
    diff --git a/src/main/java/com/softeer/backend/fo_domain/fcfs/dto/result/FcfsResultResponseDto.java b/src/main/java/com/softeer/backend/fo_domain/fcfs/dto/result/FcfsResultResponseDto.java
    index eb924e5e..82d33409 100644
    --- a/src/main/java/com/softeer/backend/fo_domain/fcfs/dto/result/FcfsResultResponseDto.java
    +++ b/src/main/java/com/softeer/backend/fo_domain/fcfs/dto/result/FcfsResultResponseDto.java
    @@ -13,7 +13,7 @@
     public class FcfsResultResponseDto {
     
         @JsonProperty("isFcfsWinner")
    -    private boolean isFcfsWinner;
    +    private boolean fcfsWinner;
     
         private FcfsResult fcfsResult;
     }
    
    From 042e2f02385dec299be941dde4a191dfdf010acc Mon Sep 17 00:00:00 2001
    From: hyeokson <chanhuk1765@gmail.com>
    Date: Thu, 22 Aug 2024 14:22:12 +0900
    Subject: [PATCH 09/36] =?UTF-8?q?feat:=20=EC=A4=91=EB=B3=B5=20=EC=9D=91?=
     =?UTF-8?q?=EB=AA=A8=EC=97=90=20=EB=8C=80=ED=95=9C=20=EC=B2=98=EB=A6=AC=20?=
     =?UTF-8?q?=EA=B5=AC=ED=98=84?=
    MIME-Version: 1.0
    Content-Type: text/plain; charset=UTF-8
    Content-Transfer-Encoding: 8bit
    
    ---
     .../fo_domain/fcfs/service/FcfsService.java   | 65 +++++++++++--------
     1 file changed, 37 insertions(+), 28 deletions(-)
    
    diff --git a/src/main/java/com/softeer/backend/fo_domain/fcfs/service/FcfsService.java b/src/main/java/com/softeer/backend/fo_domain/fcfs/service/FcfsService.java
    index 6384f53b..c11f228d 100644
    --- a/src/main/java/com/softeer/backend/fo_domain/fcfs/service/FcfsService.java
    +++ b/src/main/java/com/softeer/backend/fo_domain/fcfs/service/FcfsService.java
    @@ -108,7 +108,7 @@ public FcfsResultResponseDto handleFcfsEvent(int userId, int round, FcfsRequestD
             if (fcfsSettingManager.isFcfsClosed()) {
                 countFcfsParticipant(round);
     
    -            return getFcfsResult(false, null);
    +            return getFcfsResult(false, false, null);
             }
     
             // 선착순 등록을 처리하는 메서드 호출
    @@ -156,10 +156,14 @@ public FcfsResultResponseDto saveFcfsWinners(int userId, int round) {
                     fcfsSettingManager.setFcfsClosed(true);
                 }
     
    -            return getFcfsResult(true, code);
    +            return getFcfsResult(true, false, code);
             }
    +        else if(numOfWinners < fcfsSettingManager.getFcfsWinnerNum()
    +            && fcfsRedisUtil.isValueInIntegerSet(RedisKeyPrefix.FCFS_USERID_PREFIX.getPrefix() + round, userId))
    +            return getFcfsResult(false, true, null);
     
    -        return getFcfsResult(false, null);
    +
    +        return getFcfsResult(false, false, null);
     
         }
     
    @@ -182,31 +186,26 @@ private void countFcfsParticipant(int round) {
         /**
          * 선착순 결과 모달 응답 Dto를 만들어서 반환하는 메서드
          */
    -    public FcfsResultResponseDto getFcfsResult(boolean fcfsWin, String fcfsCode) {
    -
    -        Map<String, String> textContentMap = staticResourceUtil.getTextContentMap();
    -        Map<String, String> s3ContentMap = staticResourceUtil.getS3ContentMap();
    +    public FcfsResultResponseDto getFcfsResult(boolean fcfsWin, boolean isDuplicated, String fcfsCode) {
     
             FcfsSettingDto firstFcfsSetting = fcfsSettingManager.getFcfsSettingByRound(1);
     
             FcfsService fcfsService = fcfsServiceProvider.getObject();
     
             if (fcfsWin) {
    -            FcfsSuccessResult fcfsSuccessResult = fcfsService.getFcfsSuccessResult(
    -                    textContentMap, s3ContentMap, firstFcfsSetting
    -            );
    +            FcfsSuccessResult fcfsSuccessResult = fcfsService.getFcfsSuccessResult(firstFcfsSetting);
                 fcfsSuccessResult.setFcfsCode(fcfsCode);
     
                 return FcfsResultResponseDto.builder()
    -                    .isFcfsWinner(fcfsWin)
    +                    .fcfsWinner(fcfsWin)
                         .fcfsResult(fcfsSuccessResult)
                         .build();
             }
     
    -        FcfsFailResult fcfsFailResult = fcfsService.getFcfsFailResult(textContentMap);
    +        FcfsFailResult fcfsFailResult = fcfsService.getFcfsFailResult(isDuplicated);
     
             return FcfsResultResponseDto.builder()
    -                .isFcfsWinner(fcfsWin)
    +                .fcfsWinner(fcfsWin)
                     .fcfsResult(fcfsFailResult)
                     .build();
         }
    @@ -215,8 +214,10 @@ public FcfsResultResponseDto getFcfsResult(boolean fcfsWin, String fcfsCode) {
          * 선착순 당첨 모달 정보 중, 정적 정보를 반환하는 메서드
          */
         @Cacheable(value = "staticResources", key = "'fcfsSuccess'")
    -    public FcfsSuccessResult getFcfsSuccessResult(Map<String, String> textContentMap, Map<String, String> s3ContentMap,
    -                                                  FcfsSettingDto firstFcfsSetting) {
    +    public FcfsSuccessResult getFcfsSuccessResult(FcfsSettingDto firstFcfsSetting) {
    +
    +        Map<String, String> textContentMap = staticResourceUtil.getTextContentMap();
    +        Map<String, String> s3ContentMap = staticResourceUtil.getS3ContentMap();
     
             return FcfsSuccessResult.builder()
                     .title(staticResourceUtil.format(textContentMap.get(StaticTextName.FCFS_WINNER_TITLE.name()),
    @@ -235,9 +236,17 @@ public FcfsSuccessResult getFcfsSuccessResult(Map<String, String> textContentMap
         /**
          * 선착순 실패 모달 정보 중, 정적 정보를 반환하는 메서드
          */
    -    @Cacheable(value = "staticResources", key = "'fcfsFail'")
    -    public FcfsFailResult getFcfsFailResult(Map<String, String> textContentMap) {
    +    @Cacheable(value = "staticResources", key = "'fcfsFail_' + #isDuplicated")
    +    public FcfsFailResult getFcfsFailResult(boolean isDuplicated) {
    +        Map<String, String> textContentMap = staticResourceUtil.getTextContentMap();
     
    +        if(isDuplicated){
    +            return FcfsFailResult.builder()
    +                    .title(textContentMap.get(StaticTextName.FCFS_DUPLICATED_TITLE.name()))
    +                    .subTitle(textContentMap.get(StaticTextName.FCFS_DUPLICATED_SUBTITLE.name()))
    +                    .caution(textContentMap.get(StaticTextName.FCFS_LOSER_CAUTION.name()))
    +                    .build();
    +        }
             return FcfsFailResult.builder()
                     .title(textContentMap.get(StaticTextName.FCFS_LOSER_TITLE.name()))
                     .subTitle(textContentMap.get(StaticTextName.FCFS_LOSER_SUBTITLE.name()))
    @@ -250,11 +259,21 @@ public FcfsFailResult getFcfsFailResult(Map<String, String> textContentMap) {
          */
         public FcfsHistoryResponseDto getFcfsHistory(int userId){
             fcfsRepository.findByUserIdOrderByWinningDateAsc(userId);
    -        List<FcfsHistoryResponseDto.FcfsHistory> fcfsHistoryList = new ArrayList<>();
     
             Map<String, String> s3ContentMap = staticResourceUtil.getS3ContentMap();
     
             LocalDate now = LocalDate.now();
    +
    +        List<Fcfs> fcfsList = fcfsRepository.findByUserIdOrderByWinningDateAsc(userId);
    +        List<FcfsHistoryResponseDto.FcfsHistory> fcfsHistoryList = new ArrayList<>(fcfsList.stream()
    +                .map((fcfs) ->
    +                        FcfsHistoryResponseDto.FcfsHistory.builder()
    +                                .barcode(s3ContentMap.get(S3FileName.BARCODE_IMAGE.name()))
    +                                .fcfsCode(fcfs.getCode())
    +                                .winningDate(fcfs.getWinningDate())
    +                                .build()
    +                ).toList());
    +
             Integer round = fcfsSettingManager.getFcfsRoundForHistory(now);
             if(round == null)
                 round = fcfsSettingManager.getFcfsRoundForHistory(now.minusDays(1));
    @@ -277,16 +296,6 @@ public FcfsHistoryResponseDto getFcfsHistory(int userId){
                 }
             }
     
    -        List<Fcfs> fcfsList = fcfsRepository.findByUserIdOrderByWinningDateAsc(userId);
    -        fcfsHistoryList.addAll(fcfsList.stream()
    -                .map((fcfs) ->
    -                    FcfsHistoryResponseDto.FcfsHistory.builder()
    -                            .barcode(s3ContentMap.get(S3FileName.BARCODE_IMAGE.name()))
    -                            .fcfsCode(fcfs.getCode())
    -                            .winningDate(fcfs.getWinningDate())
    -                            .build()
    -                ).toList());
    -
             return FcfsHistoryResponseDto.builder()
                     .isFcfsWin(!fcfsHistoryList.isEmpty())
                     .fcfsHistoryList(fcfsHistoryList)
    
    From 17c55fbf60aad5efd9b3d0d950dad15df2c08413 Mon Sep 17 00:00:00 2001
    From: hyeokson <chanhuk1765@gmail.com>
    Date: Thu, 22 Aug 2024 14:22:27 +0900
    Subject: [PATCH 10/36] =?UTF-8?q?fix:=20=EB=B3=80=EC=88=98=20=EB=B0=94?=
     =?UTF-8?q?=EC=9D=B8=EB=94=A9=20=EC=88=98=EC=A0=95?=
    MIME-Version: 1.0
    Content-Type: text/plain; charset=UTF-8
    Content-Transfer-Encoding: 8bit
    
    ---
     .../fo_domain/fcfs/service/FcfsServiceTest.java      | 12 ++++--------
     1 file changed, 4 insertions(+), 8 deletions(-)
    
    diff --git a/src/test/java/com/softeer/backend/fo_domain/fcfs/service/FcfsServiceTest.java b/src/test/java/com/softeer/backend/fo_domain/fcfs/service/FcfsServiceTest.java
    index d5b9f012..04e69d97 100644
    --- a/src/test/java/com/softeer/backend/fo_domain/fcfs/service/FcfsServiceTest.java
    +++ b/src/test/java/com/softeer/backend/fo_domain/fcfs/service/FcfsServiceTest.java
    @@ -125,7 +125,7 @@ void testHandleFcfsEvent_Success() {
             when(fcfsSettingManager.isFcfsClosed()).thenReturn(false);
     
             FcfsResultResponseDto successResponse = FcfsResultResponseDto.builder()
    -                .isFcfsWinner(true)
    +                .fcfsWinner(true)
                     .build();
             when(mockFcfsService.saveFcfsWinners(userId, round)).thenReturn(successResponse);
     
    @@ -178,8 +178,6 @@ void testSaveFcfsWinners_Success() {
             when(randomCodeUtil.generateRandomCode(5)).thenReturn("ABCDE");
             when(fcfsServiceProvider.getObject()).thenReturn(mockFcfsService);
     
    -        when(staticResourceUtil.getTextContentMap()).thenReturn(new HashMap<>());
    -        when(staticResourceUtil.getTextContentMap()).thenReturn(new HashMap<>());
             FcfsSettingDto mockSettingDto = new FcfsSettingDto();
             when(fcfsSettingManager.getFcfsSettingByRound(1)).thenReturn(mockSettingDto);
     
    @@ -187,7 +185,7 @@ void testSaveFcfsWinners_Success() {
                     .fcfsCode("ABCDE")
                     .build();
     
    -        when(mockFcfsService.getFcfsSuccessResult(anyMap(), anyMap(), any(FcfsSettingDto.class)))
    +        when(mockFcfsService.getFcfsSuccessResult(any(FcfsSettingDto.class)))
                     .thenReturn(successResult);
     
             // When
    @@ -229,20 +227,18 @@ void testGetFcfsResult_Success() {
                     .winnerNum(10)
                     .build();
             when(fcfsServiceProvider.getObject()).thenReturn(mockFcfsService);
    -        when(staticResourceUtil.getTextContentMap()).thenReturn(textContentMap);
    -        when(staticResourceUtil.getS3ContentMap()).thenReturn(s3ContentMap);
             when(fcfsSettingManager.getFcfsSettingByRound(1)).thenReturn(fcfsSettingDto);
     
             FcfsSuccessResult successResult = FcfsSuccessResult.builder()
                     .fcfsCode("ABCDE")
                     .build();
     
    -        when(mockFcfsService.getFcfsSuccessResult(anyMap(), anyMap(), any(FcfsSettingDto.class)))
    +        when(mockFcfsService.getFcfsSuccessResult(any(FcfsSettingDto.class)))
                     .thenReturn(successResult);
     
     
             // When
    -        FcfsResultResponseDto response = fcfsService.getFcfsResult(true, "A12345");
    +        FcfsResultResponseDto response = fcfsService.getFcfsResult(true, false, "A12345");
     
             // Then
             assertThat(response).isNotNull();
    
    From 7f36bfa799711f670d0af0a8dd139c193619a89c Mon Sep 17 00:00:00 2001
    From: hyeokson <chanhuk1765@gmail.com>
    Date: Thu, 22 Aug 2024 14:22:48 +0900
    Subject: [PATCH 11/36] =?UTF-8?q?feat:=20post=20=EC=9A=94=EC=B2=AD?=
     =?UTF-8?q?=EC=97=90=20=EB=8C=80=ED=95=9C=20=EC=B2=98=EB=A6=AC=20=EA=B5=AC?=
     =?UTF-8?q?=ED=98=84?=
    MIME-Version: 1.0
    Content-Type: text/plain; charset=UTF-8
    Content-Transfer-Encoding: 8bit
    
    ---
     .../fcfs/interceptor/FcfsTimeCheckInterceptor.java  | 13 +++++++++++--
     1 file changed, 11 insertions(+), 2 deletions(-)
    
    diff --git a/src/main/java/com/softeer/backend/fo_domain/fcfs/interceptor/FcfsTimeCheckInterceptor.java b/src/main/java/com/softeer/backend/fo_domain/fcfs/interceptor/FcfsTimeCheckInterceptor.java
    index f9af7b58..332f268d 100644
    --- a/src/main/java/com/softeer/backend/fo_domain/fcfs/interceptor/FcfsTimeCheckInterceptor.java
    +++ b/src/main/java/com/softeer/backend/fo_domain/fcfs/interceptor/FcfsTimeCheckInterceptor.java
    @@ -3,6 +3,7 @@
     import com.softeer.backend.fo_domain.fcfs.exception.FcfsException;
     import com.softeer.backend.fo_domain.fcfs.service.FcfsSettingManager;
     import com.softeer.backend.global.common.code.status.ErrorStatus;
    +import io.micrometer.core.ipc.http.HttpSender;
     import jakarta.servlet.http.HttpServletRequest;
     import jakarta.servlet.http.HttpServletResponse;
     import lombok.RequiredArgsConstructor;
    @@ -39,8 +40,16 @@ public boolean preHandle(HttpServletRequest request, HttpServletResponse respons
     
             if (!fcfsSettingManager.isFcfsEntryAvailable(now)) {
     
    -            log.error("Cannot access the FCFS event");
    -            throw new FcfsException(ErrorStatus._BAD_REQUEST);
    +            if("GET".equalsIgnoreCase(request.getMethod())){
    +                log.error("Cannot access the FCFS event");
    +                throw new FcfsException(ErrorStatus._BAD_REQUEST);
    +            }
    +
    +            else if("POST".equalsIgnoreCase(request.getMethod())){
    +                log.error("Cannot participate FCFS event");
    +                throw new FcfsException(ErrorStatus._FCFS_ALREADY_CLOSED);
    +            }
    +
             }
     
     
    
    From 405d465d0e769fd20eb27b0d6f93ae4860daf917 Mon Sep 17 00:00:00 2001
    From: hyeokson <chanhuk1765@gmail.com>
    Date: Thu, 22 Aug 2024 14:23:06 +0900
    Subject: [PATCH 12/36] =?UTF-8?q?feat:=20swagger=20=ED=8C=8C=EB=A6=AC?=
     =?UTF-8?q?=EB=AF=B8=ED=84=B0=20=EC=95=88=EB=B3=B4=EC=9D=B4=EB=8F=84?=
     =?UTF-8?q?=EB=A1=9D=20=EC=84=A4=EC=A0=95?=
    MIME-Version: 1.0
    Content-Type: text/plain; charset=UTF-8
    Content-Transfer-Encoding: 8bit
    
    ---
     .../backend/fo_domain/user/controller/LoginController.java      | 2 ++
     1 file changed, 2 insertions(+)
    
    diff --git a/src/main/java/com/softeer/backend/fo_domain/user/controller/LoginController.java b/src/main/java/com/softeer/backend/fo_domain/user/controller/LoginController.java
    index c743b37a..8f48e673 100644
    --- a/src/main/java/com/softeer/backend/fo_domain/user/controller/LoginController.java
    +++ b/src/main/java/com/softeer/backend/fo_domain/user/controller/LoginController.java
    @@ -4,6 +4,7 @@
     import com.softeer.backend.global.common.dto.JwtTokenResponseDto;
     import com.softeer.backend.fo_domain.user.service.LoginService;
     import com.softeer.backend.global.common.response.ResponseDto;
    +import io.swagger.v3.oas.annotations.Parameter;
     import jakarta.validation.Valid;
     import lombok.RequiredArgsConstructor;
     import org.springframework.web.bind.annotation.*;
    @@ -22,6 +23,7 @@ public class LoginController {
          */
         @PostMapping("/login")
         ResponseDto<JwtTokenResponseDto> handleLogin(@Valid @RequestBody LoginRequestDto loginRequestDto,
    +                                                 @Parameter(hidden = true)
                                                      @RequestHeader(value = "X-Share-Code", required = false) String shareCode) {
             JwtTokenResponseDto jwtTokenResponseDto = loginService.handleLogin(loginRequestDto, shareCode);
     
    
    From bce51dac5fed07d6476630f2cce6a9dbf6770934 Mon Sep 17 00:00:00 2001
    From: hyeokson <chanhuk1765@gmail.com>
    Date: Thu, 22 Aug 2024 14:23:49 +0900
    Subject: [PATCH 13/36] =?UTF-8?q?rebase:=20=EC=9B=90=EB=B3=B8=20repo=20dev?=
     =?UTF-8?q?elop=20=EB=B8=8C=EB=9E=9C=EC=B9=98=EC=99=80=20rebase?=
    MIME-Version: 1.0
    Content-Type: text/plain; charset=UTF-8
    Content-Transfer-Encoding: 8bit
    
    ---
     .../backend/fo_domain/mainpage/service/MainPageService.java   | 4 ++--
     1 file changed, 2 insertions(+), 2 deletions(-)
    
    diff --git a/src/main/java/com/softeer/backend/fo_domain/mainpage/service/MainPageService.java b/src/main/java/com/softeer/backend/fo_domain/mainpage/service/MainPageService.java
    index 2dea136d..3249b933 100644
    --- a/src/main/java/com/softeer/backend/fo_domain/mainpage/service/MainPageService.java
    +++ b/src/main/java/com/softeer/backend/fo_domain/mainpage/service/MainPageService.java
    @@ -107,10 +107,10 @@ public MainPageEventInfoResponseDto getEventPageInfo() {
     
             String fcfsTime = "";
             if(firstFcfsSetting.getStartTime().getMinute() != 0){
    -            fcfsTime = firstFcfsSetting.getStartTime().format(fcfsTimeFormatter);
    +            fcfsTime = firstFcfsSetting.getStartTime().format(fcfsTimeMinFormatter);
             }
             else
    -            fcfsTime = firstFcfsSetting.getStartTime().format(fcfsTimeMinFormatter);
    +            fcfsTime = firstFcfsSetting.getStartTime().format(fcfsTimeFormatter);
     
             return MainPageEventInfoResponseDto.builder()
                     .startDate(drawSettingManager.getStartDate().format(eventTimeFormatter))
    
    From c8f654af87f1533b2fdd4ad64ec4fcbfe2060199 Mon Sep 17 00:00:00 2001
    From: hyeokson <chanhuk1765@gmail.com>
    Date: Thu, 22 Aug 2024 14:24:14 +0900
    Subject: [PATCH 14/36] =?UTF-8?q?feat:=20=EC=A0=95=EC=A0=81=20=ED=85=8D?=
     =?UTF-8?q?=EC=8A=A4=ED=8A=B8=20=EC=83=81=EC=88=98=20=EC=B6=94=EA=B0=80?=
    MIME-Version: 1.0
    Content-Type: text/plain; charset=UTF-8
    Content-Transfer-Encoding: 8bit
    
    ---
     .../staticresources/constant/StaticTextName.java       | 10 +++++++++-
     1 file changed, 9 insertions(+), 1 deletion(-)
    
    diff --git a/src/main/java/com/softeer/backend/global/staticresources/constant/StaticTextName.java b/src/main/java/com/softeer/backend/global/staticresources/constant/StaticTextName.java
    index 4419ebe5..07e0f067 100644
    --- a/src/main/java/com/softeer/backend/global/staticresources/constant/StaticTextName.java
    +++ b/src/main/java/com/softeer/backend/global/staticresources/constant/StaticTextName.java
    @@ -101,6 +101,14 @@ public enum StaticTextName {
     
         FCFS_LOSER_TITLE,
         FCFS_LOSER_SUBTITLE,
    -    FCFS_LOSER_CAUTION;
    +    FCFS_LOSER_CAUTION,
    +
    +    // 선착순 이벤트 종료로 인한 응모 실패 모달
    +    FCFS_CLOSED_TITLE,
    +    FCFS_CLOSED_SUBTITLE,
    +
    +    // 선착순 이벤트 당첨된 상황에서 중복으로 응모할 때의 실패 모달
    +    FCFS_DUPLICATED_TITLE,
    +    FCFS_DUPLICATED_SUBTITLE;
     
     }
    
    From fb4c4d83eb1e667ba1fd150060c05976d87e6570 Mon Sep 17 00:00:00 2001
    From: hyeokson <chanhuk1765@gmail.com>
    Date: Thu, 22 Aug 2024 14:24:28 +0900
    Subject: [PATCH 15/36] =?UTF-8?q?chore:=20jacoco=20=EC=82=AD=EC=A0=9C?=
    MIME-Version: 1.0
    Content-Type: text/plain; charset=UTF-8
    Content-Transfer-Encoding: 8bit
    
    ---
     .../AdminLoginController.html                 |    1 -
     .../AdminLoginController.java.html            |   48 -
     .../EventPageController.html                  |    1 -
     .../EventPageController.java.html             |   41 -
     .../IndicatorPageController.html              |    1 -
     .../IndicatorPageController.java.html         |   25 -
     .../WinnerPageController.html                 |    1 -
     .../WinnerPageController.java.html            |   58 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../EventPageResponseDto.html                 |    1 -
     .../EventPageResponseDto.java.html            |   85 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../EventIndicatorResponseDto.html            |    1 -
     .../EventIndicatorResponseDto.java.html       |   92 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../AdminMainPageResponseDto.html             |    1 -
     .../AdminMainPageResponseDto.java.html        |  124 --
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../DrawWinnerListResponseDto.html            |    1 -
     .../DrawWinnerListResponseDto.java.html       |   49 -
     .../FcfsWinnerListResponseDto.html            |    1 -
     .../FcfsWinnerListResponseDto.java.html       |   48 -
     .../WinnerPageResponseDto.html                |    1 -
     .../WinnerPageResponseDto.java.html           |   93 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../AdminException.html                       |    1 -
     .../AdminException.java.html                  |   12 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../PercentageSerializer.html                 |    1 -
     .../PercentageSerializer.java.html            |   20 -
     .../PhoneNumberSerializer.html                |    1 -
     .../PhoneNumberSerializer.java.html           |   18 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../AdminLoginService.html                    |    1 -
     .../AdminLoginService.java.html               |   73 -
     .../EventPageService.html                     |    1 -
     .../EventPageService.java.html                |   93 -
     .../IndicatorPageService.html                 |    1 -
     .../IndicatorPageService.java.html            |   34 -
     .../WinnerPageService.html                    |    1 -
     .../WinnerPageService.java.html               |   72 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../PasswordEncoder.html                      |    1 -
     .../PasswordEncoder.java.html                 |   19 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../DrawTimeRangeValidator.html               |    1 -
     .../DrawTimeRangeValidator.java.html          |   40 -
     .../FcfsDateRangeValidator.html               |    1 -
     .../FcfsDateRangeValidator.java.html          |   42 -
     .../FcfsTimeRangeValidator.html               |    1 -
     .../FcfsTimeRangeValidator.java.html          |   35 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../EventParticipationRepository.html         |    1 -
     .../EventParticipationRepository.java.html    |   25 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../CommentNickname.html                      |    1 -
     .../CommentNickname.java.html                 |   44 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../CommentController.html                    |    1 -
     .../CommentController.java.html               |   53 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../Comment.html                              |    1 -
     .../Comment.java.html                         |   52 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../CommentsResponseDto.html                  |    1 -
     .../CommentsResponseDto.java.html             |   85 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../CommentException.html                     |    1 -
     .../CommentException.java.html                |   12 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../CommentService.html                       |    1 -
     .../CommentService.java.html                  |   61 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../ScrollPaginationUtil.html                 |    1 -
     .../ScrollPaginationUtil.java.html            |   53 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../DrawController.html                       |    1 -
     .../DrawController.java.html                  |   44 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../DrawException.html                        |    1 -
     .../DrawException.java.html                   |   12 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../DrawTimeCheckInterceptor.html             |    1 -
     .../DrawTimeCheckInterceptor.java.html        |   68 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../DrawService.html                          |    1 -
     .../DrawService.java.html                     |  145 --
     .../DrawSettingManager.html                   |    1 -
     .../DrawSettingManager.java.html              |   68 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../DrawAttendanceCountUtil.html              |    1 -
     .../DrawAttendanceCountUtil.java.html         |   93 -
     .../DrawModalGenerateUtil.html                |    1 -
     .../DrawModalGenerateUtil.java.html           |   90 -
     .../DrawResponseGenerateUtil.html             |    1 -
     .../DrawResponseGenerateUtil.java.html        |  120 --
     .../DrawUtil.html                             |    1 -
     .../DrawUtil.java.html                        |  119 --
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../FcfsController.html                       |    1 -
     .../FcfsController.java.html                  |   67 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../FcfsException.html                        |    1 -
     .../FcfsException.java.html                   |   12 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../FcfsTimeCheckInterceptor.html             |    1 -
     .../FcfsTimeCheckInterceptor.java.html        |   45 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../FcfsService.html                          |    1 -
     .../FcfsService.java.html                     |  202 ---
     .../FcfsSettingManager.html                   |    1 -
     .../FcfsSettingManager.java.html              |  145 --
     .../QuizManager.html                          |    1 -
     .../QuizManager.java.html                     |   85 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../MainPageController.html                   |    1 -
     .../MainPageController.java.html              |   53 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../MainPageService.html                      |    1 -
     .../MainPageService.java.html                 |  298 ----
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../ShareController.html                      |    1 -
     .../ShareController.java.html                 |   45 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../ShareInfo.html                            |    1 -
     .../ShareInfo.java.html                       |   33 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../ShareInfoException.html                   |    1 -
     .../ShareInfoException.java.html              |   12 -
     .../ShareUrlInfoException.html                |    1 -
     .../ShareUrlInfoException.java.html           |   11 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../ShareUrlInfoService.html                  |    1 -
     .../ShareUrlInfoService.java.html             |   37 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../RedisVerificationPrefix.html              |    1 -
     .../RedisVerificationPrefix.java.html         |   17 -
     .../VerificationProperty.html                 |    1 -
     .../VerificationProperty.java.html            |   21 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../LoginController.html                      |    1 -
     .../LoginController.java.html                 |   26 -
     .../VerificationController.html               |    1 -
     .../VerificationController.java.html          |   48 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../UserException.html                        |    1 -
     .../UserException.java.html                   |   12 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../SmsProperties.html                        |    1 -
     .../SmsProperties.java.html                   |   26 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../LoginService.html                         |    1 -
     .../LoginService.java.html                    |  143 --
     .../VerificationService.html                  |    1 -
     .../VerificationService.java.html             |  158 --
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../AopForTransaction.html                    |    1 -
     .../AopForTransaction.java.html               |   26 -
     .../EventLockAop.html                         |    1 -
     .../EventLockAop.java.html                    |   61 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../AuthInfoArgumentResolver.html             |    1 -
     .../AuthInfoArgumentResolver.java.html        |   31 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../ErrorStatus.html                          |    1 -
     .../ErrorStatus.java.html                     |   95 --
     .../SuccessStatus.html                        |    1 -
     .../SuccessStatus.java.html                   |   63 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../RedisKeyPrefix.html                       |    1 -
     .../RedisKeyPrefix.java.html                  |   28 -
     .../RoleType.html                             |    1 -
     .../RoleType.java.html                        |   23 -
     .../ValidationConstant.html                   |    1 -
     .../ValidationConstant.java.html              |   27 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../ExceptionAdvice.html                      |    1 -
     .../ExceptionAdvice.java.html                 |  200 ---
     .../GeneralException.html                     |    1 -
     .../GeneralException.java.html                |   27 -
     .../JwtAuthenticationException.html           |    1 -
     .../JwtAuthenticationException.java.html      |   15 -
     .../JwtAuthorizationException.html            |    1 -
     .../JwtAuthorizationException.java.html       |   14 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../ResponseDto.html                          |    1 -
     .../ResponseDto.java.html                     |  114 --
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../SwaggerController.html                    |    1 -
     .../SwaggerController.java.html               |   14 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../CacheConfig.html                          |    1 -
     .../CacheConfig.java.html                     |   35 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../SwaggerConfig.html                        |    1 -
     .../SwaggerConfig.java.html                   |   74 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../JwtProperties.html                        |    1 -
     .../JwtProperties.java.html                   |   38 -
     .../RedisProperties.html                      |    1 -
     .../RedisProperties.java.html                 |   25 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../RedisConfig.html                          |    1 -
     .../RedisConfig.java.html                     |   62 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../SchedulerConfig.html                      |    1 -
     .../SchedulerConfig.java.html                 |   17 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../WebMvcConfig.html                         |    1 -
     .../WebMvcConfig.java.html                    |  121 --
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../ExceptionHandlingFilter.html              |    1 -
     .../ExceptionHandlingFilter.java.html         |   68 -
     .../JwtAuthenticationFilter.html              |    1 -
     .../JwtAuthenticationFilter.java.html         |  215 ---
     .../JwtAuthorizationFilter.html               |    1 -
     .../JwtAuthorizationFilter.java.html          |   56 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../DbInsertScheduler.html                    |    1 -
     .../DbInsertScheduler.java.html               |  155 --
     .../EventSettingScheduler.html                |    1 -
     .../EventSettingScheduler.java.html           |   59 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../S3FileName.html                           |    1 -
     .../S3FileName.java.html                      |   38 -
     .../StaticTextName.html                       |    1 -
     .../StaticTextName.java.html                  |   99 --
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../StaticResourceUtil.html                   |    1 -
     .../StaticResourceUtil.java.html              |   62 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../DrawRedisUtil.html                        |    1 -
     .../DrawRedisUtil.java.html                   |   89 -
     .../EventLockRedisUtil.html                   |    1 -
     .../EventLockRedisUtil.java.html              |   75 -
     .../FcfsRedisUtil.html                        |    1 -
     .../FcfsRedisUtil.java.html                   |   81 -
     .../JwtUtil.html                              |    1 -
     .../JwtUtil.java.html                         |  151 --
     .../RandomCodeUtil.html                       |    1 -
     .../RandomCodeUtil.java.html                  |   24 -
     .../SpringELParser.html                       |    1 -
     .../SpringELParser.java.html                  |   23 -
     .../StringRedisUtil.html                      |    1 -
     .../StringRedisUtil.java.html                 |   93 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../BackendApplication.html                   |    1 -
     .../BackendApplication.java.html              |   21 -
     .../jacocoHtml/com.softeer.backend/index.html |    1 -
     .../com.softeer.backend/index.source.html     |    1 -
     jacoco/jacocoHtml/index.html                  |    1 -
     .../jacocoHtml/jacoco-resources/branchfc.gif  |  Bin 91 -> 0 bytes
     .../jacocoHtml/jacoco-resources/branchnc.gif  |  Bin 91 -> 0 bytes
     .../jacocoHtml/jacoco-resources/branchpc.gif  |  Bin 91 -> 0 bytes
     jacoco/jacocoHtml/jacoco-resources/bundle.gif |  Bin 709 -> 0 bytes
     jacoco/jacocoHtml/jacoco-resources/class.gif  |  Bin 586 -> 0 bytes
     jacoco/jacocoHtml/jacoco-resources/down.gif   |  Bin 67 -> 0 bytes
     .../jacocoHtml/jacoco-resources/greenbar.gif  |  Bin 91 -> 0 bytes
     jacoco/jacocoHtml/jacoco-resources/group.gif  |  Bin 351 -> 0 bytes
     jacoco/jacocoHtml/jacoco-resources/method.gif |  Bin 193 -> 0 bytes
     .../jacocoHtml/jacoco-resources/package.gif   |  Bin 227 -> 0 bytes
     .../jacocoHtml/jacoco-resources/prettify.css  |   13 -
     .../jacocoHtml/jacoco-resources/prettify.js   | 1510 -----------------
     jacoco/jacocoHtml/jacoco-resources/redbar.gif |  Bin 91 -> 0 bytes
     jacoco/jacocoHtml/jacoco-resources/report.css |  243 ---
     jacoco/jacocoHtml/jacoco-resources/report.gif |  Bin 363 -> 0 bytes
     .../jacocoHtml/jacoco-resources/session.gif   |  Bin 213 -> 0 bytes
     jacoco/jacocoHtml/jacoco-resources/sort.gif   |  Bin 58 -> 0 bytes
     jacoco/jacocoHtml/jacoco-resources/sort.js    |  148 --
     jacoco/jacocoHtml/jacoco-resources/source.gif |  Bin 354 -> 0 bytes
     jacoco/jacocoHtml/jacoco-resources/up.gif     |  Bin 67 -> 0 bytes
     jacoco/jacocoHtml/jacoco-sessions.html        |    1 -
     .../common/code/status/ErrorStatus.java       |    5 +-
     329 files changed, 4 insertions(+), 8307 deletions(-)
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/AdminLoginController.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/AdminLoginController.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/EventPageController.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/EventPageController.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/IndicatorPageController.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/IndicatorPageController.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/WinnerPageController.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/WinnerPageController.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.event/EventPageResponseDto.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.event/EventPageResponseDto.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.event/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.event/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.indicator/EventIndicatorResponseDto.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.indicator/EventIndicatorResponseDto.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.indicator/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.indicator/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.main/AdminMainPageResponseDto.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.main/AdminMainPageResponseDto.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.main/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.main/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/DrawWinnerListResponseDto.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/DrawWinnerListResponseDto.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/FcfsWinnerListResponseDto.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/FcfsWinnerListResponseDto.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/WinnerPageResponseDto.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/WinnerPageResponseDto.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.exception/AdminException.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.exception/AdminException.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.exception/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.exception/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/PercentageSerializer.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/PercentageSerializer.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/PhoneNumberSerializer.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/PhoneNumberSerializer.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/AdminLoginService.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/AdminLoginService.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/EventPageService.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/EventPageService.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/IndicatorPageService.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/IndicatorPageService.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/WinnerPageService.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/WinnerPageService.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.util/PasswordEncoder.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.util/PasswordEncoder.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.util/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.util/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/DrawTimeRangeValidator.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/DrawTimeRangeValidator.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/FcfsDateRangeValidator.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/FcfsDateRangeValidator.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/FcfsTimeRangeValidator.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/FcfsTimeRangeValidator.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.eventparticipation.repository/EventParticipationRepository.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.eventparticipation.repository/EventParticipationRepository.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.eventparticipation.repository/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.eventparticipation.repository/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.constant/CommentNickname.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.constant/CommentNickname.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.constant/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.constant/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.controller/CommentController.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.controller/CommentController.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.controller/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.controller/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.domain/Comment.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.domain/Comment.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.domain/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.domain/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.dto/CommentsResponseDto.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.dto/CommentsResponseDto.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.dto/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.dto/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.exception/CommentException.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.exception/CommentException.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.exception/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.exception/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.service/CommentService.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.service/CommentService.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.service/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.service/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.util/ScrollPaginationUtil.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.util/ScrollPaginationUtil.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.util/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.util/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.controller/DrawController.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.controller/DrawController.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.controller/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.controller/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.exception/DrawException.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.exception/DrawException.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.exception/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.exception/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.interceptor/DrawTimeCheckInterceptor.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.interceptor/DrawTimeCheckInterceptor.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.interceptor/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.interceptor/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/DrawService.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/DrawService.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/DrawSettingManager.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/DrawSettingManager.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawAttendanceCountUtil.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawAttendanceCountUtil.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawModalGenerateUtil.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawModalGenerateUtil.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawResponseGenerateUtil.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawResponseGenerateUtil.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawUtil.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawUtil.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.controller/FcfsController.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.controller/FcfsController.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.controller/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.controller/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.exception/FcfsException.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.exception/FcfsException.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.exception/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.exception/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.interceptor/FcfsTimeCheckInterceptor.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.interceptor/FcfsTimeCheckInterceptor.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.interceptor/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.interceptor/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/FcfsService.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/FcfsService.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/FcfsSettingManager.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/FcfsSettingManager.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/QuizManager.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/QuizManager.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.controller/MainPageController.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.controller/MainPageController.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.controller/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.controller/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.service/MainPageService.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.service/MainPageService.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.service/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.service/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.controller/ShareController.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.controller/ShareController.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.controller/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.controller/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.domain/ShareInfo.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.domain/ShareInfo.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.domain/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.domain/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/ShareInfoException.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/ShareInfoException.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/ShareUrlInfoException.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/ShareUrlInfoException.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.service/ShareUrlInfoService.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.service/ShareUrlInfoService.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.service/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.service/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/RedisVerificationPrefix.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/RedisVerificationPrefix.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/VerificationProperty.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/VerificationProperty.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/LoginController.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/LoginController.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/VerificationController.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/VerificationController.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.exception/UserException.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.exception/UserException.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.exception/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.exception/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.properties/SmsProperties.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.properties/SmsProperties.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.properties/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.properties/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/LoginService.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/LoginService.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/VerificationService.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/VerificationService.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/AopForTransaction.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/AopForTransaction.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/EventLockAop.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/EventLockAop.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.annotation.argumentresolver/AuthInfoArgumentResolver.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.annotation.argumentresolver/AuthInfoArgumentResolver.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.annotation.argumentresolver/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.annotation.argumentresolver/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/ErrorStatus.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/ErrorStatus.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/SuccessStatus.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/SuccessStatus.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.constant/RedisKeyPrefix.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.constant/RedisKeyPrefix.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.constant/RoleType.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.constant/RoleType.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.constant/ValidationConstant.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.constant/ValidationConstant.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.constant/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.constant/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.exception/ExceptionAdvice.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.exception/ExceptionAdvice.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.exception/GeneralException.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.exception/GeneralException.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.exception/JwtAuthenticationException.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.exception/JwtAuthenticationException.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.exception/JwtAuthorizationException.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.exception/JwtAuthorizationException.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.exception/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.exception/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.response/ResponseDto.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.response/ResponseDto.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.response/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.response/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.swagger/SwaggerController.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.swagger/SwaggerController.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.swagger/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.swagger/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.cache/CacheConfig.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.cache/CacheConfig.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.cache/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.cache/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.docs/SwaggerConfig.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.docs/SwaggerConfig.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.docs/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.docs/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.properties/JwtProperties.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.properties/JwtProperties.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.properties/RedisProperties.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.properties/RedisProperties.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.properties/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.properties/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.redis/RedisConfig.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.redis/RedisConfig.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.redis/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.redis/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.schedular/SchedulerConfig.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.schedular/SchedulerConfig.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.schedular/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.schedular/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.web/WebMvcConfig.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.web/WebMvcConfig.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.web/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.web/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.filter/ExceptionHandlingFilter.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.filter/ExceptionHandlingFilter.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.filter/JwtAuthenticationFilter.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.filter/JwtAuthenticationFilter.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.filter/JwtAuthorizationFilter.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.filter/JwtAuthorizationFilter.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.filter/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.filter/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.scheduler/DbInsertScheduler.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.scheduler/DbInsertScheduler.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.scheduler/EventSettingScheduler.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.scheduler/EventSettingScheduler.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.scheduler/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.scheduler/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/S3FileName.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/S3FileName.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/StaticTextName.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/StaticTextName.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.staticresources.util/StaticResourceUtil.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.staticresources.util/StaticResourceUtil.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.staticresources.util/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.staticresources.util/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.util/DrawRedisUtil.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.util/DrawRedisUtil.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.util/EventLockRedisUtil.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.util/EventLockRedisUtil.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.util/FcfsRedisUtil.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.util/FcfsRedisUtil.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.util/JwtUtil.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.util/JwtUtil.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.util/RandomCodeUtil.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.util/RandomCodeUtil.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.util/SpringELParser.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.util/SpringELParser.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.util/StringRedisUtil.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.util/StringRedisUtil.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.util/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.util/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend/BackendApplication.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend/BackendApplication.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend/index.source.html
     delete mode 100644 jacoco/jacocoHtml/index.html
     delete mode 100644 jacoco/jacocoHtml/jacoco-resources/branchfc.gif
     delete mode 100644 jacoco/jacocoHtml/jacoco-resources/branchnc.gif
     delete mode 100644 jacoco/jacocoHtml/jacoco-resources/branchpc.gif
     delete mode 100644 jacoco/jacocoHtml/jacoco-resources/bundle.gif
     delete mode 100644 jacoco/jacocoHtml/jacoco-resources/class.gif
     delete mode 100644 jacoco/jacocoHtml/jacoco-resources/down.gif
     delete mode 100644 jacoco/jacocoHtml/jacoco-resources/greenbar.gif
     delete mode 100644 jacoco/jacocoHtml/jacoco-resources/group.gif
     delete mode 100644 jacoco/jacocoHtml/jacoco-resources/method.gif
     delete mode 100644 jacoco/jacocoHtml/jacoco-resources/package.gif
     delete mode 100644 jacoco/jacocoHtml/jacoco-resources/prettify.css
     delete mode 100644 jacoco/jacocoHtml/jacoco-resources/prettify.js
     delete mode 100644 jacoco/jacocoHtml/jacoco-resources/redbar.gif
     delete mode 100644 jacoco/jacocoHtml/jacoco-resources/report.css
     delete mode 100644 jacoco/jacocoHtml/jacoco-resources/report.gif
     delete mode 100644 jacoco/jacocoHtml/jacoco-resources/session.gif
     delete mode 100644 jacoco/jacocoHtml/jacoco-resources/sort.gif
     delete mode 100644 jacoco/jacocoHtml/jacoco-resources/sort.js
     delete mode 100644 jacoco/jacocoHtml/jacoco-resources/source.gif
     delete mode 100644 jacoco/jacocoHtml/jacoco-resources/up.gif
     delete mode 100644 jacoco/jacocoHtml/jacoco-sessions.html
    
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/AdminLoginController.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/AdminLoginController.html
    deleted file mode 100644
    index e138e1a3..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/AdminLoginController.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>AdminLoginController</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.bo_domain.admin.controller</a> &gt; <span class="el_class">AdminLoginController</span></div><h1>AdminLoginController</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">21 of 21</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">6</td><td class="ctr2">6</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a0"><a href="AdminLoginController.java.html#L26" class="el_method">handleLogin(AdminLoginRequestDto)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="8" alt="8"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="AdminLoginController.java.html#L33" class="el_method">handleLogout(Integer)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="105" height="10" title="7" alt="7"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="AdminLoginController.java.html#L41" class="el_method">handleSignUp(AdminSignUpRequestDto)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="90" height="10" title="6" alt="6"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">2</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/AdminLoginController.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/AdminLoginController.java.html
    deleted file mode 100644
    index 78575ebb..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/AdminLoginController.java.html
    +++ /dev/null
    @@ -1,48 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>AdminLoginController.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.bo_domain.admin.controller</a> &gt; <span class="el_source">AdminLoginController.java</span></div><h1>AdminLoginController.java</h1><pre class="source lang-java linenums">package com.softeer.backend.bo_domain.admin.controller;
    -
    -import com.softeer.backend.bo_domain.admin.dto.login.AdminLoginRequestDto;
    -import com.softeer.backend.bo_domain.admin.dto.login.AdminSignUpRequestDto;
    -import com.softeer.backend.bo_domain.admin.service.AdminLoginService;
    -import com.softeer.backend.global.annotation.AuthInfo;
    -import com.softeer.backend.global.common.dto.JwtTokenResponseDto;
    -import com.softeer.backend.global.common.response.ResponseDto;
    -import io.swagger.v3.oas.annotations.Parameter;
    -import jakarta.validation.Valid;
    -import lombok.RequiredArgsConstructor;
    -import org.springframework.web.bind.annotation.PostMapping;
    -import org.springframework.web.bind.annotation.RequestBody;
    -import org.springframework.web.bind.annotation.RequestMapping;
    -import org.springframework.web.bind.annotation.RestController;
    -
    -@RestController
    -@RequiredArgsConstructor
    -@RequestMapping(&quot;/admin&quot;)
    -public class AdminLoginController {
    -
    -    private final AdminLoginService adminLoginService;
    -
    -    @PostMapping(&quot;/login&quot;)
    -    ResponseDto&lt;JwtTokenResponseDto&gt; handleLogin(@Valid @RequestBody AdminLoginRequestDto adminLoginRequestDto) {
    -<span class="nc" id="L26">        JwtTokenResponseDto jwtTokenResponseDto = adminLoginService.handleLogin(adminLoginRequestDto);</span>
    -
    -<span class="nc" id="L28">        return ResponseDto.onSuccess(jwtTokenResponseDto);</span>
    -    }
    -
    -    @PostMapping(&quot;/logout&quot;)
    -    ResponseDto&lt;Void&gt; handleLogout(@Parameter(hidden = true) @AuthInfo Integer adminId) {
    -<span class="nc" id="L33">        adminLoginService.handleLogout(adminId);</span>
    -
    -<span class="nc" id="L35">        return ResponseDto.onSuccess();</span>
    -    }
    -
    -    @PostMapping(&quot;/signup&quot;)
    -    ResponseDto&lt;Void&gt; handleSignUp(@Valid @RequestBody AdminSignUpRequestDto adminSignUpRequestDto) {
    -
    -<span class="nc" id="L41">        adminLoginService.handleSignUp(adminSignUpRequestDto);</span>
    -
    -<span class="nc" id="L43">        return ResponseDto.onSuccess();</span>
    -    }
    -
    -
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/EventPageController.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/EventPageController.html
    deleted file mode 100644
    index 08794e13..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/EventPageController.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>EventPageController</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.bo_domain.admin.controller</a> &gt; <span class="el_class">EventPageController</span></div><h1>EventPageController</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">19 of 19</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">6</td><td class="ctr2">6</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a0"><a href="EventPageController.java.html#L21" class="el_method">getEventPage()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="7" alt="7"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="EventPageController.java.html#L28" class="el_method">updateFcfsEventTime(FcfsEventTimeRequestDto)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="102" height="10" title="6" alt="6"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a1"><a href="EventPageController.java.html#L35" class="el_method">updateDrawEventTime(DrawEventTimeRequestDto)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="102" height="10" title="6" alt="6"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">2</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/EventPageController.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/EventPageController.java.html
    deleted file mode 100644
    index 14eff7a1..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/EventPageController.java.html
    +++ /dev/null
    @@ -1,41 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>EventPageController.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.bo_domain.admin.controller</a> &gt; <span class="el_source">EventPageController.java</span></div><h1>EventPageController.java</h1><pre class="source lang-java linenums">package com.softeer.backend.bo_domain.admin.controller;
    -
    -import com.softeer.backend.bo_domain.admin.dto.event.DrawEventTimeRequestDto;
    -import com.softeer.backend.bo_domain.admin.dto.event.EventPageResponseDto;
    -import com.softeer.backend.bo_domain.admin.dto.event.FcfsEventTimeRequestDto;
    -import com.softeer.backend.bo_domain.admin.service.EventPageService;
    -import com.softeer.backend.global.common.response.ResponseDto;
    -import jakarta.validation.Valid;
    -import lombok.RequiredArgsConstructor;
    -import org.springframework.web.bind.annotation.*;
    -
    -@RestController
    -@RequiredArgsConstructor
    -@RequestMapping(&quot;/admin/event&quot;)
    -public class EventPageController {
    -
    -    private final EventPageService eventPageService;
    -
    -    @GetMapping
    -    public ResponseDto&lt;EventPageResponseDto&gt; getEventPage() {
    -<span class="nc" id="L21">        EventPageResponseDto eventPageResponseDto = eventPageService.getEventPage();</span>
    -
    -<span class="nc" id="L23">        return ResponseDto.onSuccess(eventPageResponseDto);</span>
    -    }
    -
    -    @PostMapping(&quot;/fcfs&quot;)
    -    public ResponseDto&lt;Void&gt; updateFcfsEventTime(@Valid @RequestBody FcfsEventTimeRequestDto fcfsEventTimeRequestDto) {
    -<span class="nc" id="L28">        eventPageService.updateFcfsEventTime(fcfsEventTimeRequestDto);</span>
    -
    -<span class="nc" id="L30">        return ResponseDto.onSuccess();</span>
    -    }
    -
    -    @PostMapping(&quot;/draw&quot;)
    -    public ResponseDto&lt;Void&gt; updateDrawEventTime(@Valid @RequestBody DrawEventTimeRequestDto drawEventTimeRequestDto) {
    -<span class="nc" id="L35">        eventPageService.updateDrawEventTime(drawEventTimeRequestDto);</span>
    -
    -<span class="nc" id="L37">        return ResponseDto.onSuccess();</span>
    -    }
    -
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/IndicatorPageController.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/IndicatorPageController.html
    deleted file mode 100644
    index 15894db2..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/IndicatorPageController.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>IndicatorPageController</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.bo_domain.admin.controller</a> &gt; <span class="el_class">IndicatorPageController</span></div><h1>IndicatorPageController</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">7 of 7</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="IndicatorPageController.java.html#L20" class="el_method">getEventIndicator()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="7" alt="7"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/IndicatorPageController.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/IndicatorPageController.java.html
    deleted file mode 100644
    index 51a219c9..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/IndicatorPageController.java.html
    +++ /dev/null
    @@ -1,25 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>IndicatorPageController.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.bo_domain.admin.controller</a> &gt; <span class="el_source">IndicatorPageController.java</span></div><h1>IndicatorPageController.java</h1><pre class="source lang-java linenums">package com.softeer.backend.bo_domain.admin.controller;
    -
    -import com.softeer.backend.bo_domain.admin.dto.indicator.EventIndicatorResponseDto;
    -import com.softeer.backend.bo_domain.admin.service.IndicatorPageService;
    -import com.softeer.backend.global.common.response.ResponseDto;
    -import lombok.RequiredArgsConstructor;
    -import org.springframework.web.bind.annotation.GetMapping;
    -import org.springframework.web.bind.annotation.RequestMapping;
    -import org.springframework.web.bind.annotation.RestController;
    -
    -@RestController
    -@RequiredArgsConstructor
    -@RequestMapping(&quot;/admin&quot;)
    -public class IndicatorPageController {
    -
    -    private final IndicatorPageService indicatorPageService;
    -
    -    @GetMapping(&quot;/indicator&quot;)
    -    public ResponseDto&lt;EventIndicatorResponseDto&gt; getEventIndicator() {
    -<span class="nc" id="L20">        EventIndicatorResponseDto eventIndicatorResponseDto = indicatorPageService.getEventIndicator();</span>
    -
    -<span class="nc" id="L22">        return ResponseDto.onSuccess(eventIndicatorResponseDto);</span>
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/WinnerPageController.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/WinnerPageController.html
    deleted file mode 100644
    index 24d984b3..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/WinnerPageController.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>WinnerPageController</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.bo_domain.admin.controller</a> &gt; <span class="el_class">WinnerPageController</span></div><h1>WinnerPageController</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">37 of 37</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">10</td><td class="ctr2">10</td><td class="ctr1">5</td><td class="ctr2">5</td></tr></tfoot><tbody><tr><td id="a1"><a href="WinnerPageController.java.html#L27" class="el_method">getFcfsWinnerList(Integer)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="9" alt="9"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="WinnerPageController.java.html#L35" class="el_method">getDrawWinnerList(Integer)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="9" alt="9"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="WinnerPageController.java.html#L19" class="el_method">getWinnerPage()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="93" height="10" title="7" alt="7"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">2</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a4"><a href="WinnerPageController.java.html#L43" class="el_method">updateFcfsWinnerNum(FcfsWinnerUpdateRequestDto)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="80" height="10" title="6" alt="6"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">2</td><td class="ctr2" id="i3">2</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a3"><a href="WinnerPageController.java.html#L51" class="el_method">updateFcfsWinnerNum(DrawWinnerUpdateRequestDto)</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="80" height="10" title="6" alt="6"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">2</td><td class="ctr2" id="i4">2</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/WinnerPageController.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/WinnerPageController.java.html
    deleted file mode 100644
    index 4c3ce32c..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/WinnerPageController.java.html
    +++ /dev/null
    @@ -1,58 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>WinnerPageController.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.bo_domain.admin.controller</a> &gt; <span class="el_source">WinnerPageController.java</span></div><h1>WinnerPageController.java</h1><pre class="source lang-java linenums">package com.softeer.backend.bo_domain.admin.controller;
    -
    -import com.softeer.backend.bo_domain.admin.dto.event.EventPageResponseDto;
    -import com.softeer.backend.bo_domain.admin.dto.winner.*;
    -import com.softeer.backend.bo_domain.admin.service.WinnerPageService;
    -import com.softeer.backend.global.common.response.ResponseDto;
    -import jakarta.validation.Valid;
    -import lombok.RequiredArgsConstructor;
    -import org.springframework.web.bind.annotation.*;
    -
    -@RestController
    -@RequiredArgsConstructor
    -@RequestMapping(&quot;/admin/winner&quot;)
    -public class WinnerPageController {
    -    private final WinnerPageService winnerPageService;
    -
    -    @GetMapping
    -    public ResponseDto&lt;WinnerPageResponseDto&gt; getWinnerPage() {
    -<span class="nc" id="L19">        WinnerPageResponseDto winnerPageResponseDto = winnerPageService.getWinnerPage();</span>
    -
    -<span class="nc" id="L21">        return ResponseDto.onSuccess(winnerPageResponseDto);</span>
    -    }
    -
    -    @GetMapping(&quot;/fcfs/{round}&quot;)
    -    public ResponseDto&lt;FcfsWinnerListResponseDto&gt; getFcfsWinnerList(@PathVariable Integer round) {
    -
    -<span class="nc" id="L27">        FcfsWinnerListResponseDto fcfsWinnerListResponseDto = winnerPageService.getFcfsWinnerList(round);</span>
    -
    -<span class="nc" id="L29">        return ResponseDto.onSuccess(fcfsWinnerListResponseDto);</span>
    -    }
    -
    -    @GetMapping(&quot;/draw/{rank}&quot;)
    -    public ResponseDto&lt;DrawWinnerListResponseDto&gt; getDrawWinnerList(@PathVariable Integer rank) {
    -
    -<span class="nc" id="L35">        DrawWinnerListResponseDto drawWinnerListResponseDto = winnerPageService.getDrawWinnerList(rank);</span>
    -
    -<span class="nc" id="L37">        return ResponseDto.onSuccess(drawWinnerListResponseDto);</span>
    -    }
    -
    -    @PostMapping(&quot;/fcfs&quot;)
    -    public ResponseDto&lt;Void&gt; updateFcfsWinnerNum(@Valid @RequestBody FcfsWinnerUpdateRequestDto fcfsWinnerUpdateRequestDto) {
    -
    -<span class="nc" id="L43">        winnerPageService.updateFcfsWinnerNum(fcfsWinnerUpdateRequestDto);</span>
    -
    -<span class="nc" id="L45">        return ResponseDto.onSuccess();</span>
    -    }
    -
    -    @PostMapping(&quot;/draw&quot;)
    -    public ResponseDto&lt;Void&gt; updateFcfsWinnerNum(@Valid @RequestBody DrawWinnerUpdateRequestDto drawWinnerUpdateRequestDto) {
    -
    -<span class="nc" id="L51">        winnerPageService.updateDrawWinnerNum(drawWinnerUpdateRequestDto);</span>
    -
    -<span class="nc" id="L53">        return ResponseDto.onSuccess();</span>
    -    }
    -
    -
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/index.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/index.html
    deleted file mode 100644
    index ef8b497e..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.bo_domain.admin.controller</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.bo_domain.admin.controller</span></div><h1>com.softeer.backend.bo_domain.admin.controller</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">84 of 84</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">24</td><td class="ctr2">24</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">4</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a3"><a href="WinnerPageController.html" class="el_class">WinnerPageController</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="37" alt="37"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">5</td><td class="ctr2" id="g0">5</td><td class="ctr1" id="h0">10</td><td class="ctr2" id="i0">10</td><td class="ctr1" id="j0">5</td><td class="ctr2" id="k0">5</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="AdminLoginController.html" class="el_class">AdminLoginController</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="68" height="10" title="21" alt="21"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">3</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h1">6</td><td class="ctr2" id="i1">6</td><td class="ctr1" id="j1">3</td><td class="ctr2" id="k1">3</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a1"><a href="EventPageController.html" class="el_class">EventPageController</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="61" height="10" title="19" alt="19"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">3</td><td class="ctr2" id="g2">3</td><td class="ctr1" id="h2">6</td><td class="ctr2" id="i2">6</td><td class="ctr1" id="j2">3</td><td class="ctr2" id="k2">3</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a2"><a href="IndicatorPageController.html" class="el_class">IndicatorPageController</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="22" height="10" title="7" alt="7"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">2</td><td class="ctr2" id="i3">2</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td><td class="ctr1" id="l3">1</td><td class="ctr2" id="m3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/index.source.html
    deleted file mode 100644
    index 1a276f93..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.bo_domain.admin.controller</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.bo_domain.admin.controller</span></div><h1>com.softeer.backend.bo_domain.admin.controller</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">84 of 84</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">24</td><td class="ctr2">24</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">4</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a3"><a href="WinnerPageController.java.html" class="el_source">WinnerPageController.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="37" alt="37"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">5</td><td class="ctr2" id="g0">5</td><td class="ctr1" id="h0">10</td><td class="ctr2" id="i0">10</td><td class="ctr1" id="j0">5</td><td class="ctr2" id="k0">5</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="AdminLoginController.java.html" class="el_source">AdminLoginController.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="68" height="10" title="21" alt="21"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">3</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h1">6</td><td class="ctr2" id="i1">6</td><td class="ctr1" id="j1">3</td><td class="ctr2" id="k1">3</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a1"><a href="EventPageController.java.html" class="el_source">EventPageController.java</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="61" height="10" title="19" alt="19"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">3</td><td class="ctr2" id="g2">3</td><td class="ctr1" id="h2">6</td><td class="ctr2" id="i2">6</td><td class="ctr1" id="j2">3</td><td class="ctr2" id="k2">3</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a2"><a href="IndicatorPageController.java.html" class="el_source">IndicatorPageController.java</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="22" height="10" title="7" alt="7"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">2</td><td class="ctr2" id="i3">2</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td><td class="ctr1" id="l3">1</td><td class="ctr2" id="m3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.event/EventPageResponseDto.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.event/EventPageResponseDto.html
    deleted file mode 100644
    index d01d99c4..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.event/EventPageResponseDto.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>EventPageResponseDto</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.bo_domain.admin.dto.event</a> &gt; <span class="el_class">EventPageResponseDto</span></div><h1>EventPageResponseDto</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">40 of 40</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">18</td><td class="ctr2">18</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="EventPageResponseDto.java.html#L62" class="el_method">of(List, DrawSetting)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="28" alt="28"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">13</td><td class="ctr2" id="i0">13</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="EventPageResponseDto.java.html#L64" class="el_method">lambda$of$0(FcfsSetting)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="51" height="10" title="12" alt="12"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">5</td><td class="ctr2" id="i1">5</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.event/EventPageResponseDto.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.event/EventPageResponseDto.java.html
    deleted file mode 100644
    index 1d290aac..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.event/EventPageResponseDto.java.html
    +++ /dev/null
    @@ -1,85 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>EventPageResponseDto.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.bo_domain.admin.dto.event</a> &gt; <span class="el_source">EventPageResponseDto.java</span></div><h1>EventPageResponseDto.java</h1><pre class="source lang-java linenums">package com.softeer.backend.bo_domain.admin.dto.event;
    -
    -import com.fasterxml.jackson.annotation.JsonFormat;
    -import com.softeer.backend.bo_domain.admin.dto.main.AdminMainPageResponseDto;
    -import com.softeer.backend.fo_domain.draw.domain.DrawSetting;
    -import com.softeer.backend.fo_domain.draw.service.DrawSettingManager;
    -import com.softeer.backend.fo_domain.fcfs.domain.FcfsSetting;
    -import com.softeer.backend.fo_domain.fcfs.service.FcfsSettingManager;
    -import lombok.*;
    -
    -import java.time.LocalDate;
    -import java.time.LocalDateTime;
    -import java.time.LocalTime;
    -import java.util.Arrays;
    -import java.util.List;
    -
    -@NoArgsConstructor(access = AccessLevel.PRIVATE)
    -@AllArgsConstructor(access = AccessLevel.PUBLIC)
    -@Builder
    -@Getter
    -public class EventPageResponseDto {
    -
    -    private List&lt;FcfsEvent&gt; fcfsEventList;
    -
    -    private DrawEvent drawEvent;
    -
    -    @Getter
    -    @AllArgsConstructor
    -    @Builder
    -    public static class FcfsEvent {
    -
    -        private int round;
    -
    -        @JsonFormat(pattern = &quot;yyyy-MM-dd hh:mm:ss&quot;)
    -        private LocalDateTime startTime;
    -
    -        @JsonFormat(pattern = &quot;yyyy-MM-dd hh:mm:ss&quot;)
    -        private LocalDateTime endTime;
    -
    -    }
    -
    -    @Getter
    -    @AllArgsConstructor
    -    @Builder
    -    public static class DrawEvent {
    -
    -        @JsonFormat(pattern = &quot;yyyy-MM-dd&quot;)
    -        private LocalDate startDate;
    -
    -        @JsonFormat(pattern = &quot;yyyy-MM-dd&quot;)
    -        private LocalDate endDate;
    -
    -        @JsonFormat(pattern = &quot;HH:mm:ss&quot;)
    -        private LocalTime startTime;
    -
    -        @JsonFormat(pattern = &quot;HH:mm:ss&quot;)
    -        private LocalTime endTime;
    -
    -    }
    -
    -    public static EventPageResponseDto of(List&lt;FcfsSetting&gt; fcfsSettingList, DrawSetting drawSetting) {
    -<span class="nc" id="L62">        List&lt;FcfsEvent&gt; fcfsEventList = fcfsSettingList.stream()</span>
    -<span class="nc" id="L63">                .map((fcfsSetting) -&gt;</span>
    -<span class="nc" id="L64">                        EventPageResponseDto.FcfsEvent.builder()</span>
    -<span class="nc" id="L65">                                .round(fcfsSetting.getRound())</span>
    -<span class="nc" id="L66">                                .startTime(fcfsSetting.getStartTime())</span>
    -<span class="nc" id="L67">                                .endTime(fcfsSetting.getEndTime())</span>
    -<span class="nc" id="L68">                                .build())</span>
    -<span class="nc" id="L69">                .toList();</span>
    -
    -<span class="nc" id="L71">        DrawEvent drawEvent = DrawEvent.builder()</span>
    -<span class="nc" id="L72">                .startDate(drawSetting.getStartDate())</span>
    -<span class="nc" id="L73">                .endDate(drawSetting.getEndDate())</span>
    -<span class="nc" id="L74">                .startTime(drawSetting.getStartTime())</span>
    -<span class="nc" id="L75">                .endTime(drawSetting.getEndTime())</span>
    -<span class="nc" id="L76">                .build();</span>
    -
    -<span class="nc" id="L78">        return EventPageResponseDto.builder()</span>
    -<span class="nc" id="L79">                .fcfsEventList(fcfsEventList)</span>
    -<span class="nc" id="L80">                .drawEvent(drawEvent)</span>
    -<span class="nc" id="L81">                .build();</span>
    -
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.event/index.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.event/index.html
    deleted file mode 100644
    index d863bb43..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.event/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.bo_domain.admin.dto.event</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.bo_domain.admin.dto.event</span></div><h1>com.softeer.backend.bo_domain.admin.dto.event</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">40 of 40</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">18</td><td class="ctr2">18</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="EventPageResponseDto.html" class="el_class">EventPageResponseDto</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="40" alt="40"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">18</td><td class="ctr2" id="i0">18</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.event/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.event/index.source.html
    deleted file mode 100644
    index 428ee76a..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.event/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.bo_domain.admin.dto.event</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.bo_domain.admin.dto.event</span></div><h1>com.softeer.backend.bo_domain.admin.dto.event</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">40 of 40</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">18</td><td class="ctr2">18</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="EventPageResponseDto.java.html" class="el_source">EventPageResponseDto.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="40" alt="40"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">18</td><td class="ctr2" id="i0">18</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.indicator/EventIndicatorResponseDto.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.indicator/EventIndicatorResponseDto.html
    deleted file mode 100644
    index c5a599f4..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.indicator/EventIndicatorResponseDto.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>EventIndicatorResponseDto</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.bo_domain.admin.dto.indicator</a> &gt; <span class="el_class">EventIndicatorResponseDto</span></div><h1>EventIndicatorResponseDto</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">78 of 78</td><td class="ctr2">0%</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">30</td><td class="ctr2">30</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="EventIndicatorResponseDto.java.html#L54" class="el_method">of(List, DrawSetting)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="69" alt="69"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">26</td><td class="ctr2" id="i0">26</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="EventIndicatorResponseDto.java.html#L74" class="el_method">lambda$of$0(EventParticipation)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="15" height="10" title="9" alt="9"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">4</td><td class="ctr2" id="i1">4</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.indicator/EventIndicatorResponseDto.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.indicator/EventIndicatorResponseDto.java.html
    deleted file mode 100644
    index a4143d26..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.indicator/EventIndicatorResponseDto.java.html
    +++ /dev/null
    @@ -1,92 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>EventIndicatorResponseDto.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.bo_domain.admin.dto.indicator</a> &gt; <span class="el_source">EventIndicatorResponseDto.java</span></div><h1>EventIndicatorResponseDto.java</h1><pre class="source lang-java linenums">package com.softeer.backend.bo_domain.admin.dto.indicator;
    -
    -
    -import com.fasterxml.jackson.annotation.JsonFormat;
    -import com.fasterxml.jackson.databind.annotation.JsonSerialize;
    -import com.softeer.backend.bo_domain.admin.serializer.PercentageSerializer;
    -import com.softeer.backend.bo_domain.admin.serializer.PhoneNumberSerializer;
    -import com.softeer.backend.bo_domain.eventparticipation.domain.EventParticipation;
    -import com.softeer.backend.fo_domain.draw.domain.DrawSetting;
    -import com.softeer.backend.fo_domain.draw.service.DrawSettingManager;
    -import lombok.*;
    -
    -import java.time.LocalDate;
    -import java.util.List;
    -
    -@NoArgsConstructor(access = AccessLevel.PRIVATE)
    -@AllArgsConstructor(access = AccessLevel.PUBLIC)
    -@Builder
    -@Getter
    -public class EventIndicatorResponseDto {
    -
    -    @JsonFormat(pattern = &quot;yyyy-MM-dd&quot;)
    -    private LocalDate startDate;
    -
    -    @JsonFormat(pattern = &quot;yyyy-MM-dd&quot;)
    -    private LocalDate endDate;
    -
    -    private int totalVisitorCount;
    -
    -    private int totalFcfsParticipantCount;
    -
    -    private int totalDrawParticipantCount;
    -
    -    @JsonSerialize(using = PercentageSerializer.class)
    -    private double fcfsParticipantRate;
    -
    -    @JsonSerialize(using = PercentageSerializer.class)
    -    private double drawParticipantRate;
    -
    -    private List&lt;VisitorNum&gt; visitorNumList;
    -
    -    @Getter
    -    @AllArgsConstructor
    -    @Builder
    -    public static class VisitorNum {
    -
    -        @JsonFormat(pattern = &quot;yyyy-MM-dd&quot;)
    -        private LocalDate visitDate;
    -
    -        private int visitorNum;
    -    }
    -
    -    public static EventIndicatorResponseDto of(List&lt;EventParticipation&gt; eventParticipationList, DrawSetting drawSetting) {
    -<span class="nc" id="L54">        LocalDate startDate = drawSetting.getStartDate();</span>
    -<span class="nc" id="L55">        LocalDate endDate = drawSetting.getEndDate();</span>
    -
    -<span class="nc" id="L57">        int totalVisitorCount = eventParticipationList.stream()</span>
    -<span class="nc" id="L58">                .mapToInt(EventParticipation::getVisitorCount)</span>
    -<span class="nc" id="L59">                .sum();</span>
    -
    -<span class="nc" id="L61">        int totalFcfsParticipantCount = eventParticipationList.stream()</span>
    -<span class="nc" id="L62">                .mapToInt(EventParticipation::getFcfsParticipantCount)</span>
    -<span class="nc" id="L63">                .sum();</span>
    -
    -<span class="nc" id="L65">        int totalDrawParticipantCount = eventParticipationList.stream()</span>
    -<span class="nc" id="L66">                .mapToInt(EventParticipation::getDrawParticipantCount)</span>
    -<span class="nc" id="L67">                .sum();</span>
    -
    -<span class="nc bnc" id="L69" title="All 2 branches missed.">        double fcfsParticipantRate = totalVisitorCount == 0 ? 0 : (double) totalFcfsParticipantCount / (double) totalVisitorCount;</span>
    -<span class="nc bnc" id="L70" title="All 2 branches missed.">        double drawParticipantRate = totalVisitorCount == 0 ? 0 : (double) totalDrawParticipantCount / (double) totalVisitorCount;</span>
    -
    -<span class="nc" id="L72">        List&lt;VisitorNum&gt; visitorNumList = eventParticipationList.stream()</span>
    -<span class="nc" id="L73">                .map((eventParticipation) -&gt;</span>
    -<span class="nc" id="L74">                        VisitorNum.builder()</span>
    -<span class="nc" id="L75">                                .visitDate(eventParticipation.getEventDate())</span>
    -<span class="nc" id="L76">                                .visitorNum(eventParticipation.getVisitorCount())</span>
    -<span class="nc" id="L77">                                .build())</span>
    -<span class="nc" id="L78">                .toList();</span>
    -
    -<span class="nc" id="L80">        return EventIndicatorResponseDto.builder()</span>
    -<span class="nc" id="L81">                .startDate(startDate)</span>
    -<span class="nc" id="L82">                .endDate(endDate)</span>
    -<span class="nc" id="L83">                .totalVisitorCount(totalVisitorCount)</span>
    -<span class="nc" id="L84">                .totalFcfsParticipantCount(totalFcfsParticipantCount)</span>
    -<span class="nc" id="L85">                .totalDrawParticipantCount(totalDrawParticipantCount)</span>
    -<span class="nc" id="L86">                .fcfsParticipantRate(fcfsParticipantRate)</span>
    -<span class="nc" id="L87">                .drawParticipantRate(drawParticipantRate)</span>
    -<span class="nc" id="L88">                .visitorNumList(visitorNumList)</span>
    -<span class="nc" id="L89">                .build();</span>
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.indicator/index.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.indicator/index.html
    deleted file mode 100644
    index ecaf2aa4..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.indicator/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.bo_domain.admin.dto.indicator</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.bo_domain.admin.dto.indicator</span></div><h1>com.softeer.backend.bo_domain.admin.dto.indicator</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">78 of 78</td><td class="ctr2">0%</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">30</td><td class="ctr2">30</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="EventIndicatorResponseDto.html" class="el_class">EventIndicatorResponseDto</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="78" alt="78"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">30</td><td class="ctr2" id="i0">30</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.indicator/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.indicator/index.source.html
    deleted file mode 100644
    index feb28f64..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.indicator/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.bo_domain.admin.dto.indicator</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.bo_domain.admin.dto.indicator</span></div><h1>com.softeer.backend.bo_domain.admin.dto.indicator</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">78 of 78</td><td class="ctr2">0%</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">30</td><td class="ctr2">30</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="EventIndicatorResponseDto.java.html" class="el_source">EventIndicatorResponseDto.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="78" alt="78"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">30</td><td class="ctr2" id="i0">30</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.main/AdminMainPageResponseDto.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.main/AdminMainPageResponseDto.html
    deleted file mode 100644
    index 3b4e06bb..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.main/AdminMainPageResponseDto.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>AdminMainPageResponseDto</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.bo_domain.admin.dto.main</a> &gt; <span class="el_class">AdminMainPageResponseDto</span></div><h1>AdminMainPageResponseDto</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">113 of 113</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">38</td><td class="ctr2">38</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a2"><a href="AdminMainPageResponseDto.java.html#L77" class="el_method">of(List, List)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="93" alt="93"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">31</td><td class="ctr2" id="i0">31</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="AdminMainPageResponseDto.java.html#L79" class="el_method">lambda$of$0(FcfsSetting)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="19" height="10" title="15" alt="15"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">6</td><td class="ctr2" id="i1">6</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="AdminMainPageResponseDto.java.html#L121" class="el_method">calculateWinningProbability(int)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="6" height="10" title="5" alt="5"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.main/AdminMainPageResponseDto.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.main/AdminMainPageResponseDto.java.html
    deleted file mode 100644
    index 7fe0a016..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.main/AdminMainPageResponseDto.java.html
    +++ /dev/null
    @@ -1,124 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>AdminMainPageResponseDto.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.bo_domain.admin.dto.main</a> &gt; <span class="el_source">AdminMainPageResponseDto.java</span></div><h1>AdminMainPageResponseDto.java</h1><pre class="source lang-java linenums">package com.softeer.backend.bo_domain.admin.dto.main;
    -
    -import com.fasterxml.jackson.annotation.JsonFormat;
    -import com.fasterxml.jackson.databind.annotation.JsonSerialize;
    -import com.softeer.backend.bo_domain.admin.serializer.PercentageSerializer;
    -import com.softeer.backend.fo_domain.draw.domain.DrawSetting;
    -import com.softeer.backend.fo_domain.fcfs.domain.FcfsSetting;
    -import lombok.*;
    -
    -import java.time.LocalDate;
    -import java.time.LocalDateTime;
    -import java.time.LocalTime;
    -import java.util.Arrays;
    -import java.util.List;
    -
    -@NoArgsConstructor(access = AccessLevel.PRIVATE)
    -@AllArgsConstructor(access = AccessLevel.PUBLIC)
    -@Builder
    -@Getter
    -public class AdminMainPageResponseDto {
    -    public static final int EXPECTED_PARTICIPANT_COUNT = 10000;
    -
    -    private List&lt;FcfsEvent&gt; fcfsEventList;
    -
    -    private DrawEvent drawEvent;
    -
    -    @Getter
    -    @AllArgsConstructor
    -    @Builder
    -    public static class FcfsEvent {
    -
    -        private int round;
    -
    -        @JsonFormat(pattern = &quot;yyyy-MM-dd hh:mm:ss&quot;)
    -        private LocalDateTime startTime;
    -
    -        @JsonFormat(pattern = &quot;yyyy-MM-dd hh:mm:ss&quot;)
    -        private LocalDateTime endTime;
    -
    -        private int winnerNum;
    -    }
    -
    -    @Getter
    -    @AllArgsConstructor
    -    @Builder
    -    public static class DrawEvent {
    -
    -        @JsonFormat(pattern = &quot;yyyy-MM-dd&quot;)
    -        private LocalDate startDate;
    -
    -        @JsonFormat(pattern = &quot;yyyy-MM-dd&quot;)
    -        private LocalDate endDate;
    -
    -        @JsonFormat(pattern = &quot;hh:mm:ss&quot;)
    -        private LocalTime startTime;
    -
    -        @JsonFormat(pattern = &quot;hh:mm:ss&quot;)
    -        private LocalTime endTime;
    -
    -        private List&lt;DrawInfo&gt; drawInfoList;
    -    }
    -
    -    @Getter
    -    @AllArgsConstructor
    -    @Builder
    -    public static class DrawInfo {
    -
    -        private int rank;
    -
    -        private int winnerNum;
    -
    -        @JsonSerialize(using = PercentageSerializer.class)
    -        private double probability;
    -    }
    -
    -    public static AdminMainPageResponseDto of(List&lt;FcfsSetting&gt; fcfsSettingList, List&lt;DrawSetting&gt; drawSettingList) {
    -<span class="nc" id="L77">        List&lt;FcfsEvent&gt; fcfsEventList = fcfsSettingList.stream()</span>
    -<span class="nc" id="L78">                .map((fcfsSetting) -&gt;</span>
    -<span class="nc" id="L79">                        FcfsEvent.builder()</span>
    -<span class="nc" id="L80">                                .round(fcfsSetting.getRound())</span>
    -<span class="nc" id="L81">                                .startTime(fcfsSetting.getStartTime())</span>
    -<span class="nc" id="L82">                                .endTime(fcfsSetting.getEndTime())</span>
    -<span class="nc" id="L83">                                .winnerNum(fcfsSetting.getWinnerNum())</span>
    -<span class="nc" id="L84">                                .build())</span>
    -<span class="nc" id="L85">                .toList();</span>
    -
    -<span class="nc" id="L87">        DrawSetting drawSetting = drawSettingList.get(0);</span>
    -<span class="nc" id="L88">        DrawInfo drawInfoFirst = DrawInfo.builder()</span>
    -<span class="nc" id="L89">                .rank(1)</span>
    -<span class="nc" id="L90">                .winnerNum(drawSetting.getWinnerNum1())</span>
    -<span class="nc" id="L91">                .probability(calculateWinningProbability(drawSetting.getWinnerNum1()))</span>
    -<span class="nc" id="L92">                .build();</span>
    -<span class="nc" id="L93">        DrawInfo drawInfoSecond = DrawInfo.builder()</span>
    -<span class="nc" id="L94">                .rank(2)</span>
    -<span class="nc" id="L95">                .winnerNum(drawSetting.getWinnerNum2())</span>
    -<span class="nc" id="L96">                .probability(calculateWinningProbability(drawSetting.getWinnerNum2()))</span>
    -<span class="nc" id="L97">                .build();</span>
    -<span class="nc" id="L98">        DrawInfo drawInfoThird = DrawInfo.builder()</span>
    -<span class="nc" id="L99">                .rank(3)</span>
    -<span class="nc" id="L100">                .winnerNum(drawSetting.getWinnerNum3())</span>
    -<span class="nc" id="L101">                .probability(calculateWinningProbability(drawSetting.getWinnerNum3()))</span>
    -<span class="nc" id="L102">                .build();</span>
    -
    -<span class="nc" id="L104">        List&lt;DrawInfo&gt; drawInfoList = Arrays.asList(drawInfoFirst, drawInfoSecond, drawInfoThird);</span>
    -<span class="nc" id="L105">        DrawEvent drawEvent = DrawEvent.builder()</span>
    -<span class="nc" id="L106">                .startDate(drawSetting.getStartDate())</span>
    -<span class="nc" id="L107">                .endDate(drawSetting.getEndDate())</span>
    -<span class="nc" id="L108">                .startTime(drawSetting.getStartTime())</span>
    -<span class="nc" id="L109">                .endTime(drawSetting.getEndTime())</span>
    -<span class="nc" id="L110">                .drawInfoList(drawInfoList)</span>
    -<span class="nc" id="L111">                .build();</span>
    -
    -<span class="nc" id="L113">        return AdminMainPageResponseDto.builder()</span>
    -<span class="nc" id="L114">                .fcfsEventList(fcfsEventList)</span>
    -<span class="nc" id="L115">                .drawEvent(drawEvent)</span>
    -<span class="nc" id="L116">                .build();</span>
    -
    -    }
    -
    -    private static double calculateWinningProbability(int winnerNum) {
    -<span class="nc" id="L121">        return (double) winnerNum / (double) EXPECTED_PARTICIPANT_COUNT;</span>
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.main/index.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.main/index.html
    deleted file mode 100644
    index b3eb3563..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.main/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.bo_domain.admin.dto.main</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.bo_domain.admin.dto.main</span></div><h1>com.softeer.backend.bo_domain.admin.dto.main</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">113 of 113</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">38</td><td class="ctr2">38</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="AdminMainPageResponseDto.html" class="el_class">AdminMainPageResponseDto</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="113" alt="113"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">38</td><td class="ctr2" id="i0">38</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k0">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.main/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.main/index.source.html
    deleted file mode 100644
    index 1d064aa4..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.main/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.bo_domain.admin.dto.main</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.bo_domain.admin.dto.main</span></div><h1>com.softeer.backend.bo_domain.admin.dto.main</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">113 of 113</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">38</td><td class="ctr2">38</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="AdminMainPageResponseDto.java.html" class="el_source">AdminMainPageResponseDto.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="113" alt="113"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">38</td><td class="ctr2" id="i0">38</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k0">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/DrawWinnerListResponseDto.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/DrawWinnerListResponseDto.html
    deleted file mode 100644
    index 447e24eb..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/DrawWinnerListResponseDto.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DrawWinnerListResponseDto</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.bo_domain.admin.dto.winner</a> &gt; <span class="el_class">DrawWinnerListResponseDto</span></div><h1>DrawWinnerListResponseDto</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">27 of 27</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">11</td><td class="ctr2">11</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="DrawWinnerListResponseDto.java.html#L34" class="el_method">of(List, int)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="16" alt="16"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">8</td><td class="ctr2" id="i0">8</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="DrawWinnerListResponseDto.java.html#L35" class="el_method">lambda$of$0(Draw)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="82" height="10" title="11" alt="11"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">4</td><td class="ctr2" id="i1">4</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/DrawWinnerListResponseDto.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/DrawWinnerListResponseDto.java.html
    deleted file mode 100644
    index f5fe3075..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/DrawWinnerListResponseDto.java.html
    +++ /dev/null
    @@ -1,49 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DrawWinnerListResponseDto.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.bo_domain.admin.dto.winner</a> &gt; <span class="el_source">DrawWinnerListResponseDto.java</span></div><h1>DrawWinnerListResponseDto.java</h1><pre class="source lang-java linenums">package com.softeer.backend.bo_domain.admin.dto.winner;
    -
    -import com.fasterxml.jackson.databind.annotation.JsonSerialize;
    -import com.softeer.backend.bo_domain.admin.serializer.PhoneNumberSerializer;
    -import com.softeer.backend.fo_domain.draw.domain.Draw;
    -import com.softeer.backend.fo_domain.fcfs.domain.Fcfs;
    -import lombok.*;
    -
    -import java.util.Comparator;
    -import java.util.List;
    -
    -@NoArgsConstructor(access = AccessLevel.PRIVATE)
    -@AllArgsConstructor(access = AccessLevel.PUBLIC)
    -@Builder
    -@Getter
    -public class DrawWinnerListResponseDto {
    -
    -    int rank;
    -
    -    private List&lt;DrawWinner&gt; drawWinnerList;
    -
    -    @Getter
    -    @AllArgsConstructor
    -    @Builder
    -    public static class DrawWinner {
    -
    -        private String name;
    -
    -        @JsonSerialize(using = PhoneNumberSerializer.class)
    -        private String phoneNumber;
    -    }
    -
    -    public static DrawWinnerListResponseDto of(List&lt;Draw&gt; drawList, int rank) {
    -<span class="nc" id="L34">        List&lt;DrawWinner&gt; drawWinnerList = drawList.stream()</span>
    -<span class="nc" id="L35">                .map((draw) -&gt; DrawWinner.builder()</span>
    -<span class="nc" id="L36">                        .name(draw.getUser().getName())</span>
    -<span class="nc" id="L37">                        .phoneNumber(draw.getUser().getPhoneNumber())</span>
    -<span class="nc" id="L38">                        .build())</span>
    -<span class="nc" id="L39">                .sorted(Comparator.comparing(DrawWinnerListResponseDto.DrawWinner::getName))</span>
    -<span class="nc" id="L40">                .toList();</span>
    -
    -<span class="nc" id="L42">        return DrawWinnerListResponseDto.builder()</span>
    -<span class="nc" id="L43">                .rank(rank)</span>
    -<span class="nc" id="L44">                .drawWinnerList(drawWinnerList)</span>
    -<span class="nc" id="L45">                .build();</span>
    -    }
    -
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/FcfsWinnerListResponseDto.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/FcfsWinnerListResponseDto.html
    deleted file mode 100644
    index 89a22cf8..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/FcfsWinnerListResponseDto.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>FcfsWinnerListResponseDto</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.bo_domain.admin.dto.winner</a> &gt; <span class="el_class">FcfsWinnerListResponseDto</span></div><h1>FcfsWinnerListResponseDto</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">27 of 27</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">11</td><td class="ctr2">11</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="FcfsWinnerListResponseDto.java.html#L34" class="el_method">of(List, int)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="16" alt="16"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">8</td><td class="ctr2" id="i0">8</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="FcfsWinnerListResponseDto.java.html#L35" class="el_method">lambda$of$0(Fcfs)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="82" height="10" title="11" alt="11"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">4</td><td class="ctr2" id="i1">4</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/FcfsWinnerListResponseDto.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/FcfsWinnerListResponseDto.java.html
    deleted file mode 100644
    index dc3cbb3d..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/FcfsWinnerListResponseDto.java.html
    +++ /dev/null
    @@ -1,48 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>FcfsWinnerListResponseDto.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.bo_domain.admin.dto.winner</a> &gt; <span class="el_source">FcfsWinnerListResponseDto.java</span></div><h1>FcfsWinnerListResponseDto.java</h1><pre class="source lang-java linenums">package com.softeer.backend.bo_domain.admin.dto.winner;
    -
    -import com.fasterxml.jackson.databind.annotation.JsonSerialize;
    -import com.softeer.backend.bo_domain.admin.serializer.PhoneNumberSerializer;
    -import com.softeer.backend.fo_domain.fcfs.domain.Fcfs;
    -import lombok.*;
    -
    -import java.util.ArrayList;
    -import java.util.Comparator;
    -import java.util.List;
    -
    -@NoArgsConstructor(access = AccessLevel.PRIVATE)
    -@AllArgsConstructor(access = AccessLevel.PUBLIC)
    -@Builder
    -@Getter
    -public class FcfsWinnerListResponseDto {
    -
    -    int round;
    -
    -    private List&lt;FcfsWinner&gt; fcfsWinnerList;
    -
    -    @Getter
    -    @AllArgsConstructor
    -    @Builder
    -    public static class FcfsWinner {
    -
    -        private String name;
    -
    -        @JsonSerialize(using = PhoneNumberSerializer.class)
    -        private String phoneNumber;
    -    }
    -
    -    public static FcfsWinnerListResponseDto of(List&lt;Fcfs&gt; fcfsList, int round) {
    -<span class="nc" id="L34">        List&lt;FcfsWinner&gt; fcfsWinnerList = fcfsList.stream()</span>
    -<span class="nc" id="L35">                .map((fcfs) -&gt; FcfsWinner.builder()</span>
    -<span class="nc" id="L36">                        .name(fcfs.getUser().getName())</span>
    -<span class="nc" id="L37">                        .phoneNumber(fcfs.getUser().getPhoneNumber())</span>
    -<span class="nc" id="L38">                        .build())</span>
    -<span class="nc" id="L39">                .sorted(Comparator.comparing(FcfsWinner::getName))</span>
    -<span class="nc" id="L40">                .toList();</span>
    -
    -<span class="nc" id="L42">        return FcfsWinnerListResponseDto.builder()</span>
    -<span class="nc" id="L43">                .round(round)</span>
    -<span class="nc" id="L44">                .fcfsWinnerList(fcfsWinnerList)</span>
    -<span class="nc" id="L45">                .build();</span>
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/WinnerPageResponseDto.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/WinnerPageResponseDto.html
    deleted file mode 100644
    index bb48d7cd..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/WinnerPageResponseDto.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>WinnerPageResponseDto</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.bo_domain.admin.dto.winner</a> &gt; <span class="el_class">WinnerPageResponseDto</span></div><h1>WinnerPageResponseDto</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">89 of 89</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">29</td><td class="ctr2">29</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a2"><a href="WinnerPageResponseDto.java.html#L55" class="el_method">of(List, DrawSetting)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="71" alt="71"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">23</td><td class="ctr2" id="i0">23</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="WinnerPageResponseDto.java.html#L57" class="el_method">lambda$of$0(FcfsSetting)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="21" height="10" title="13" alt="13"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">5</td><td class="ctr2" id="i1">5</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="WinnerPageResponseDto.java.html#L90" class="el_method">calculateWinningProbability(int)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="8" height="10" title="5" alt="5"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/WinnerPageResponseDto.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/WinnerPageResponseDto.java.html
    deleted file mode 100644
    index 3ea0ac87..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/WinnerPageResponseDto.java.html
    +++ /dev/null
    @@ -1,93 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>WinnerPageResponseDto.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.bo_domain.admin.dto.winner</a> &gt; <span class="el_source">WinnerPageResponseDto.java</span></div><h1>WinnerPageResponseDto.java</h1><pre class="source lang-java linenums">package com.softeer.backend.bo_domain.admin.dto.winner;
    -
    -import com.fasterxml.jackson.annotation.JsonFormat;
    -import com.fasterxml.jackson.databind.annotation.JsonSerialize;
    -import com.softeer.backend.bo_domain.admin.serializer.PercentageSerializer;
    -import com.softeer.backend.fo_domain.draw.domain.DrawSetting;
    -import com.softeer.backend.fo_domain.draw.service.DrawSettingManager;
    -import com.softeer.backend.fo_domain.fcfs.domain.FcfsSetting;
    -import com.softeer.backend.fo_domain.fcfs.service.FcfsSettingManager;
    -import lombok.*;
    -
    -import java.time.LocalDate;
    -import java.util.Arrays;
    -import java.util.List;
    -
    -@NoArgsConstructor(access = AccessLevel.PRIVATE)
    -@AllArgsConstructor(access = AccessLevel.PUBLIC)
    -@Builder
    -@Getter
    -public class WinnerPageResponseDto {
    -
    -    public static final int EXPECTED_PARTICIPANT_COUNT = 10000;
    -
    -    private List&lt;FcfsEvent&gt; fcfsEventList;
    -
    -    private List&lt;DrawEvent&gt; drawEventList;
    -
    -    @Getter
    -    @AllArgsConstructor
    -    @Builder
    -    public static class FcfsEvent {
    -
    -        private int round;
    -
    -        @JsonFormat(pattern = &quot;yyyy-MM-dd&quot;)
    -        private LocalDate eventDate;
    -
    -        private int winnerNum;
    -    }
    -
    -    @Getter
    -    @AllArgsConstructor
    -    @Builder
    -    public static class DrawEvent {
    -
    -        private int rank;
    -
    -        private int winnerNum;
    -
    -        @JsonSerialize(using = PercentageSerializer.class)
    -        private double probability;
    -    }
    -
    -    public static WinnerPageResponseDto of(List&lt;FcfsSetting&gt; fcfsSettingList, DrawSetting drawSetting) {
    -<span class="nc" id="L55">        List&lt;FcfsEvent&gt; fcfsEventList = fcfsSettingList.stream()</span>
    -<span class="nc" id="L56">                .map((fcfsSetting) -&gt;</span>
    -<span class="nc" id="L57">                        FcfsEvent.builder()</span>
    -<span class="nc" id="L58">                                .round(fcfsSetting.getRound())</span>
    -<span class="nc" id="L59">                                .eventDate(LocalDate.from(fcfsSetting.getStartTime()))</span>
    -<span class="nc" id="L60">                                .winnerNum(fcfsSetting.getWinnerNum())</span>
    -<span class="nc" id="L61">                                .build())</span>
    -<span class="nc" id="L62">                .toList();</span>
    -
    -<span class="nc" id="L64">        DrawEvent drawEvent1 = DrawEvent.builder()</span>
    -<span class="nc" id="L65">                .rank(1)</span>
    -<span class="nc" id="L66">                .winnerNum(drawSetting.getWinnerNum1())</span>
    -<span class="nc" id="L67">                .probability(calculateWinningProbability(drawSetting.getWinnerNum1()))</span>
    -<span class="nc" id="L68">                .build();</span>
    -<span class="nc" id="L69">        DrawEvent drawEvent2 = DrawEvent.builder()</span>
    -<span class="nc" id="L70">                .rank(2)</span>
    -<span class="nc" id="L71">                .winnerNum(drawSetting.getWinnerNum2())</span>
    -<span class="nc" id="L72">                .probability(calculateWinningProbability(drawSetting.getWinnerNum2()))</span>
    -<span class="nc" id="L73">                .build();</span>
    -<span class="nc" id="L74">        DrawEvent drawEvent3 = DrawEvent.builder()</span>
    -<span class="nc" id="L75">                .rank(3)</span>
    -<span class="nc" id="L76">                .winnerNum(drawSetting.getWinnerNum3())</span>
    -<span class="nc" id="L77">                .probability(calculateWinningProbability(drawSetting.getWinnerNum3()))</span>
    -<span class="nc" id="L78">                .build();</span>
    -
    -<span class="nc" id="L80">        List&lt;DrawEvent&gt; drawEventList = Arrays.asList(drawEvent1, drawEvent2, drawEvent3);</span>
    -
    -<span class="nc" id="L82">        return WinnerPageResponseDto.builder()</span>
    -<span class="nc" id="L83">                .fcfsEventList(fcfsEventList)</span>
    -<span class="nc" id="L84">                .drawEventList(drawEventList)</span>
    -<span class="nc" id="L85">                .build();</span>
    -
    -    }
    -
    -    private static double calculateWinningProbability(int winnerNum) {
    -<span class="nc" id="L90">        return (double) winnerNum / (double) EXPECTED_PARTICIPANT_COUNT;</span>
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/index.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/index.html
    deleted file mode 100644
    index 4c94cde8..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.bo_domain.admin.dto.winner</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.bo_domain.admin.dto.winner</span></div><h1>com.softeer.backend.bo_domain.admin.dto.winner</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">143 of 143</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">7</td><td class="ctr2">7</td><td class="ctr1">51</td><td class="ctr2">51</td><td class="ctr1">7</td><td class="ctr2">7</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a2"><a href="WinnerPageResponseDto.html" class="el_class">WinnerPageResponseDto</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="89" alt="89"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">29</td><td class="ctr2" id="i0">29</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k0">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="DrawWinnerListResponseDto.html" class="el_class">DrawWinnerListResponseDto</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="36" height="10" title="27" alt="27"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">2</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h1">11</td><td class="ctr2" id="i1">11</td><td class="ctr1" id="j1">2</td><td class="ctr2" id="k1">2</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a1"><a href="FcfsWinnerListResponseDto.html" class="el_class">FcfsWinnerListResponseDto</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="36" height="10" title="27" alt="27"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">2</td><td class="ctr2" id="g2">2</td><td class="ctr1" id="h2">11</td><td class="ctr2" id="i2">11</td><td class="ctr1" id="j2">2</td><td class="ctr2" id="k2">2</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/index.source.html
    deleted file mode 100644
    index 400abace..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.bo_domain.admin.dto.winner</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.bo_domain.admin.dto.winner</span></div><h1>com.softeer.backend.bo_domain.admin.dto.winner</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">143 of 143</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">7</td><td class="ctr2">7</td><td class="ctr1">51</td><td class="ctr2">51</td><td class="ctr1">7</td><td class="ctr2">7</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a2"><a href="WinnerPageResponseDto.java.html" class="el_source">WinnerPageResponseDto.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="89" alt="89"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">29</td><td class="ctr2" id="i0">29</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k0">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a1"><a href="FcfsWinnerListResponseDto.java.html" class="el_source">FcfsWinnerListResponseDto.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="36" height="10" title="27" alt="27"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">2</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h1">11</td><td class="ctr2" id="i1">11</td><td class="ctr1" id="j1">2</td><td class="ctr2" id="k1">2</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a0"><a href="DrawWinnerListResponseDto.java.html" class="el_source">DrawWinnerListResponseDto.java</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="36" height="10" title="27" alt="27"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">2</td><td class="ctr2" id="g2">2</td><td class="ctr1" id="h2">11</td><td class="ctr2" id="i2">11</td><td class="ctr1" id="j2">2</td><td class="ctr2" id="k2">2</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.exception/AdminException.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.exception/AdminException.html
    deleted file mode 100644
    index 134b3b24..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.exception/AdminException.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>AdminException</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.bo_domain.admin.exception</a> &gt; <span class="el_class">AdminException</span></div><h1>AdminException</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="AdminException.java.html#L9" class="el_method">AdminException(BaseErrorCode)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.exception/AdminException.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.exception/AdminException.java.html
    deleted file mode 100644
    index ae60560e..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.exception/AdminException.java.html
    +++ /dev/null
    @@ -1,12 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>AdminException.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.bo_domain.admin.exception</a> &gt; <span class="el_source">AdminException.java</span></div><h1>AdminException.java</h1><pre class="source lang-java linenums">package com.softeer.backend.bo_domain.admin.exception;
    -
    -import com.softeer.backend.global.common.code.BaseErrorCode;
    -import com.softeer.backend.global.common.exception.GeneralException;
    -
    -public class AdminException extends GeneralException {
    -
    -    public AdminException(BaseErrorCode code) {
    -<span class="nc" id="L9">        super(code);</span>
    -<span class="nc" id="L10">    }</span>
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.exception/index.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.exception/index.html
    deleted file mode 100644
    index 216a9f3e..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.exception/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.bo_domain.admin.exception</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.bo_domain.admin.exception</span></div><h1>com.softeer.backend.bo_domain.admin.exception</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="AdminException.html" class="el_class">AdminException</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.exception/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.exception/index.source.html
    deleted file mode 100644
    index 269a73e4..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.exception/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.bo_domain.admin.exception</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.bo_domain.admin.exception</span></div><h1>com.softeer.backend.bo_domain.admin.exception</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="AdminException.java.html" class="el_source">AdminException.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/PercentageSerializer.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/PercentageSerializer.html
    deleted file mode 100644
    index 383a1cc3..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/PercentageSerializer.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>PercentageSerializer</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.bo_domain.admin.serializer</a> &gt; <span class="el_class">PercentageSerializer</span></div><h1>PercentageSerializer</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">22 of 22</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="PercentageSerializer.java.html#L13" class="el_method">serialize(Double, JsonGenerator, SerializerProvider)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="19" alt="19"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">4</td><td class="ctr2" id="i0">4</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="PercentageSerializer.java.html#L9" class="el_method">PercentageSerializer()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="18" height="10" title="3" alt="3"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/PercentageSerializer.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/PercentageSerializer.java.html
    deleted file mode 100644
    index d15bed41..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/PercentageSerializer.java.html
    +++ /dev/null
    @@ -1,20 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>PercentageSerializer.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.bo_domain.admin.serializer</a> &gt; <span class="el_source">PercentageSerializer.java</span></div><h1>PercentageSerializer.java</h1><pre class="source lang-java linenums">package com.softeer.backend.bo_domain.admin.serializer;
    -
    -import com.fasterxml.jackson.core.JsonGenerator;
    -import com.fasterxml.jackson.databind.JsonSerializer;
    -import com.fasterxml.jackson.databind.SerializerProvider;
    -
    -import java.io.IOException;
    -
    -<span class="nc" id="L9">public class PercentageSerializer extends JsonSerializer&lt;Double&gt; {</span>
    -
    -    @Override
    -    public void serialize(Double value, JsonGenerator gen, SerializerProvider serializers) throws IOException {
    -<span class="nc bnc" id="L13" title="All 2 branches missed.">        if (value != null) {</span>
    -            // 백분율로 변환하고 % 기호를 붙입니다.
    -<span class="nc" id="L15">            String formatted = String.format(&quot;%.2f%%&quot;, value * 100);</span>
    -<span class="nc" id="L16">            gen.writeString(formatted);</span>
    -        }
    -<span class="nc" id="L18">    }</span>
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/PhoneNumberSerializer.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/PhoneNumberSerializer.html
    deleted file mode 100644
    index 49823d36..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/PhoneNumberSerializer.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>PhoneNumberSerializer</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.bo_domain.admin.serializer</a> &gt; <span class="el_class">PhoneNumberSerializer</span></div><h1>PhoneNumberSerializer</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">12 of 12</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="PhoneNumberSerializer.java.html#L14" class="el_method">serialize(String, JsonGenerator, SerializerProvider)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="9" alt="9"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">3</td><td class="ctr2" id="i0">3</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="PhoneNumberSerializer.java.html#L9" class="el_method">PhoneNumberSerializer()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="40" height="10" title="3" alt="3"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/PhoneNumberSerializer.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/PhoneNumberSerializer.java.html
    deleted file mode 100644
    index 5b3f7632..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/PhoneNumberSerializer.java.html
    +++ /dev/null
    @@ -1,18 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>PhoneNumberSerializer.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.bo_domain.admin.serializer</a> &gt; <span class="el_source">PhoneNumberSerializer.java</span></div><h1>PhoneNumberSerializer.java</h1><pre class="source lang-java linenums">package com.softeer.backend.bo_domain.admin.serializer;
    -
    -import com.fasterxml.jackson.core.JsonGenerator;
    -import com.fasterxml.jackson.databind.JsonSerializer;
    -import com.fasterxml.jackson.databind.SerializerProvider;
    -
    -import java.io.IOException;
    -
    -<span class="nc" id="L9">public class PhoneNumberSerializer extends JsonSerializer&lt;String&gt; {</span>
    -
    -    @Override
    -    public void serialize(String value, JsonGenerator gen, SerializerProvider serializers) throws IOException {
    -
    -<span class="nc" id="L14">        String formatted = value.replaceAll(&quot;(\\d{3})(\\d{4})(\\d+)&quot;, &quot;$1-$2-$3&quot;);</span>
    -<span class="nc" id="L15">        gen.writeString(formatted);</span>
    -<span class="nc" id="L16">    }</span>
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/index.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/index.html
    deleted file mode 100644
    index cd7d0e99..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.bo_domain.admin.serializer</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.bo_domain.admin.serializer</span></div><h1>com.softeer.backend.bo_domain.admin.serializer</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">34 of 34</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">9</td><td class="ctr2">9</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="PercentageSerializer.html" class="el_class">PercentageSerializer</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="22" alt="22"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">5</td><td class="ctr2" id="i0">5</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a1"><a href="PhoneNumberSerializer.html" class="el_class">PhoneNumberSerializer</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="65" height="10" title="12" alt="12"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">2</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h1">4</td><td class="ctr2" id="i1">4</td><td class="ctr1" id="j1">2</td><td class="ctr2" id="k1">2</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/index.source.html
    deleted file mode 100644
    index 743c8e2e..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.bo_domain.admin.serializer</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.bo_domain.admin.serializer</span></div><h1>com.softeer.backend.bo_domain.admin.serializer</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">34 of 34</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">9</td><td class="ctr2">9</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="PercentageSerializer.java.html" class="el_source">PercentageSerializer.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="22" alt="22"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">5</td><td class="ctr2" id="i0">5</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a1"><a href="PhoneNumberSerializer.java.html" class="el_source">PhoneNumberSerializer.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="65" height="10" title="12" alt="12"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">2</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h1">4</td><td class="ctr2" id="i1">4</td><td class="ctr1" id="j1">2</td><td class="ctr2" id="k1">2</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/AdminLoginService.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/AdminLoginService.html
    deleted file mode 100644
    index 346d68e1..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/AdminLoginService.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>AdminLoginService</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.bo_domain.admin.service</a> &gt; <span class="el_class">AdminLoginService</span></div><h1>AdminLoginService</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">89 of 89</td><td class="ctr2">0%</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="ctr1">7</td><td class="ctr2">7</td><td class="ctr1">25</td><td class="ctr2">25</td><td class="ctr1">5</td><td class="ctr2">5</td></tr></tfoot><tbody><tr><td id="a0"><a href="AdminLoginService.java.html#L33" class="el_method">handleLogin(AdminLoginRequestDto)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="37" alt="37"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">9</td><td class="ctr2" id="i0">9</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="AdminLoginService.java.html#L62" class="el_method">handleSignUp(AdminSignUpRequestDto)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="97" height="10" title="30" alt="30"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f1">2</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h1">8</td><td class="ctr2" id="i1">8</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a1"><a href="AdminLoginService.java.html#L53" class="el_method">handleLogout(int)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="32" height="10" title="10" alt="10"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">5</td><td class="ctr2" id="i2">5</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a3"><a href="AdminLoginService.java.html#L35" class="el_method">lambda$handleLogin$0()</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="25" height="10" title="8" alt="8"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">2</td><td class="ctr2" id="i3">2</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a4"><a href="AdminLoginService.java.html#L20" class="el_method">static {...}</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="12" height="10" title="4" alt="4"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">1</td><td class="ctr2" id="i4">1</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/AdminLoginService.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/AdminLoginService.java.html
    deleted file mode 100644
    index c2a389e6..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/AdminLoginService.java.html
    +++ /dev/null
    @@ -1,73 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>AdminLoginService.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.bo_domain.admin.service</a> &gt; <span class="el_source">AdminLoginService.java</span></div><h1>AdminLoginService.java</h1><pre class="source lang-java linenums">package com.softeer.backend.bo_domain.admin.service;
    -
    -import com.softeer.backend.bo_domain.admin.domain.Admin;
    -import com.softeer.backend.bo_domain.admin.dto.login.AdminLoginRequestDto;
    -import com.softeer.backend.bo_domain.admin.dto.login.AdminSignUpRequestDto;
    -import com.softeer.backend.bo_domain.admin.exception.AdminException;
    -import com.softeer.backend.bo_domain.admin.repository.AdminRepository;
    -import com.softeer.backend.bo_domain.admin.util.PasswordEncoder;
    -import com.softeer.backend.global.common.code.status.ErrorStatus;
    -import com.softeer.backend.global.common.constant.RoleType;
    -import com.softeer.backend.global.common.dto.JwtClaimsDto;
    -import com.softeer.backend.global.common.dto.JwtTokenResponseDto;
    -import com.softeer.backend.global.util.JwtUtil;
    -import com.softeer.backend.global.util.StringRedisUtil;
    -import lombok.RequiredArgsConstructor;
    -import lombok.extern.slf4j.Slf4j;
    -import org.springframework.stereotype.Service;
    -import org.springframework.transaction.annotation.Transactional;
    -
    -<span class="nc" id="L20">@Slf4j</span>
    -@Service
    -@RequiredArgsConstructor
    -public class AdminLoginService {
    -
    -    private final AdminRepository adminRepository;
    -    private final JwtUtil jwtUtil;
    -    private final StringRedisUtil stringRedisUtil;
    -    private final PasswordEncoder passwordEncoder;
    -
    -    @Transactional(readOnly = true)
    -    public JwtTokenResponseDto handleLogin(AdminLoginRequestDto adminLoginRequestDto) {
    -
    -<span class="nc" id="L33">        Admin admin = adminRepository.findByAccount(adminLoginRequestDto.getAccount())</span>
    -<span class="nc" id="L34">                .orElseThrow(() -&gt; {</span>
    -<span class="nc" id="L35">                    log.error(&quot;Admin not found.&quot;);</span>
    -<span class="nc" id="L36">                    return new AdminException(ErrorStatus._NOT_FOUND);</span>
    -                });
    -
    -<span class="nc bnc" id="L39" title="All 2 branches missed.">        if (!passwordEncoder.matches(adminLoginRequestDto.getPassword(), admin.getPassword())) {</span>
    -<span class="nc" id="L40">            log.error(&quot;Admin password not match.&quot;);</span>
    -<span class="nc" id="L41">            throw new AdminException(ErrorStatus._NOT_FOUND);</span>
    -        }
    -
    -<span class="nc" id="L44">        return jwtUtil.createServiceToken(JwtClaimsDto.builder()</span>
    -<span class="nc" id="L45">                .id(admin.getId())</span>
    -<span class="nc" id="L46">                .roleType(RoleType.ROLE_ADMIN)</span>
    -<span class="nc" id="L47">                .build());</span>
    -
    -    }
    -
    -    public void handleLogout(int adminId) {
    -
    -<span class="nc" id="L53">        stringRedisUtil.deleteRefreshToken(JwtClaimsDto.builder()</span>
    -<span class="nc" id="L54">                .id(adminId)</span>
    -<span class="nc" id="L55">                .roleType(RoleType.ROLE_ADMIN)</span>
    -<span class="nc" id="L56">                .build());</span>
    -<span class="nc" id="L57">    }</span>
    -
    -    @Transactional
    -    public void handleSignUp(AdminSignUpRequestDto adminSignUpRequestDto) {
    -
    -<span class="nc bnc" id="L62" title="All 2 branches missed.">        if (adminRepository.existsByAccount(adminSignUpRequestDto.getAccount())) {</span>
    -<span class="nc" id="L63">            log.error(&quot;Admin account already exist.&quot;);</span>
    -<span class="nc" id="L64">            throw new AdminException(ErrorStatus._BAD_REQUEST);</span>
    -        }
    -
    -<span class="nc" id="L67">        adminRepository.save(Admin.builder()</span>
    -<span class="nc" id="L68">                .account(adminSignUpRequestDto.getAccount())</span>
    -<span class="nc" id="L69">                .password(passwordEncoder.encode(adminSignUpRequestDto.getPassword()))</span>
    -<span class="nc" id="L70">                .build());</span>
    -<span class="nc" id="L71">    }</span>
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/EventPageService.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/EventPageService.html
    deleted file mode 100644
    index 592b6ba9..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/EventPageService.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>EventPageService</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.bo_domain.admin.service</a> &gt; <span class="el_class">EventPageService</span></div><h1>EventPageService</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">138 of 138</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">29</td><td class="ctr2">29</td><td class="ctr1">5</td><td class="ctr2">5</td></tr></tfoot><tbody><tr><td id="a3"><a href="EventPageService.java.html#L42" class="el_method">updateFcfsEventTime(FcfsEventTimeRequestDto)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="74" alt="74"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">13</td><td class="ctr2" id="i0">13</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="EventPageService.java.html#L73" class="el_method">updateDrawSetting(DrawSetting, LocalDate, LocalDate)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="35" height="10" title="22" alt="22"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">6</td><td class="ctr2" id="i1">6</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a1"><a href="EventPageService.java.html#L84" class="el_method">updateDrawEventTime(DrawEventTimeRequestDto)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="25" height="10" title="16" alt="16"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h3">4</td><td class="ctr2" id="i3">4</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a4"><a href="EventPageService.java.html#L64" class="el_method">updateFcfsSetting(FcfsSetting, LocalDate, LocalTime)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="24" height="10" title="15" alt="15"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h2">5</td><td class="ctr2" id="i2">5</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a0"><a href="EventPageService.java.html#L37" class="el_method">getEventPage()</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="17" height="10" title="11" alt="11"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">1</td><td class="ctr2" id="i4">1</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/EventPageService.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/EventPageService.java.html
    deleted file mode 100644
    index 7a030ee4..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/EventPageService.java.html
    +++ /dev/null
    @@ -1,93 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>EventPageService.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.bo_domain.admin.service</a> &gt; <span class="el_source">EventPageService.java</span></div><h1>EventPageService.java</h1><pre class="source lang-java linenums">package com.softeer.backend.bo_domain.admin.service;
    -
    -import com.fasterxml.jackson.annotation.JsonFormat;
    -import com.softeer.backend.bo_domain.admin.dto.event.DrawEventTimeRequestDto;
    -import com.softeer.backend.bo_domain.admin.dto.event.EventPageResponseDto;
    -import com.softeer.backend.bo_domain.admin.dto.event.FcfsEventTimeRequestDto;
    -import com.softeer.backend.bo_domain.admin.dto.main.AdminMainPageResponseDto;
    -import com.softeer.backend.fo_domain.draw.domain.DrawSetting;
    -import com.softeer.backend.fo_domain.draw.repository.DrawSettingRepository;
    -import com.softeer.backend.fo_domain.draw.service.DrawSettingManager;
    -import com.softeer.backend.fo_domain.fcfs.domain.FcfsSetting;
    -import com.softeer.backend.fo_domain.fcfs.repository.FcfsSettingRepository;
    -import com.softeer.backend.fo_domain.fcfs.service.FcfsSettingManager;
    -import lombok.RequiredArgsConstructor;
    -import org.springframework.data.domain.Sort;
    -import org.springframework.stereotype.Service;
    -import org.springframework.transaction.annotation.Transactional;
    -
    -import java.time.DayOfWeek;
    -import java.time.LocalDate;
    -import java.time.LocalDateTime;
    -import java.time.LocalTime;
    -import java.time.temporal.TemporalAdjusters;
    -import java.util.List;
    -
    -@Service
    -@RequiredArgsConstructor
    -@Transactional
    -public class EventPageService {
    -
    -    private final FcfsSettingRepository fcfsSettingRepository;
    -    private final DrawSettingRepository drawSettingRepository;
    -
    -    @Transactional(readOnly = true)
    -    public EventPageResponseDto getEventPage() {
    -
    -<span class="nc" id="L37">        return EventPageResponseDto.of(fcfsSettingRepository.findAll(), drawSettingRepository.findAll().get(0));</span>
    -    }
    -
    -    public void updateFcfsEventTime(FcfsEventTimeRequestDto fcfsEventTimeRequestDto) {
    -
    -<span class="nc" id="L42">        List&lt;FcfsSetting&gt; fcfsSettingList = fcfsSettingRepository.findAll(Sort.by(Sort.Order.asc(&quot;id&quot;)));</span>
    -
    -<span class="nc" id="L44">        LocalDate startDate = fcfsEventTimeRequestDto.getStartDate();</span>
    -<span class="nc" id="L45">        LocalDate endDate = fcfsEventTimeRequestDto.getEndDate();</span>
    -<span class="nc" id="L46">        LocalTime startTime = fcfsEventTimeRequestDto.getStartTime();</span>
    -
    -<span class="nc" id="L48">        updateFcfsSetting(fcfsSettingList.get(0), startDate, startTime);</span>
    -<span class="nc" id="L49">        updateFcfsSetting(fcfsSettingList.get(1), endDate, startTime);</span>
    -
    -<span class="nc" id="L51">        LocalDate nextWeekStartDate = startDate.plusWeeks(1);</span>
    -<span class="nc" id="L52">        LocalDate nextWeekEndDate = endDate.plusWeeks(1);</span>
    -
    -<span class="nc" id="L54">        updateFcfsSetting(fcfsSettingList.get(2), nextWeekStartDate, startTime);</span>
    -<span class="nc" id="L55">        updateFcfsSetting(fcfsSettingList.get(3), nextWeekEndDate, startTime);</span>
    -
    -<span class="nc" id="L57">        DrawSetting drawSetting = drawSettingRepository.findAll().get(0);</span>
    -<span class="nc" id="L58">        updateDrawSetting(drawSetting, startDate, endDate);</span>
    -
    -<span class="nc" id="L60">    }</span>
    -
    -    private void updateFcfsSetting(FcfsSetting fcfsSetting, LocalDate date, LocalTime time) {
    -
    -<span class="nc" id="L64">        LocalDateTime newStartTime = LocalDateTime.of(date, time);</span>
    -<span class="nc" id="L65">        LocalDateTime newEndTime = newStartTime.plusHours(2);</span>
    -
    -<span class="nc" id="L67">        fcfsSetting.setStartTime(newStartTime);</span>
    -<span class="nc" id="L68">        fcfsSetting.setEndTime(newEndTime);</span>
    -
    -<span class="nc" id="L70">    }</span>
    -
    -    private void updateDrawSetting(DrawSetting drawSetting, LocalDate startDate, LocalDate endDate) {
    -<span class="nc" id="L73">        LocalDate startDateOfDraw = startDate.with(TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY));</span>
    -
    -<span class="nc" id="L75">        LocalDate endDateOfPreviousWeek = endDate.with(TemporalAdjusters.nextOrSame(DayOfWeek.SUNDAY));</span>
    -<span class="nc" id="L76">        LocalDate endDateOfDraw = endDateOfPreviousWeek.with(TemporalAdjusters.next(DayOfWeek.SUNDAY));</span>
    -
    -<span class="nc" id="L78">        drawSetting.setStartDate(startDateOfDraw);</span>
    -<span class="nc" id="L79">        drawSetting.setEndDate(endDateOfDraw);</span>
    -
    -<span class="nc" id="L81">    }</span>
    -
    -    public void updateDrawEventTime(DrawEventTimeRequestDto drawEventTimeRequestDto) {
    -<span class="nc" id="L84">        DrawSetting drawSetting = drawSettingRepository.findAll().get(0);</span>
    -
    -<span class="nc" id="L86">        drawSetting.setStartTime(drawEventTimeRequestDto.getStartTime());</span>
    -<span class="nc" id="L87">        drawSetting.setEndTime(drawEventTimeRequestDto.getEndTime());</span>
    -
    -<span class="nc" id="L89">    }</span>
    -
    -
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/IndicatorPageService.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/IndicatorPageService.html
    deleted file mode 100644
    index eaeaba56..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/IndicatorPageService.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>IndicatorPageService</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.bo_domain.admin.service</a> &gt; <span class="el_class">IndicatorPageService</span></div><h1>IndicatorPageService</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">19 of 19</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="IndicatorPageService.java.html#L24" class="el_method">getEventIndicator()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="19" alt="19"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">4</td><td class="ctr2" id="i0">4</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/IndicatorPageService.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/IndicatorPageService.java.html
    deleted file mode 100644
    index bc2862e9..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/IndicatorPageService.java.html
    +++ /dev/null
    @@ -1,34 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>IndicatorPageService.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.bo_domain.admin.service</a> &gt; <span class="el_source">IndicatorPageService.java</span></div><h1>IndicatorPageService.java</h1><pre class="source lang-java linenums">package com.softeer.backend.bo_domain.admin.service;
    -
    -import com.softeer.backend.bo_domain.admin.dto.indicator.EventIndicatorResponseDto;
    -import com.softeer.backend.bo_domain.eventparticipation.domain.EventParticipation;
    -import com.softeer.backend.bo_domain.eventparticipation.repository.EventParticipationRepository;
    -import com.softeer.backend.fo_domain.draw.domain.DrawSetting;
    -import com.softeer.backend.fo_domain.draw.repository.DrawSettingRepository;
    -import com.softeer.backend.fo_domain.draw.service.DrawSettingManager;
    -import kotlinx.serialization.Required;
    -import lombok.RequiredArgsConstructor;
    -import org.springframework.stereotype.Service;
    -
    -import java.util.List;
    -
    -@Service
    -@RequiredArgsConstructor
    -public class IndicatorPageService {
    -
    -    private final EventParticipationRepository eventParticipationRepository;
    -    private final DrawSettingRepository drawSettingRepository;
    -
    -    public EventIndicatorResponseDto getEventIndicator() {
    -
    -<span class="nc" id="L24">        DrawSetting drawSetting = drawSettingRepository.findAll().get(0);</span>
    -
    -<span class="nc" id="L26">        List&lt;EventParticipation&gt; eventParticipationList = eventParticipationRepository.findAllByEventDateBetween(</span>
    -<span class="nc" id="L27">                drawSetting.getStartDate(), drawSetting.getEndDate()</span>
    -        );
    -
    -<span class="nc" id="L30">        return EventIndicatorResponseDto.of(eventParticipationList, drawSetting);</span>
    -    }
    -
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/WinnerPageService.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/WinnerPageService.html
    deleted file mode 100644
    index 23e3109b..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/WinnerPageService.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>WinnerPageService</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.bo_domain.admin.service</a> &gt; <span class="el_class">WinnerPageService</span></div><h1>WinnerPageService</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">68 of 68</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">7</td><td class="ctr2">7</td><td class="ctr1">14</td><td class="ctr2">14</td><td class="ctr1">7</td><td class="ctr2">7</td></tr></tfoot><tbody><tr><td id="a5"><a href="WinnerPageService.java.html#L65" class="el_method">updateDrawWinnerNum(DrawWinnerUpdateRequestDto)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="20" alt="20"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">5</td><td class="ctr2" id="i0">5</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="WinnerPageService.java.html#L39" class="el_method">getWinnerPage()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="66" height="10" title="11" alt="11"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h4">1</td><td class="ctr2" id="i4">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a1"><a href="WinnerPageService.java.html#L44" class="el_method">getFcfsWinnerList(int)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="54" height="10" title="9" alt="9"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">2</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a0"><a href="WinnerPageService.java.html#L51" class="el_method">getDrawWinnerList(int)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="54" height="10" title="9" alt="9"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">2</td><td class="ctr2" id="i3">2</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a6"><a href="WinnerPageService.java.html#L58" class="el_method">updateFcfsWinnerNum(FcfsWinnerUpdateRequestDto)</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="54" height="10" title="9" alt="9"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h1">3</td><td class="ctr2" id="i1">3</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a3"><a href="WinnerPageService.java.html#L60" class="el_method">lambda$updateFcfsWinnerNum$0(FcfsWinnerUpdateRequestDto, FcfsSetting)</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="36" height="10" title="6" alt="6"/></td><td class="ctr2" id="c5">0%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">1</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">1</td><td class="ctr2" id="i5">1</td><td class="ctr1" id="j5">1</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a4"><a href="WinnerPageService.java.html#L26" class="el_method">static {...}</a></td><td class="bar" id="b6"><img src="../jacoco-resources/redbar.gif" width="24" height="10" title="4" alt="4"/></td><td class="ctr2" id="c6">0%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">1</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h6">1</td><td class="ctr2" id="i6">1</td><td class="ctr1" id="j6">1</td><td class="ctr2" id="k6">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/WinnerPageService.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/WinnerPageService.java.html
    deleted file mode 100644
    index fd80c074..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/WinnerPageService.java.html
    +++ /dev/null
    @@ -1,72 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>WinnerPageService.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.bo_domain.admin.service</a> &gt; <span class="el_source">WinnerPageService.java</span></div><h1>WinnerPageService.java</h1><pre class="source lang-java linenums">package com.softeer.backend.bo_domain.admin.service;
    -
    -import com.softeer.backend.bo_domain.admin.dto.event.EventPageResponseDto;
    -import com.softeer.backend.bo_domain.admin.dto.winner.*;
    -import com.softeer.backend.bo_domain.admin.exception.AdminException;
    -import com.softeer.backend.fo_domain.draw.domain.Draw;
    -import com.softeer.backend.fo_domain.draw.domain.DrawSetting;
    -import com.softeer.backend.fo_domain.draw.repository.DrawRepository;
    -import com.softeer.backend.fo_domain.draw.repository.DrawSettingRepository;
    -import com.softeer.backend.fo_domain.draw.service.DrawSettingManager;
    -import com.softeer.backend.fo_domain.fcfs.domain.Fcfs;
    -import com.softeer.backend.fo_domain.fcfs.domain.FcfsSetting;
    -import com.softeer.backend.fo_domain.fcfs.repository.FcfsRepository;
    -import com.softeer.backend.fo_domain.fcfs.repository.FcfsSettingRepository;
    -import com.softeer.backend.fo_domain.fcfs.service.FcfsSettingManager;
    -import com.softeer.backend.fo_domain.user.repository.UserRepository;
    -import com.softeer.backend.global.common.code.status.ErrorStatus;
    -import lombok.RequiredArgsConstructor;
    -import lombok.extern.slf4j.Slf4j;
    -import org.springframework.data.domain.Sort;
    -import org.springframework.stereotype.Service;
    -import org.springframework.transaction.annotation.Transactional;
    -
    -import java.util.List;
    -
    -<span class="nc" id="L26">@Slf4j</span>
    -@Service
    -@RequiredArgsConstructor
    -public class WinnerPageService {
    -
    -    private final FcfsRepository fcfsRepository;
    -    private final DrawRepository drawRepository;
    -    private final FcfsSettingRepository fcfsSettingRepository;
    -    private final DrawSettingRepository drawSettingRepository;
    -
    -    @Transactional(readOnly = true)
    -    public WinnerPageResponseDto getWinnerPage() {
    -
    -<span class="nc" id="L39">        return WinnerPageResponseDto.of(fcfsSettingRepository.findAll(), drawSettingRepository.findAll().get(0));</span>
    -    }
    -
    -    @Transactional(readOnly = true)
    -    public FcfsWinnerListResponseDto getFcfsWinnerList(int round) {
    -<span class="nc" id="L44">        List&lt;Fcfs&gt; fcfsList = fcfsRepository.findFcfsWithUser(round);</span>
    -
    -<span class="nc" id="L46">        return FcfsWinnerListResponseDto.of(fcfsList, round);</span>
    -    }
    -
    -    @Transactional(readOnly = true)
    -    public DrawWinnerListResponseDto getDrawWinnerList(int rank) {
    -<span class="nc" id="L51">        List&lt;Draw&gt; drawList = drawRepository.findDrawWithUser(rank);</span>
    -
    -<span class="nc" id="L53">        return DrawWinnerListResponseDto.of(drawList, rank);</span>
    -    }
    -
    -    @Transactional
    -    public void updateFcfsWinnerNum(FcfsWinnerUpdateRequestDto fcfsWinnerUpdateRequestDto) {
    -<span class="nc" id="L58">        List&lt;FcfsSetting&gt; fcfsSettingList = fcfsSettingRepository.findAll();</span>
    -
    -<span class="nc" id="L60">        fcfsSettingList.forEach((fcfsSetting) -&gt; fcfsSetting.setWinnerNum(fcfsWinnerUpdateRequestDto.getFcfsWinnerNum()));</span>
    -<span class="nc" id="L61">    }</span>
    -
    -    @Transactional
    -    public void updateDrawWinnerNum(DrawWinnerUpdateRequestDto drawWinnerUpdateRequestDto) {
    -<span class="nc" id="L65">        DrawSetting drawSetting = drawSettingRepository.findAll().get(0);</span>
    -
    -<span class="nc" id="L67">        drawSetting.setWinnerNum1(drawWinnerUpdateRequestDto.getFirstWinnerNum());</span>
    -<span class="nc" id="L68">        drawSetting.setWinnerNum2(drawWinnerUpdateRequestDto.getSecondWinnerNum());</span>
    -<span class="nc" id="L69">        drawSetting.setWinnerNum3(drawWinnerUpdateRequestDto.getThirdWinnerNum());</span>
    -<span class="nc" id="L70">    }</span>
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/index.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/index.html
    deleted file mode 100644
    index 2d68aec4..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.bo_domain.admin.service</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.bo_domain.admin.service</span></div><h1>com.softeer.backend.bo_domain.admin.service</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">314 of 314</td><td class="ctr2">0%</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="ctr1">20</td><td class="ctr2">20</td><td class="ctr1">72</td><td class="ctr2">72</td><td class="ctr1">18</td><td class="ctr2">18</td><td class="ctr1">4</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a1"><a href="EventPageService.html" class="el_class">EventPageService</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="138" alt="138"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f2">5</td><td class="ctr2" id="g2">5</td><td class="ctr1" id="h0">29</td><td class="ctr2" id="i0">29</td><td class="ctr1" id="j1">5</td><td class="ctr2" id="k1">5</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="AdminLoginService.html" class="el_class">AdminLoginService</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="77" height="10" title="89" alt="89"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">7</td><td class="ctr2" id="g0">7</td><td class="ctr1" id="h1">25</td><td class="ctr2" id="i1">25</td><td class="ctr1" id="j2">5</td><td class="ctr2" id="k2">5</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a3"><a href="WinnerPageService.html" class="el_class">WinnerPageService</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="59" height="10" title="68" alt="68"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f1">7</td><td class="ctr2" id="g1">7</td><td class="ctr1" id="h2">14</td><td class="ctr2" id="i2">14</td><td class="ctr1" id="j0">7</td><td class="ctr2" id="k0">7</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a2"><a href="IndicatorPageService.html" class="el_class">IndicatorPageService</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="16" height="10" title="19" alt="19"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">4</td><td class="ctr2" id="i3">4</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td><td class="ctr1" id="l3">1</td><td class="ctr2" id="m3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/index.source.html
    deleted file mode 100644
    index 8e3490dc..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.bo_domain.admin.service</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.bo_domain.admin.service</span></div><h1>com.softeer.backend.bo_domain.admin.service</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">314 of 314</td><td class="ctr2">0%</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="ctr1">20</td><td class="ctr2">20</td><td class="ctr1">72</td><td class="ctr2">72</td><td class="ctr1">18</td><td class="ctr2">18</td><td class="ctr1">4</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a1"><a href="EventPageService.java.html" class="el_source">EventPageService.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="138" alt="138"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f2">5</td><td class="ctr2" id="g2">5</td><td class="ctr1" id="h0">29</td><td class="ctr2" id="i0">29</td><td class="ctr1" id="j1">5</td><td class="ctr2" id="k1">5</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="AdminLoginService.java.html" class="el_source">AdminLoginService.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="77" height="10" title="89" alt="89"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">7</td><td class="ctr2" id="g0">7</td><td class="ctr1" id="h1">25</td><td class="ctr2" id="i1">25</td><td class="ctr1" id="j2">5</td><td class="ctr2" id="k2">5</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a3"><a href="WinnerPageService.java.html" class="el_source">WinnerPageService.java</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="59" height="10" title="68" alt="68"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f1">7</td><td class="ctr2" id="g1">7</td><td class="ctr1" id="h2">14</td><td class="ctr2" id="i2">14</td><td class="ctr1" id="j0">7</td><td class="ctr2" id="k0">7</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a2"><a href="IndicatorPageService.java.html" class="el_source">IndicatorPageService.java</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="16" height="10" title="19" alt="19"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">4</td><td class="ctr2" id="i3">4</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td><td class="ctr1" id="l3">1</td><td class="ctr2" id="m3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.util/PasswordEncoder.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.util/PasswordEncoder.html
    deleted file mode 100644
    index 4951a1e2..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.util/PasswordEncoder.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>PasswordEncoder</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.bo_domain.admin.util</a> &gt; <span class="el_class">PasswordEncoder</span></div><h1>PasswordEncoder</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">11 of 11</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a0"><a href="PasswordEncoder.java.html#L11" class="el_method">encode(String)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">1</td><td class="ctr2" id="i0">1</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="PasswordEncoder.java.html#L16" class="el_method">matches(String, String)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="PasswordEncoder.java.html#L7" class="el_method">PasswordEncoder()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="90" height="10" title="3" alt="3"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.util/PasswordEncoder.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.util/PasswordEncoder.java.html
    deleted file mode 100644
    index eae600b0..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.util/PasswordEncoder.java.html
    +++ /dev/null
    @@ -1,19 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>PasswordEncoder.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.bo_domain.admin.util</a> &gt; <span class="el_source">PasswordEncoder.java</span></div><h1>PasswordEncoder.java</h1><pre class="source lang-java linenums">package com.softeer.backend.bo_domain.admin.util;
    -
    -import org.mindrot.jbcrypt.BCrypt;
    -import org.springframework.stereotype.Component;
    -
    -@Component
    -<span class="nc" id="L7">public class PasswordEncoder {</span>
    -
    -    // 비밀번호를 해시화
    -    public String encode(String rawPassword) {
    -<span class="nc" id="L11">        return BCrypt.hashpw(rawPassword, BCrypt.gensalt());</span>
    -    }
    -
    -    // 비밀번호 비교 (평문 vs 해시)
    -    public boolean matches(String rawPassword, String encodedPassword) {
    -<span class="nc" id="L16">        return BCrypt.checkpw(rawPassword, encodedPassword);</span>
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.util/index.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.util/index.html
    deleted file mode 100644
    index e7514b8e..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.util/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.bo_domain.admin.util</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.bo_domain.admin.util</span></div><h1>com.softeer.backend.bo_domain.admin.util</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">11 of 11</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="PasswordEncoder.html" class="el_class">PasswordEncoder</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="11" alt="11"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">3</td><td class="ctr2" id="i0">3</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k0">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.util/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.util/index.source.html
    deleted file mode 100644
    index a4cd281c..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.util/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.bo_domain.admin.util</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.bo_domain.admin.util</span></div><h1>com.softeer.backend.bo_domain.admin.util</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">11 of 11</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="PasswordEncoder.java.html" class="el_source">PasswordEncoder.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="11" alt="11"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">3</td><td class="ctr2" id="i0">3</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k0">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/DrawTimeRangeValidator.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/DrawTimeRangeValidator.html
    deleted file mode 100644
    index 73b05d56..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/DrawTimeRangeValidator.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DrawTimeRangeValidator</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.bo_domain.admin.validator</a> &gt; <span class="el_class">DrawTimeRangeValidator</span></div><h1>DrawTimeRangeValidator</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">46 of 46</td><td class="ctr2">0%</td><td class="bar">10 of 10</td><td class="ctr2">0%</td><td class="ctr1">8</td><td class="ctr2">8</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a2"><a href="DrawTimeRangeValidator.java.html#L19" class="el_method">isValid(DrawEventTimeRequestDto, ConstraintValidatorContext)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="39" alt="39"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="10" alt="10"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">6</td><td class="ctr2" id="g0">6</td><td class="ctr1" id="h0">9</td><td class="ctr2" id="i0">9</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="DrawTimeRangeValidator.java.html#L14" class="el_method">initialize(ValidDrawTimeRange)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="12" height="10" title="4" alt="4"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="DrawTimeRangeValidator.java.html#L10" class="el_method">DrawTimeRangeValidator()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="9" height="10" title="3" alt="3"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/DrawTimeRangeValidator.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/DrawTimeRangeValidator.java.html
    deleted file mode 100644
    index cea7d914..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/DrawTimeRangeValidator.java.html
    +++ /dev/null
    @@ -1,40 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DrawTimeRangeValidator.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.bo_domain.admin.validator</a> &gt; <span class="el_source">DrawTimeRangeValidator.java</span></div><h1>DrawTimeRangeValidator.java</h1><pre class="source lang-java linenums">package com.softeer.backend.bo_domain.admin.validator;
    -
    -import com.softeer.backend.bo_domain.admin.dto.event.DrawEventTimeRequestDto;
    -import com.softeer.backend.bo_domain.admin.validator.annotation.ValidDrawTimeRange;
    -import jakarta.validation.ConstraintValidator;
    -import jakarta.validation.ConstraintValidatorContext;
    -
    -import java.time.LocalTime;
    -
    -<span class="nc" id="L10">public class DrawTimeRangeValidator implements ConstraintValidator&lt;ValidDrawTimeRange, DrawEventTimeRequestDto&gt; {</span>
    -
    -    @Override
    -    public void initialize(ValidDrawTimeRange constraintAnnotation) {
    -<span class="nc" id="L14">        ConstraintValidator.super.initialize(constraintAnnotation);</span>
    -<span class="nc" id="L15">    }</span>
    -
    -    @Override
    -    public boolean isValid(DrawEventTimeRequestDto value, ConstraintValidatorContext context) {
    -<span class="nc bnc" id="L19" title="All 4 branches missed.">        if (value.getStartTime() == null || value.getEndTime() == null) {</span>
    -<span class="nc" id="L20">            return true;</span>
    -        }
    -
    -<span class="nc" id="L23">        LocalTime startTime = value.getStartTime();</span>
    -<span class="nc" id="L24">        LocalTime endTime = value.getEndTime();</span>
    -
    -        // 시작 시간 검증: 09:00:00 이후
    -<span class="nc bnc" id="L27" title="All 2 branches missed.">        if (startTime.isBefore(LocalTime.of(9, 0))) {</span>
    -<span class="nc" id="L28">            return false;</span>
    -        }
    -
    -        // 종료 시간 검증: 23:59:59 이전
    -<span class="nc bnc" id="L32" title="All 2 branches missed.">        if (endTime.isAfter(LocalTime.of(23, 59, 59))) {</span>
    -<span class="nc" id="L33">            return false;</span>
    -        }
    -
    -        // 시작 시간이 종료 시간보다 이전인지 확인
    -<span class="nc bnc" id="L37" title="All 2 branches missed.">        return !startTime.isAfter(endTime);</span>
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/FcfsDateRangeValidator.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/FcfsDateRangeValidator.html
    deleted file mode 100644
    index f786eae7..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/FcfsDateRangeValidator.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>FcfsDateRangeValidator</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.bo_domain.admin.validator</a> &gt; <span class="el_class">FcfsDateRangeValidator</span></div><h1>FcfsDateRangeValidator</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">51 of 51</td><td class="ctr2">0%</td><td class="bar">10 of 10</td><td class="ctr2">0%</td><td class="ctr1">8</td><td class="ctr2">8</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a2"><a href="FcfsDateRangeValidator.java.html#L23" class="el_method">isValid(FcfsEventTimeRequestDto, ConstraintValidatorContext)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="44" alt="44"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="10" alt="10"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">6</td><td class="ctr2" id="g0">6</td><td class="ctr1" id="h0">9</td><td class="ctr2" id="i0">9</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="FcfsDateRangeValidator.java.html#L18" class="el_method">initialize(ValidFcfsDateRange)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="10" height="10" title="4" alt="4"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="FcfsDateRangeValidator.java.html#L14" class="el_method">FcfsDateRangeValidator()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="8" height="10" title="3" alt="3"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/FcfsDateRangeValidator.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/FcfsDateRangeValidator.java.html
    deleted file mode 100644
    index ee84f2c7..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/FcfsDateRangeValidator.java.html
    +++ /dev/null
    @@ -1,42 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>FcfsDateRangeValidator.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.bo_domain.admin.validator</a> &gt; <span class="el_source">FcfsDateRangeValidator.java</span></div><h1>FcfsDateRangeValidator.java</h1><pre class="source lang-java linenums">package com.softeer.backend.bo_domain.admin.validator;
    -
    -import com.softeer.backend.bo_domain.admin.dto.event.FcfsEventTimeRequestDto;
    -import com.softeer.backend.bo_domain.admin.validator.annotation.ValidFcfsDateRange;
    -import jakarta.validation.ConstraintValidator;
    -import jakarta.validation.ConstraintValidatorContext;
    -
    -import java.time.DayOfWeek;
    -import java.time.LocalDate;
    -import java.time.temporal.TemporalAdjusters;
    -import java.time.temporal.WeekFields;
    -import java.util.Locale;
    -
    -<span class="nc" id="L14">public class FcfsDateRangeValidator implements ConstraintValidator&lt;ValidFcfsDateRange, FcfsEventTimeRequestDto&gt; {</span>
    -
    -    @Override
    -    public void initialize(ValidFcfsDateRange constraintAnnotation) {
    -<span class="nc" id="L18">        ConstraintValidator.super.initialize(constraintAnnotation);</span>
    -<span class="nc" id="L19">    }</span>
    -
    -    @Override
    -    public boolean isValid(FcfsEventTimeRequestDto value, ConstraintValidatorContext context) {
    -<span class="nc bnc" id="L23" title="All 4 branches missed.">        if (value.getStartDate() == null || value.getEndDate() == null) {</span>
    -<span class="nc" id="L24">            return true;</span>
    -        }
    -
    -<span class="nc" id="L27">        LocalDate startDate = value.getStartDate();</span>
    -<span class="nc" id="L28">        LocalDate endDate = value.getEndDate();</span>
    -
    -<span class="nc" id="L30">        LocalDate startDateWeekStart = startDate.with(TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY));</span>
    -<span class="nc" id="L31">        LocalDate endDateWeekStart = endDate.with(TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY));</span>
    -
    -<span class="nc" id="L33">        boolean isSameWeek = startDateWeekStart.equals(endDateWeekStart);</span>
    -
    -        // 시작 날짜가 종료 날짜보다 이전인지 확인
    -<span class="nc bnc" id="L36" title="All 2 branches missed.">        boolean isStartBeforeEnd = !startDate.isAfter(endDate);</span>
    -
    -        // 두 검증 조건을 모두 만족하는지 확인
    -<span class="nc bnc" id="L39" title="All 4 branches missed.">        return isSameWeek &amp;&amp; isStartBeforeEnd;</span>
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/FcfsTimeRangeValidator.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/FcfsTimeRangeValidator.html
    deleted file mode 100644
    index 781bfbca..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/FcfsTimeRangeValidator.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>FcfsTimeRangeValidator</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.bo_domain.admin.validator</a> &gt; <span class="el_class">FcfsTimeRangeValidator</span></div><h1>FcfsTimeRangeValidator</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">43 of 43</td><td class="ctr2">0%</td><td class="bar">10 of 10</td><td class="ctr2">0%</td><td class="ctr1">8</td><td class="ctr2">8</td><td class="ctr1">9</td><td class="ctr2">9</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a2"><a href="FcfsTimeRangeValidator.java.html#L19" class="el_method">isValid(FcfsEventTimeRequestDto, ConstraintValidatorContext)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="36" alt="36"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="10" alt="10"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">6</td><td class="ctr2" id="g0">6</td><td class="ctr1" id="h0">6</td><td class="ctr2" id="i0">6</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="FcfsTimeRangeValidator.java.html#L14" class="el_method">initialize(ValidFcfsTimeRange)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="13" height="10" title="4" alt="4"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="FcfsTimeRangeValidator.java.html#L10" class="el_method">FcfsTimeRangeValidator()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="10" height="10" title="3" alt="3"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/FcfsTimeRangeValidator.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/FcfsTimeRangeValidator.java.html
    deleted file mode 100644
    index 07a839ce..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/FcfsTimeRangeValidator.java.html
    +++ /dev/null
    @@ -1,35 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>FcfsTimeRangeValidator.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.bo_domain.admin.validator</a> &gt; <span class="el_source">FcfsTimeRangeValidator.java</span></div><h1>FcfsTimeRangeValidator.java</h1><pre class="source lang-java linenums">package com.softeer.backend.bo_domain.admin.validator;
    -
    -import com.softeer.backend.bo_domain.admin.dto.event.FcfsEventTimeRequestDto;
    -import com.softeer.backend.bo_domain.admin.validator.annotation.ValidFcfsTimeRange;
    -import jakarta.validation.ConstraintValidator;
    -import jakarta.validation.ConstraintValidatorContext;
    -
    -import java.time.LocalTime;
    -
    -<span class="nc" id="L10">public class FcfsTimeRangeValidator implements ConstraintValidator&lt;ValidFcfsTimeRange, FcfsEventTimeRequestDto&gt; {</span>
    -
    -    @Override
    -    public void initialize(ValidFcfsTimeRange constraintAnnotation) {
    -<span class="nc" id="L14">        ConstraintValidator.super.initialize(constraintAnnotation);</span>
    -<span class="nc" id="L15">    }</span>
    -
    -    @Override
    -    public boolean isValid(FcfsEventTimeRequestDto value, ConstraintValidatorContext context) {
    -<span class="nc bnc" id="L19" title="All 2 branches missed.">        if (value.getStartTime() == null) {</span>
    -<span class="nc" id="L20">            return true;</span>
    -        }
    -
    -<span class="nc" id="L23">        LocalTime startTime = value.getStartTime();</span>
    -
    -        // 시작 시간이 오전 9시 이후인지 검증
    -<span class="nc bnc" id="L26" title="All 2 branches missed.">        boolean isStartTimeValid = !startTime.isBefore(LocalTime.of(9, 0));</span>
    -
    -        // 시작 시간이 오후 6시 이전인지 검증
    -<span class="nc bnc" id="L29" title="All 2 branches missed.">        boolean isEndTimeValid = !startTime.isAfter(LocalTime.of(18, 0));</span>
    -
    -        // 모든 검증 조건이 만족되는지 확인
    -<span class="nc bnc" id="L32" title="All 4 branches missed.">        return isStartTimeValid &amp;&amp; isEndTimeValid;</span>
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/index.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/index.html
    deleted file mode 100644
    index 2156958f..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.bo_domain.admin.validator</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.bo_domain.admin.validator</span></div><h1>com.softeer.backend.bo_domain.admin.validator</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">140 of 140</td><td class="ctr2">0%</td><td class="bar">30 of 30</td><td class="ctr2">0%</td><td class="ctr1">24</td><td class="ctr2">24</td><td class="ctr1">33</td><td class="ctr2">33</td><td class="ctr1">9</td><td class="ctr2">9</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a1"><a href="FcfsDateRangeValidator.html" class="el_class">FcfsDateRangeValidator</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="51" alt="51"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="10" alt="10"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">8</td><td class="ctr2" id="g0">8</td><td class="ctr1" id="h0">12</td><td class="ctr2" id="i0">12</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k0">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="DrawTimeRangeValidator.html" class="el_class">DrawTimeRangeValidator</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="108" height="10" title="46" alt="46"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="10" alt="10"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f1">8</td><td class="ctr2" id="g1">8</td><td class="ctr1" id="h1">12</td><td class="ctr2" id="i1">12</td><td class="ctr1" id="j1">3</td><td class="ctr2" id="k1">3</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a2"><a href="FcfsTimeRangeValidator.html" class="el_class">FcfsTimeRangeValidator</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="101" height="10" title="43" alt="43"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="10" alt="10"/></td><td class="ctr2" id="e2">0%</td><td class="ctr1" id="f2">8</td><td class="ctr2" id="g2">8</td><td class="ctr1" id="h2">9</td><td class="ctr2" id="i2">9</td><td class="ctr1" id="j2">3</td><td class="ctr2" id="k2">3</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/index.source.html
    deleted file mode 100644
    index 6abfa6d4..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.bo_domain.admin.validator</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.bo_domain.admin.validator</span></div><h1>com.softeer.backend.bo_domain.admin.validator</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">140 of 140</td><td class="ctr2">0%</td><td class="bar">30 of 30</td><td class="ctr2">0%</td><td class="ctr1">24</td><td class="ctr2">24</td><td class="ctr1">33</td><td class="ctr2">33</td><td class="ctr1">9</td><td class="ctr2">9</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a1"><a href="FcfsDateRangeValidator.java.html" class="el_source">FcfsDateRangeValidator.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="51" alt="51"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="10" alt="10"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">8</td><td class="ctr2" id="g0">8</td><td class="ctr1" id="h0">12</td><td class="ctr2" id="i0">12</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k0">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="DrawTimeRangeValidator.java.html" class="el_source">DrawTimeRangeValidator.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="108" height="10" title="46" alt="46"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="10" alt="10"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f1">8</td><td class="ctr2" id="g1">8</td><td class="ctr1" id="h1">12</td><td class="ctr2" id="i1">12</td><td class="ctr1" id="j1">3</td><td class="ctr2" id="k1">3</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a2"><a href="FcfsTimeRangeValidator.java.html" class="el_source">FcfsTimeRangeValidator.java</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="101" height="10" title="43" alt="43"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="10" alt="10"/></td><td class="ctr2" id="e2">0%</td><td class="ctr1" id="f2">8</td><td class="ctr2" id="g2">8</td><td class="ctr1" id="h2">9</td><td class="ctr2" id="i2">9</td><td class="ctr1" id="j2">3</td><td class="ctr2" id="k2">3</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.eventparticipation.repository/EventParticipationRepository.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.eventparticipation.repository/EventParticipationRepository.html
    deleted file mode 100644
    index 4a38a0d5..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.eventparticipation.repository/EventParticipationRepository.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>EventParticipationRepository</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.bo_domain.eventparticipation.repository</a> &gt; <span class="el_class">EventParticipationRepository</span></div><h1>EventParticipationRepository</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">17 of 17</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="EventParticipationRepository.java.html#L18" class="el_method">findSingleEventParticipation()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="17" alt="17"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">4</td><td class="ctr2" id="i0">4</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.eventparticipation.repository/EventParticipationRepository.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.eventparticipation.repository/EventParticipationRepository.java.html
    deleted file mode 100644
    index 7de9e8d1..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.eventparticipation.repository/EventParticipationRepository.java.html
    +++ /dev/null
    @@ -1,25 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>EventParticipationRepository.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.bo_domain.eventparticipation.repository</a> &gt; <span class="el_source">EventParticipationRepository.java</span></div><h1>EventParticipationRepository.java</h1><pre class="source lang-java linenums">package com.softeer.backend.bo_domain.eventparticipation.repository;
    -
    -import com.softeer.backend.bo_domain.eventparticipation.domain.EventParticipation;
    -import org.springframework.dao.EmptyResultDataAccessException;
    -import org.springframework.data.jpa.repository.JpaRepository;
    -import org.springframework.data.jpa.repository.Query;
    -import org.springframework.data.repository.query.Param;
    -
    -import java.time.LocalDate;
    -import java.util.List;
    -
    -public interface EventParticipationRepository extends JpaRepository&lt;EventParticipation, Integer&gt; {
    -
    -    @Query(&quot;SELECT e FROM EventParticipation e WHERE e.eventDate BETWEEN :startDate AND :endDate&quot;)
    -    List&lt;EventParticipation&gt; findAllByEventDateBetween(@Param(&quot;startDate&quot;) LocalDate startDate, @Param(&quot;endDate&quot;) LocalDate endDate);
    -
    -    default EventParticipation findSingleEventParticipation() {
    -<span class="nc" id="L18">        List&lt;EventParticipation&gt; results = findAll();</span>
    -<span class="nc bnc" id="L19" title="All 2 branches missed.">        if (results.isEmpty()) {</span>
    -<span class="nc" id="L20">            throw new EmptyResultDataAccessException(&quot;Entity not found&quot;, 1);</span>
    -        }
    -<span class="nc" id="L22">        return results.get(0);</span>
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.eventparticipation.repository/index.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.eventparticipation.repository/index.html
    deleted file mode 100644
    index d0da5f9e..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.eventparticipation.repository/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.bo_domain.eventparticipation.repository</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.bo_domain.eventparticipation.repository</span></div><h1>com.softeer.backend.bo_domain.eventparticipation.repository</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">17 of 17</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="EventParticipationRepository.html" class="el_class">EventParticipationRepository</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="17" alt="17"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">4</td><td class="ctr2" id="i0">4</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.eventparticipation.repository/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.eventparticipation.repository/index.source.html
    deleted file mode 100644
    index b1d82e0c..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.eventparticipation.repository/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.bo_domain.eventparticipation.repository</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.bo_domain.eventparticipation.repository</span></div><h1>com.softeer.backend.bo_domain.eventparticipation.repository</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">17 of 17</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="EventParticipationRepository.java.html" class="el_source">EventParticipationRepository.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="17" alt="17"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">4</td><td class="ctr2" id="i0">4</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.constant/CommentNickname.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.constant/CommentNickname.html
    deleted file mode 100644
    index 8fb4feba..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.constant/CommentNickname.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>CommentNickname</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.comment.constant</a> &gt; <span class="el_class">CommentNickname</span></div><h1>CommentNickname</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">109 of 109</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">20</td><td class="ctr2">20</td><td class="ctr1">4</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a3"><a href="CommentNickname.java.html#L8" class="el_method">static {...}</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="73" alt="73"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">11</td><td class="ctr2" id="i0">11</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="CommentNickname.java.html#L32" class="el_method">getRandomNickname()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="24" height="10" title="15" alt="15"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">3</td><td class="ctr2" id="i1">3</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a1"><a href="CommentNickname.java.html#L39" class="el_method">getMyRandomNickname(int)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="21" height="10" title="13" alt="13"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">3</td><td class="ctr2" id="i2">3</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a0"><a href="CommentNickname.java.html#L26" class="el_method">CommentNickname(String, int, String)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="13" height="10" title="8" alt="8"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">3</td><td class="ctr2" id="i3">3</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.constant/CommentNickname.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.constant/CommentNickname.java.html
    deleted file mode 100644
    index a867676b..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.constant/CommentNickname.java.html
    +++ /dev/null
    @@ -1,44 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>CommentNickname.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.comment.constant</a> &gt; <span class="el_source">CommentNickname.java</span></div><h1>CommentNickname.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.comment.constant;
    -
    -import lombok.Getter;
    -
    -/**
    - * 기대평 닉네임을 관리하는 Enum 클래스
    - */
    -<span class="nc" id="L8">@Getter</span>
    -public enum CommentNickname {
    -<span class="nc" id="L10">    NICKNAME_1(&quot;곰&quot;),</span>
    -<span class="nc" id="L11">    NICKNAME_2(&quot;코끼리&quot;),</span>
    -<span class="nc" id="L12">    NICKNAME_3(&quot;토끼&quot;),</span>
    -<span class="nc" id="L13">    NICKNAME_4(&quot;기린&quot;),</span>
    -<span class="nc" id="L14">    NICKNAME_5(&quot;돌고래&quot;),</span>
    -<span class="nc" id="L15">    NICKNAME_6(&quot;개구리&quot;),</span>
    -<span class="nc" id="L16">    NICKNAME_7(&quot;고양이&quot;),</span>
    -<span class="nc" id="L17">    NICKNAME_8(&quot;악어&quot;),</span>
    -<span class="nc" id="L18">    NICKNAME_9(&quot;판다&quot;),</span>
    -<span class="nc" id="L19">    NICKNAME_10(&quot;호랑이&quot;);</span>
    -
    -    public static final String NICKNAME_PREFIX = &quot;익명의 &quot;;
    -    public static final String MY_NICKNAME_SUFFIX = &quot;(나)&quot;;
    -
    -    private final String nickname;
    -
    -<span class="nc" id="L26">    CommentNickname(String nickname) {</span>
    -<span class="nc" id="L27">        this.nickname = nickname;</span>
    -<span class="nc" id="L28">    }</span>
    -
    -    // 인증 하지 않은 유저의 닉네임 생성 메서드
    -    public static String getRandomNickname() {
    -<span class="nc" id="L32">        CommentNickname[] nicknames = values();</span>
    -<span class="nc" id="L33">        int index = (int) (Math.random() * nicknames.length);</span>
    -<span class="nc" id="L34">        return NICKNAME_PREFIX + nicknames[index].getNickname();</span>
    -    }
    -
    -    // 인증한 유저의 닉네임 생성 메서드
    -    public static String getMyRandomNickname(int userId) {
    -<span class="nc" id="L39">        CommentNickname[] nicknames = values();</span>
    -<span class="nc" id="L40">        int index = userId % nicknames.length;</span>
    -<span class="nc" id="L41">        return NICKNAME_PREFIX + nicknames[index].getNickname();</span>
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.constant/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.constant/index.html
    deleted file mode 100644
    index 0677e5ec..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.constant/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.comment.constant</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.comment.constant</span></div><h1>com.softeer.backend.fo_domain.comment.constant</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">109 of 109</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">20</td><td class="ctr2">20</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="CommentNickname.html" class="el_class">CommentNickname</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="109" alt="109"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">20</td><td class="ctr2" id="i0">20</td><td class="ctr1" id="j0">4</td><td class="ctr2" id="k0">4</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.constant/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.constant/index.source.html
    deleted file mode 100644
    index 6c9e1b02..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.constant/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.comment.constant</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.comment.constant</span></div><h1>com.softeer.backend.fo_domain.comment.constant</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">109 of 109</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">20</td><td class="ctr2">20</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="CommentNickname.java.html" class="el_source">CommentNickname.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="109" alt="109"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">20</td><td class="ctr2" id="i0">20</td><td class="ctr1" id="j0">4</td><td class="ctr2" id="k0">4</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.controller/CommentController.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.controller/CommentController.html
    deleted file mode 100644
    index 8db44bf6..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.controller/CommentController.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>CommentController</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.comment.controller</a> &gt; <span class="el_class">CommentController</span></div><h1>CommentController</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">52 of 52</td><td class="ctr2">0%</td><td class="bar">10 of 10</td><td class="ctr2">0%</td><td class="ctr1">8</td><td class="ctr2">8</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a1"><a href="CommentController.java.html#L41" class="el_method">saveComment(Integer, Integer)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="27" alt="27"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="6" alt="6"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h1">5</td><td class="ctr2" id="i1">5</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="CommentController.java.html#L25" class="el_method">getComment(Integer, Integer)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="93" height="10" title="21" alt="21"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="80" height="10" title="4" alt="4"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f1">3</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h0">6</td><td class="ctr2" id="i0">6</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="CommentController.java.html#L15" class="el_method">static {...}</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="17" height="10" title="4" alt="4"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.controller/CommentController.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.controller/CommentController.java.html
    deleted file mode 100644
    index bd0a76d2..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.controller/CommentController.java.html
    +++ /dev/null
    @@ -1,53 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>CommentController.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.comment.controller</a> &gt; <span class="el_source">CommentController.java</span></div><h1>CommentController.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.comment.controller;
    -
    -import com.softeer.backend.fo_domain.comment.dto.CommentsResponseDto;
    -import com.softeer.backend.fo_domain.comment.exception.CommentException;
    -import com.softeer.backend.fo_domain.comment.service.CommentService;
    -import com.softeer.backend.global.annotation.AuthInfo;
    -import com.softeer.backend.global.common.code.status.ErrorStatus;
    -import com.softeer.backend.global.common.response.ResponseDto;
    -import io.swagger.v3.oas.annotations.Parameter;
    -import lombok.RequiredArgsConstructor;
    -import lombok.extern.slf4j.Slf4j;
    -import org.springframework.validation.BindingResult;
    -import org.springframework.web.bind.annotation.*;
    -
    -<span class="nc" id="L15">@Slf4j</span>
    -@RequiredArgsConstructor
    -@RestController
    -public class CommentController {
    -
    -    private final CommentService commentService;
    -
    -    @GetMapping(&quot;/comment&quot;)
    -    ResponseDto&lt;CommentsResponseDto&gt; getComment(@RequestParam(name = &quot;cursor&quot;, required = false) Integer cursor,
    -                                                @Parameter(hidden = true) @AuthInfo Integer userId) {
    -<span class="nc bnc" id="L25" title="All 2 branches missed.">        if (cursor == null) {</span>
    -<span class="nc" id="L26">            cursor = Integer.MAX_VALUE;</span>
    -        }
    -
    -<span class="nc" id="L29">        CommentsResponseDto commentsResponseDto = commentService.getComments(userId, cursor);</span>
    -
    -<span class="nc bnc" id="L31" title="All 2 branches missed.">        if (commentsResponseDto.getNextCursor() != CommentsResponseDto.LAST_CURSOR)</span>
    -<span class="nc" id="L32">            return ResponseDto.onSuccess(commentsResponseDto);</span>
    -
    -<span class="nc" id="L34">        return ResponseDto.onSuccess(commentsResponseDto);</span>
    -    }
    -
    -    @PostMapping(&quot;/comment&quot;)
    -    ResponseDto&lt;Void&gt; saveComment(@RequestParam(name = &quot;commentType&quot;) Integer commentType,
    -                                  @Parameter(hidden = true) @AuthInfo Integer userId) {
    -
    -<span class="nc bnc" id="L41" title="All 6 branches missed.">        if(commentType == null || commentType&lt;1 || commentType &gt; 5){</span>
    -
    -<span class="nc" id="L43">            log.error(&quot;Invalid commentType value: {}. It must be between 1 and 5.&quot;, commentType);</span>
    -<span class="nc" id="L44">            throw new CommentException(ErrorStatus._VALIDATION_ERROR);</span>
    -        }
    -
    -<span class="nc" id="L47">        commentService.saveComment(userId, commentType);</span>
    -
    -<span class="nc" id="L49">        return ResponseDto.onSuccess();</span>
    -
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.controller/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.controller/index.html
    deleted file mode 100644
    index 649c45aa..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.controller/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.comment.controller</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.comment.controller</span></div><h1>com.softeer.backend.fo_domain.comment.controller</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">52 of 52</td><td class="ctr2">0%</td><td class="bar">10 of 10</td><td class="ctr2">0%</td><td class="ctr1">8</td><td class="ctr2">8</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="CommentController.html" class="el_class">CommentController</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="52" alt="52"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="10" alt="10"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">8</td><td class="ctr2" id="g0">8</td><td class="ctr1" id="h0">12</td><td class="ctr2" id="i0">12</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k0">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.controller/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.controller/index.source.html
    deleted file mode 100644
    index dbbdceed..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.controller/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.comment.controller</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.comment.controller</span></div><h1>com.softeer.backend.fo_domain.comment.controller</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">52 of 52</td><td class="ctr2">0%</td><td class="bar">10 of 10</td><td class="ctr2">0%</td><td class="ctr1">8</td><td class="ctr2">8</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="CommentController.java.html" class="el_source">CommentController.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="52" alt="52"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="10" alt="10"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">8</td><td class="ctr2" id="g0">8</td><td class="ctr1" id="h0">12</td><td class="ctr2" id="i0">12</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k0">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.domain/Comment.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.domain/Comment.html
    deleted file mode 100644
    index 1ac7938a..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.domain/Comment.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>Comment</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.comment.domain</a> &gt; <span class="el_class">Comment</span></div><h1>Comment</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">14 of 14</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="Comment.java.html#L44" class="el_method">assignRandomNickname()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="14" alt="14"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">4</td><td class="ctr2" id="i0">4</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.domain/Comment.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.domain/Comment.java.html
    deleted file mode 100644
    index d870a246..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.domain/Comment.java.html
    +++ /dev/null
    @@ -1,52 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>Comment.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.comment.domain</a> &gt; <span class="el_source">Comment.java</span></div><h1>Comment.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.comment.domain;
    -
    -
    -import com.softeer.backend.fo_domain.comment.constant.CommentNickname;
    -import jakarta.persistence.*;
    -import lombok.AllArgsConstructor;
    -import lombok.Builder;
    -import lombok.Getter;
    -import lombok.NoArgsConstructor;
    -import org.springframework.data.annotation.CreatedDate;
    -import org.springframework.data.jpa.domain.support.AuditingEntityListener;
    -
    -import java.time.LocalDateTime;
    -
    -@Entity
    -@NoArgsConstructor
    -@AllArgsConstructor
    -@Getter
    -@Builder
    -@EntityListeners(AuditingEntityListener.class)
    -@Table(name = &quot;comment&quot;)
    -public class Comment {
    -
    -    @Id
    -    @Column(name = &quot;comment_id&quot;)
    -    @GeneratedValue(strategy = GenerationType.IDENTITY)
    -    private Integer id;
    -
    -    @Column(name = &quot;nickname&quot;, nullable = false)
    -    private String nickname;
    -
    -    @Column(name = &quot;comment_type&quot;, nullable = false)
    -    private Integer commentType;
    -
    -    @CreatedDate
    -    @Column(name = &quot;upload_time&quot;, updatable = false)
    -    private LocalDateTime uploadTime;
    -
    -    @Column(name = &quot;user_id&quot;, nullable = true)
    -    private Integer userId;
    -
    -    @PrePersist
    -    public void assignRandomNickname() {
    -<span class="nc bnc" id="L44" title="All 2 branches missed.">        if (userId != null) {</span>
    -<span class="nc" id="L45">            this.nickname = CommentNickname.getMyRandomNickname(userId);</span>
    -        } else {
    -<span class="nc" id="L47">            this.nickname = CommentNickname.getRandomNickname();</span>
    -        }
    -<span class="nc" id="L49">    }</span>
    -
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.domain/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.domain/index.html
    deleted file mode 100644
    index 9137ace0..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.domain/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.comment.domain</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.comment.domain</span></div><h1>com.softeer.backend.fo_domain.comment.domain</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">14 of 14</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="Comment.html" class="el_class">Comment</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="14" alt="14"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">4</td><td class="ctr2" id="i0">4</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.domain/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.domain/index.source.html
    deleted file mode 100644
    index f6c7fcec..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.domain/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.comment.domain</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.comment.domain</span></div><h1>com.softeer.backend.fo_domain.comment.domain</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">14 of 14</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="Comment.java.html" class="el_source">Comment.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="14" alt="14"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">4</td><td class="ctr2" id="i0">4</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.dto/CommentsResponseDto.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.dto/CommentsResponseDto.html
    deleted file mode 100644
    index 67557527..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.dto/CommentsResponseDto.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>CommentsResponseDto</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.comment.dto</a> &gt; <span class="el_class">CommentsResponseDto</span></div><h1>CommentsResponseDto</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">76 of 76</td><td class="ctr2">0%</td><td class="bar">8 of 8</td><td class="ctr2">0%</td><td class="ctr1">9</td><td class="ctr2">9</td><td class="ctr1">24</td><td class="ctr2">24</td><td class="ctr1">5</td><td class="ctr2">5</td></tr></tfoot><tbody><tr><td id="a1"><a href="CommentsResponseDto.java.html#L65" class="el_method">lambda$getContents$0(Integer, Comment)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="34" alt="34"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="6" alt="6"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">12</td><td class="ctr2" id="i0">12</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a4"><a href="CommentsResponseDto.java.html#L36" class="el_method">of(ScrollPaginationUtil, Integer)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="63" height="10" title="18" alt="18"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="40" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f1">2</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h2">3</td><td class="ctr2" id="i2">3</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a3"><a href="CommentsResponseDto.java.html#L52" class="el_method">newScrollHasNext(List, int, Integer)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="42" height="10" title="12" alt="12"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h1">5</td><td class="ctr2" id="i1">5</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a0"><a href="CommentsResponseDto.java.html#L63" class="el_method">getContents(List, Integer)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="24" height="10" title="7" alt="7"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">3</td><td class="ctr2" id="i3">3</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a2"><a href="CommentsResponseDto.java.html#L46" class="el_method">newLastScroll(List, Integer)</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="17" height="10" title="5" alt="5"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">1</td><td class="ctr2" id="i4">1</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.dto/CommentsResponseDto.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.dto/CommentsResponseDto.java.html
    deleted file mode 100644
    index 17457913..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.dto/CommentsResponseDto.java.html
    +++ /dev/null
    @@ -1,85 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>CommentsResponseDto.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.comment.dto</a> &gt; <span class="el_source">CommentsResponseDto.java</span></div><h1>CommentsResponseDto.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.comment.dto;
    -
    -import com.softeer.backend.fo_domain.comment.constant.CommentNickname;
    -import com.softeer.backend.fo_domain.comment.domain.Comment;
    -import com.softeer.backend.fo_domain.comment.util.ScrollPaginationUtil;
    -import lombok.*;
    -
    -import java.util.List;
    -
    -@NoArgsConstructor(access = AccessLevel.PRIVATE)
    -@AllArgsConstructor(access = AccessLevel.PUBLIC)
    -@Builder
    -@Getter
    -public class CommentsResponseDto {
    -    public static final int LAST_CURSOR = -1;
    -
    -    private int nextCursor;
    -
    -    private int totalComments;
    -
    -    private List&lt;CommentResponse&gt; comments;
    -
    -    @Getter
    -    @AllArgsConstructor
    -    @Builder
    -    public static class CommentResponse {
    -
    -        private Boolean isMine;
    -
    -        private String nickName;
    -
    -        private int commentType;
    -    }
    -
    -    public static CommentsResponseDto of(ScrollPaginationUtil&lt;Comment&gt; commentsScroll, Integer userId) {
    -<span class="nc bnc" id="L36" title="All 2 branches missed.">        if (commentsScroll.isLastScroll()) {</span>
    -<span class="nc" id="L37">            return CommentsResponseDto.newLastScroll(commentsScroll.getCurrentScrollItems(), userId);</span>
    -        }
    -<span class="nc" id="L39">        return CommentsResponseDto.newScrollHasNext(commentsScroll.getCurrentScrollItems(), commentsScroll.getNextCursor().getId(),</span>
    -                userId);
    -    }
    -
    -    // 마지막 스크롤일 때의 응답값을 구성하는 메서드
    -    // nextCursor 값을 -1로 설정한다.
    -    private static CommentsResponseDto newLastScroll(List&lt;Comment&gt; commentsScroll, Integer userId) {
    -<span class="nc" id="L46">        return newScrollHasNext(commentsScroll, LAST_CURSOR, userId);</span>
    -    }
    -
    -    // 마지막 스크롤이 아닐 때의 응답값을 구성하는 메서드
    -    private static CommentsResponseDto newScrollHasNext(List&lt;Comment&gt; commentsScroll, int nextCursor,
    -                                                        Integer userId) {
    -<span class="nc" id="L52">        return CommentsResponseDto.builder()</span>
    -<span class="nc" id="L53">                .nextCursor(nextCursor)</span>
    -<span class="nc" id="L54">                .totalComments(commentsScroll.size())</span>
    -<span class="nc" id="L55">                .comments(getContents(commentsScroll, userId))</span>
    -<span class="nc" id="L56">                .build();</span>
    -    }
    -
    -    // CommentResponse를 생성하여 반환하는 메서드
    -    // 유저가 로그인을 한 상태에서 자신의 댓글이 응답에 포함될 경우,
    -    // isMine 변수값을 true로, nickname의 접미사에 '(나)'를 붙여서 응답을 구성한다.
    -    private static List&lt;CommentResponse&gt; getContents(List&lt;Comment&gt; commentsScroll, Integer userId) {
    -<span class="nc" id="L63">        return commentsScroll.stream()</span>
    -<span class="nc" id="L64">                .map(_comment -&gt; {</span>
    -<span class="nc" id="L65">                    boolean isMine = false;</span>
    -<span class="nc" id="L66">                    String nickname = _comment.getNickname();</span>
    -<span class="nc" id="L67">                    int commentType = _comment.getCommentType();</span>
    -
    -<span class="nc bnc" id="L69" title="All 4 branches missed.">                    if (userId != null &amp;&amp; _comment.getUserId() != null &amp;&amp;</span>
    -<span class="nc bnc" id="L70" title="All 2 branches missed.">                            _comment.getUserId().equals(userId)) {</span>
    -<span class="nc" id="L71">                        isMine = true;</span>
    -<span class="nc" id="L72">                        nickname = nickname + CommentNickname.MY_NICKNAME_SUFFIX;</span>
    -                    }
    -
    -<span class="nc" id="L75">                    return CommentResponse.builder()</span>
    -<span class="nc" id="L76">                            .isMine(isMine)</span>
    -<span class="nc" id="L77">                            .nickName(nickname)</span>
    -<span class="nc" id="L78">                            .commentType(commentType)</span>
    -<span class="nc" id="L79">                            .build();</span>
    -                })
    -<span class="nc" id="L81">                .toList();</span>
    -
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.dto/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.dto/index.html
    deleted file mode 100644
    index 68bf3d74..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.dto/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.comment.dto</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.comment.dto</span></div><h1>com.softeer.backend.fo_domain.comment.dto</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">76 of 76</td><td class="ctr2">0%</td><td class="bar">8 of 8</td><td class="ctr2">0%</td><td class="ctr1">9</td><td class="ctr2">9</td><td class="ctr1">24</td><td class="ctr2">24</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="CommentsResponseDto.html" class="el_class">CommentsResponseDto</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="76" alt="76"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="8" alt="8"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">9</td><td class="ctr2" id="g0">9</td><td class="ctr1" id="h0">24</td><td class="ctr2" id="i0">24</td><td class="ctr1" id="j0">5</td><td class="ctr2" id="k0">5</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.dto/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.dto/index.source.html
    deleted file mode 100644
    index ab14446b..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.dto/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.comment.dto</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.comment.dto</span></div><h1>com.softeer.backend.fo_domain.comment.dto</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">76 of 76</td><td class="ctr2">0%</td><td class="bar">8 of 8</td><td class="ctr2">0%</td><td class="ctr1">9</td><td class="ctr2">9</td><td class="ctr1">24</td><td class="ctr2">24</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="CommentsResponseDto.java.html" class="el_source">CommentsResponseDto.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="76" alt="76"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="8" alt="8"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">9</td><td class="ctr2" id="g0">9</td><td class="ctr1" id="h0">24</td><td class="ctr2" id="i0">24</td><td class="ctr1" id="j0">5</td><td class="ctr2" id="k0">5</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.exception/CommentException.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.exception/CommentException.html
    deleted file mode 100644
    index 00c39560..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.exception/CommentException.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>CommentException</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.comment.exception</a> &gt; <span class="el_class">CommentException</span></div><h1>CommentException</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="CommentException.java.html#L9" class="el_method">CommentException(BaseErrorCode)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.exception/CommentException.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.exception/CommentException.java.html
    deleted file mode 100644
    index 49bf2f57..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.exception/CommentException.java.html
    +++ /dev/null
    @@ -1,12 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>CommentException.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.comment.exception</a> &gt; <span class="el_source">CommentException.java</span></div><h1>CommentException.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.comment.exception;
    -
    -import com.softeer.backend.global.common.code.BaseErrorCode;
    -import com.softeer.backend.global.common.exception.GeneralException;
    -
    -public class CommentException extends GeneralException {
    -
    -    public CommentException(BaseErrorCode code) {
    -<span class="nc" id="L9">        super(code);</span>
    -<span class="nc" id="L10">    }</span>
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.exception/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.exception/index.html
    deleted file mode 100644
    index 34db7bad..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.exception/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.comment.exception</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.comment.exception</span></div><h1>com.softeer.backend.fo_domain.comment.exception</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="CommentException.html" class="el_class">CommentException</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.exception/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.exception/index.source.html
    deleted file mode 100644
    index 044e63a5..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.exception/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.comment.exception</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.comment.exception</span></div><h1>com.softeer.backend.fo_domain.comment.exception</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="CommentException.java.html" class="el_source">CommentException.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.service/CommentService.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.service/CommentService.html
    deleted file mode 100644
    index 31901c27..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.service/CommentService.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>CommentService</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.comment.service</a> &gt; <span class="el_class">CommentService</span></div><h1>CommentService</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">43 of 43</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">13</td><td class="ctr2">13</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="CommentService.java.html#L50" class="el_method">saveComment(Integer, int)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="22" alt="22"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">8</td><td class="ctr2" id="i0">8</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="CommentService.java.html#L33" class="el_method">getComments(Integer, Integer)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="114" height="10" title="21" alt="21"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">5</td><td class="ctr2" id="i1">5</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.service/CommentService.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.service/CommentService.java.html
    deleted file mode 100644
    index 449ed6df..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.service/CommentService.java.html
    +++ /dev/null
    @@ -1,61 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>CommentService.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.comment.service</a> &gt; <span class="el_source">CommentService.java</span></div><h1>CommentService.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.comment.service;
    -
    -import com.softeer.backend.fo_domain.comment.constant.CommentNickname;
    -import com.softeer.backend.fo_domain.comment.domain.Comment;
    -import com.softeer.backend.fo_domain.comment.dto.CommentsResponseDto;
    -import com.softeer.backend.fo_domain.comment.repository.CommentRepository;
    -import com.softeer.backend.fo_domain.comment.util.ScrollPaginationUtil;
    -import lombok.RequiredArgsConstructor;
    -import org.springframework.data.domain.Page;
    -import org.springframework.data.domain.PageRequest;
    -import org.springframework.stereotype.Service;
    -import org.springframework.transaction.annotation.Transactional;
    -
    -import java.util.ArrayList;
    -import java.util.Collections;
    -import java.util.List;
    -
    -@Service
    -@RequiredArgsConstructor
    -public class CommentService {
    -    private static final int SCROLL_SIZE = 30;
    -
    -    private final CommentRepository commentRepository;
    -
    -    /**
    -     * SCROLL_SIZE 만큼의 기대평을 반환하는 메서드
    -     * &lt;p&gt;
    -     * 커서 기반 무한 스크롤 기능을 사용하여 다음 cursor 값을 받아 해당 값보다 작으면서 정해진 개수 만큼의 기대평을 반환한다.
    -     */
    -    @Transactional(readOnly = true)
    -    public CommentsResponseDto getComments(Integer userId, Integer cursor) {
    -
    -<span class="nc" id="L33">        PageRequest pageRequest = PageRequest.of(0, SCROLL_SIZE + 1);</span>
    -<span class="nc" id="L34">        Page&lt;Comment&gt; page = commentRepository.findAllByIdLessThanEqualOrderByIdDesc(cursor, pageRequest);</span>
    -
    -<span class="nc" id="L36">        List&lt;Comment&gt; comments = page.getContent();</span>
    -
    -<span class="nc" id="L38">        ScrollPaginationUtil&lt;Comment&gt; commentCursor = ScrollPaginationUtil.of(comments, SCROLL_SIZE);</span>
    -<span class="nc" id="L39">        return CommentsResponseDto.of(commentCursor, userId);</span>
    -    }
    -
    -    /**
    -     * 기대평을 저장하는 메서드
    -     */
    -    @Transactional
    -    public void saveComment(Integer userId, int commentType) {
    -
    -        // 로그인 한 유저가 기대평을 등록했다면 User entity의 id값을 기반으로 닉네임을 설정한다.
    -        // 로그인 하지 않았다면, 랜덤으로 닉네임을 설정한다.
    -<span class="nc bnc" id="L50" title="All 2 branches missed.">        String randomNickname = (userId != null ?</span>
    -<span class="nc" id="L51">                CommentNickname.getMyRandomNickname(userId) : CommentNickname.getRandomNickname());</span>
    -
    -<span class="nc" id="L53">        commentRepository.save(Comment.builder()</span>
    -<span class="nc" id="L54">                .nickname(randomNickname)</span>
    -<span class="nc" id="L55">                .commentType(commentType)</span>
    -<span class="nc" id="L56">                .userId(userId)</span>
    -<span class="nc" id="L57">                .build()</span>
    -        );
    -<span class="nc" id="L59">    }</span>
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.service/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.service/index.html
    deleted file mode 100644
    index d45c458e..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.service/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.comment.service</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.comment.service</span></div><h1>com.softeer.backend.fo_domain.comment.service</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">43 of 43</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">13</td><td class="ctr2">13</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="CommentService.html" class="el_class">CommentService</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="43" alt="43"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">13</td><td class="ctr2" id="i0">13</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.service/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.service/index.source.html
    deleted file mode 100644
    index 2a1e587d..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.service/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.comment.service</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.comment.service</span></div><h1>com.softeer.backend.fo_domain.comment.service</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">43 of 43</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">13</td><td class="ctr2">13</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="CommentService.java.html" class="el_source">CommentService.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="43" alt="43"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">13</td><td class="ctr2" id="i0">13</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.util/ScrollPaginationUtil.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.util/ScrollPaginationUtil.html
    deleted file mode 100644
    index b24496bc..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.util/ScrollPaginationUtil.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ScrollPaginationUtil</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.comment.util</a> &gt; <span class="el_class">ScrollPaginationUtil</span></div><h1>ScrollPaginationUtil</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">48 of 48</td><td class="ctr2">0%</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="ctr1">6</td><td class="ctr2">6</td><td class="ctr1">8</td><td class="ctr2">8</td><td class="ctr1">4</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a0"><a href="ScrollPaginationUtil.java.html#L36" class="el_method">getCurrentScrollItems()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="24" alt="24"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">5</td><td class="ctr2" id="i0">5</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="ScrollPaginationUtil.java.html#L28" class="el_method">isLastScroll()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="50" height="10" title="10" alt="10"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f1">2</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a1"><a href="ScrollPaginationUtil.java.html#L49" class="el_method">getNextCursor()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="40" height="10" title="8" alt="8"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a3"><a href="ScrollPaginationUtil.java.html#L23" class="el_method">of(List, int)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="30" height="10" title="6" alt="6"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">1</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.util/ScrollPaginationUtil.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.util/ScrollPaginationUtil.java.html
    deleted file mode 100644
    index bc052759..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.util/ScrollPaginationUtil.java.html
    +++ /dev/null
    @@ -1,53 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ScrollPaginationUtil.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.comment.util</a> &gt; <span class="el_source">ScrollPaginationUtil.java</span></div><h1>ScrollPaginationUtil.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.comment.util;
    -
    -import lombok.AccessLevel;
    -import lombok.RequiredArgsConstructor;
    -
    -import java.util.ArrayList;
    -import java.util.Collections;
    -import java.util.List;
    -
    -/**
    - * 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스
    - */
    -@RequiredArgsConstructor(access = AccessLevel.PRIVATE)
    -public class ScrollPaginationUtil&lt;T&gt; {
    -
    -    // 마지막 스크롤인지를 확인하기 위해서 size+1의 개수만큼 item을 저장한다.
    -    private final List&lt;T&gt; itemsWithNextCursor;
    -
    -    // 한번 스크롤 할 때의 데이터 개수
    -    private final int countPerScroll;
    -
    -    public static &lt;T&gt; ScrollPaginationUtil&lt;T&gt; of(List&lt;T&gt; itemsWithNextCursor, int size) {
    -<span class="nc" id="L23">        return new ScrollPaginationUtil&lt;&gt;(itemsWithNextCursor, size);</span>
    -    }
    -
    -    // 마지막 스크롤인지를 확인하는 메서드
    -    public boolean isLastScroll() {
    -<span class="nc bnc" id="L28" title="All 2 branches missed.">        return this.itemsWithNextCursor.size() &lt;= countPerScroll;</span>
    -    }
    -
    -    // 마지막 스크롤일 경우, 그대로 데이터를 반환한다.
    -    // 마지막 스크롤이 아닌 경우, 마지막 데이터를 제외하고 반환한다.
    -    public List&lt;T&gt; getCurrentScrollItems() {
    -        List&lt;T&gt; itemsList;
    -
    -<span class="nc bnc" id="L36" title="All 2 branches missed.">        if (isLastScroll()) {</span>
    -<span class="nc" id="L37">            itemsList = new ArrayList&lt;&gt;(this.itemsWithNextCursor);</span>
    -        }
    -        else{
    -<span class="nc" id="L40">            itemsList = new ArrayList&lt;&gt;(itemsWithNextCursor.subList(0, countPerScroll));</span>
    -        }
    -<span class="nc" id="L42">        Collections.reverse(itemsList);</span>
    -
    -<span class="nc" id="L44">        return itemsList;</span>
    -    }
    -
    -    // 다음 커서 값을 갖고 있는 데이터를 반환하는 메서드
    -    public T getNextCursor() {
    -<span class="nc" id="L49">        return itemsWithNextCursor.get(countPerScroll-1);</span>
    -    }
    -
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.util/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.util/index.html
    deleted file mode 100644
    index fa902d0f..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.util/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.comment.util</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.comment.util</span></div><h1>com.softeer.backend.fo_domain.comment.util</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">48 of 48</td><td class="ctr2">0%</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="ctr1">6</td><td class="ctr2">6</td><td class="ctr1">8</td><td class="ctr2">8</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="ScrollPaginationUtil.html" class="el_class">ScrollPaginationUtil</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="48" alt="48"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">6</td><td class="ctr2" id="g0">6</td><td class="ctr1" id="h0">8</td><td class="ctr2" id="i0">8</td><td class="ctr1" id="j0">4</td><td class="ctr2" id="k0">4</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.util/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.util/index.source.html
    deleted file mode 100644
    index 90ec0b9b..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.util/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.comment.util</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.comment.util</span></div><h1>com.softeer.backend.fo_domain.comment.util</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">48 of 48</td><td class="ctr2">0%</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="ctr1">6</td><td class="ctr2">6</td><td class="ctr1">8</td><td class="ctr2">8</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="ScrollPaginationUtil.java.html" class="el_source">ScrollPaginationUtil.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="48" alt="48"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">6</td><td class="ctr2" id="g0">6</td><td class="ctr1" id="h0">8</td><td class="ctr2" id="i0">8</td><td class="ctr1" id="j0">4</td><td class="ctr2" id="k0">4</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.controller/DrawController.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.controller/DrawController.html
    deleted file mode 100644
    index 85626008..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.controller/DrawController.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DrawController</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.draw.controller</a> &gt; <span class="el_class">DrawController</span></div><h1>DrawController</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">32 of 32</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">6</td><td class="ctr2">6</td><td class="ctr1">4</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a3"><a href="DrawController.java.html#L29" class="el_method">participateDrawEvent()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="14" alt="14"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">3</td><td class="ctr2" id="i0">3</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="DrawController.java.html#L24" class="el_method">getDrawMainPageInfo(Integer)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="51" height="10" title="6" alt="6"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="DrawController.java.html#L36" class="el_method">getDrawResult(Integer)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="51" height="10" title="6" alt="6"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a0"><a href="DrawController.java.html#L41" class="el_method">getDrawHistory(Integer)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="51" height="10" title="6" alt="6"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">1</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.controller/DrawController.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.controller/DrawController.java.html
    deleted file mode 100644
    index c9e1f3a6..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.controller/DrawController.java.html
    +++ /dev/null
    @@ -1,44 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DrawController.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.draw.controller</a> &gt; <span class="el_source">DrawController.java</span></div><h1>DrawController.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.draw.controller;
    -
    -import com.softeer.backend.fo_domain.draw.dto.main.DrawMainResponseDto;
    -import com.softeer.backend.fo_domain.draw.dto.participate.DrawModalResponseDto;
    -import com.softeer.backend.fo_domain.draw.dto.result.DrawHistoryResponseDto;
    -import com.softeer.backend.fo_domain.draw.service.DrawService;
    -import com.softeer.backend.global.annotation.AuthInfo;
    -import com.softeer.backend.global.common.response.ResponseDto;
    -import lombok.RequiredArgsConstructor;
    -import org.springframework.http.HttpHeaders;
    -import org.springframework.http.HttpStatus;
    -import org.springframework.http.ResponseEntity;
    -import org.springframework.web.bind.annotation.GetMapping;
    -import org.springframework.web.bind.annotation.PostMapping;
    -import org.springframework.web.bind.annotation.RestController;
    -
    -@RestController
    -@RequiredArgsConstructor
    -public class DrawController {
    -    private final DrawService drawService;
    -
    -    @GetMapping(&quot;/event/draw&quot;)
    -    public ResponseDto&lt;DrawMainResponseDto&gt; getDrawMainPageInfo(@AuthInfo Integer userId) {
    -<span class="nc" id="L24">        return ResponseDto.onSuccess(drawService.getDrawMainPageInfo(userId));</span>
    -    }
    -
    -    @PostMapping(&quot;/event/draw&quot;)
    -    public ResponseEntity&lt;Void&gt; participateDrawEvent() {
    -<span class="nc" id="L29">        HttpHeaders headers = new HttpHeaders();</span>
    -<span class="nc" id="L30">        headers.add(&quot;Location&quot;, &quot;/event/draw-result&quot;);</span>
    -<span class="nc" id="L31">        return new ResponseEntity&lt;&gt;(headers, HttpStatus.FOUND); // HTTP 302 Found 응답</span>
    -    }
    -
    -    @GetMapping(&quot;/event/draw-result&quot;)
    -    public ResponseDto&lt;DrawModalResponseDto&gt; getDrawResult(@AuthInfo Integer userId) {
    -<span class="nc" id="L36">        return ResponseDto.onSuccess(drawService.participateDrawEvent(userId));</span>
    -    }
    -
    -    @GetMapping(&quot;/event/draw/history&quot;)
    -    public ResponseDto&lt;DrawHistoryResponseDto&gt; getDrawHistory(@AuthInfo Integer userId) {
    -<span class="nc" id="L41">        return ResponseDto.onSuccess(drawService.getDrawHistory(userId));</span>
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.controller/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.controller/index.html
    deleted file mode 100644
    index ab82d4c3..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.controller/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.draw.controller</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.draw.controller</span></div><h1>com.softeer.backend.fo_domain.draw.controller</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">32 of 32</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">6</td><td class="ctr2">6</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="DrawController.html" class="el_class">DrawController</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="32" alt="32"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">6</td><td class="ctr2" id="i0">6</td><td class="ctr1" id="j0">4</td><td class="ctr2" id="k0">4</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.controller/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.controller/index.source.html
    deleted file mode 100644
    index 17a33d16..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.controller/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.draw.controller</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.draw.controller</span></div><h1>com.softeer.backend.fo_domain.draw.controller</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">32 of 32</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">6</td><td class="ctr2">6</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="DrawController.java.html" class="el_source">DrawController.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="32" alt="32"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">6</td><td class="ctr2" id="i0">6</td><td class="ctr1" id="j0">4</td><td class="ctr2" id="k0">4</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.exception/DrawException.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.exception/DrawException.html
    deleted file mode 100644
    index 2c21bbeb..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.exception/DrawException.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DrawException</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.draw.exception</a> &gt; <span class="el_class">DrawException</span></div><h1>DrawException</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="DrawException.java.html#L9" class="el_method">DrawException(BaseErrorCode)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.exception/DrawException.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.exception/DrawException.java.html
    deleted file mode 100644
    index 1504c282..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.exception/DrawException.java.html
    +++ /dev/null
    @@ -1,12 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DrawException.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.draw.exception</a> &gt; <span class="el_source">DrawException.java</span></div><h1>DrawException.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.draw.exception;
    -
    -import com.softeer.backend.global.common.code.BaseErrorCode;
    -import com.softeer.backend.global.common.exception.GeneralException;
    -
    -public class DrawException extends GeneralException {
    -
    -    public DrawException(BaseErrorCode code) {
    -<span class="nc" id="L9">        super(code);</span>
    -<span class="nc" id="L10">    }</span>
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.exception/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.exception/index.html
    deleted file mode 100644
    index 0ba91937..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.exception/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.draw.exception</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.draw.exception</span></div><h1>com.softeer.backend.fo_domain.draw.exception</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="DrawException.html" class="el_class">DrawException</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.exception/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.exception/index.source.html
    deleted file mode 100644
    index 0d9d44bf..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.exception/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.draw.exception</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.draw.exception</span></div><h1>com.softeer.backend.fo_domain.draw.exception</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="DrawException.java.html" class="el_source">DrawException.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.interceptor/DrawTimeCheckInterceptor.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.interceptor/DrawTimeCheckInterceptor.html
    deleted file mode 100644
    index 809d9f15..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.interceptor/DrawTimeCheckInterceptor.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DrawTimeCheckInterceptor</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.draw.interceptor</a> &gt; <span class="el_class">DrawTimeCheckInterceptor</span></div><h1>DrawTimeCheckInterceptor</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">78 of 78</td><td class="ctr2">0%</td><td class="bar">16 of 16</td><td class="ctr2">0%</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">14</td><td class="ctr2">14</td><td class="ctr1">4</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a1"><a href="DrawTimeCheckInterceptor.java.html#L61" class="el_method">compareTime(LocalDateTime)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="27" alt="27"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h1">4</td><td class="ctr2" id="i1">4</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="DrawTimeCheckInterceptor.java.html#L49" class="el_method">compareDate(LocalDateTime)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="97" height="10" title="22" alt="22"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f1">3</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h2">3</td><td class="ctr2" id="i2">3</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a3"><a href="DrawTimeCheckInterceptor.java.html#L23" class="el_method">preHandle(HttpServletRequest, HttpServletResponse, Object)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="66" height="10" title="15" alt="15"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e2">0%</td><td class="ctr1" id="f2">3</td><td class="ctr2" id="g2">3</td><td class="ctr1" id="h0">5</td><td class="ctr2" id="i0">5</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a2"><a href="DrawTimeCheckInterceptor.java.html#L38" class="el_method">isAvailableTime()</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="62" height="10" title="14" alt="14"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e3">0%</td><td class="ctr1" id="f3">3</td><td class="ctr2" id="g3">3</td><td class="ctr1" id="h3">2</td><td class="ctr2" id="i3">2</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.interceptor/DrawTimeCheckInterceptor.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.interceptor/DrawTimeCheckInterceptor.java.html
    deleted file mode 100644
    index a1266167..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.interceptor/DrawTimeCheckInterceptor.java.html
    +++ /dev/null
    @@ -1,68 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DrawTimeCheckInterceptor.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.draw.interceptor</a> &gt; <span class="el_source">DrawTimeCheckInterceptor.java</span></div><h1>DrawTimeCheckInterceptor.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.draw.interceptor;
    -
    -import com.softeer.backend.fo_domain.draw.exception.DrawException;
    -import com.softeer.backend.fo_domain.draw.service.DrawSettingManager;
    -import com.softeer.backend.global.common.code.status.ErrorStatus;
    -import jakarta.servlet.http.HttpServletRequest;
    -import jakarta.servlet.http.HttpServletResponse;
    -import lombok.RequiredArgsConstructor;
    -import org.springframework.stereotype.Component;
    -import org.springframework.web.cors.CorsUtils;
    -import org.springframework.web.servlet.HandlerInterceptor;
    -
    -import java.time.LocalDate;
    -import java.time.LocalDateTime;
    -
    -@Component
    -@RequiredArgsConstructor
    -public class DrawTimeCheckInterceptor implements HandlerInterceptor {
    -    private final DrawSettingManager drawSettingManager;
    -
    -    @Override
    -    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
    -<span class="nc bnc" id="L23" title="All 2 branches missed.">        if (CorsUtils.isPreFlightRequest(request))</span>
    -<span class="nc" id="L24">            return true;</span>
    -
    -<span class="nc bnc" id="L26" title="All 2 branches missed.">        if (!isAvailableTime()) {</span>
    -<span class="nc" id="L27">            throw new DrawException(ErrorStatus._BAD_REQUEST);</span>
    -        }
    -
    -<span class="nc" id="L30">        return true;</span>
    -    }
    -
    -    /**
    -     * 참가 가능한 시간인지 확인
    -     * @return 참가 가능하면 true, 불가능하면 false 반환
    -     */
    -    private boolean isAvailableTime() {
    -<span class="nc" id="L38">        LocalDateTime now = LocalDateTime.now();</span>
    -
    -<span class="nc bnc" id="L40" title="All 4 branches missed.">        return compareDate(now) &amp;&amp; compareTime(now);</span>
    -    }
    -
    -    /**
    -     * 날짜 비교
    -     * @param now 현재시각
    -     * @return 참가 가능한 날짜이면 true, 불가능하면 false 반환
    -     */
    -    private boolean compareDate(LocalDateTime now) {
    -<span class="nc" id="L49">        LocalDateTime startDateTime = drawSettingManager.getStartDate().atStartOfDay();</span>
    -<span class="nc" id="L50">        LocalDateTime endDateTime = drawSettingManager.getEndDate().atStartOfDay();</span>
    -
    -<span class="nc bnc" id="L52" title="All 4 branches missed.">        return now.isAfter(startDateTime) &amp;&amp; now.isBefore(endDateTime);</span>
    -    }
    -
    -    /**
    -     * 시간 비교
    -     * @param now 현재 시각
    -     * @return 참가 가능한 시간이면 true, 불가능하면 false 반환
    -     */
    -    private boolean compareTime(LocalDateTime now) {
    -<span class="nc" id="L61">        LocalDate nowDate = now.toLocalDate();</span>
    -<span class="nc" id="L62">        LocalDateTime startTimeAsDateTime = LocalDateTime.of(nowDate, drawSettingManager.getStartTime());</span>
    -<span class="nc" id="L63">        LocalDateTime endTimeAsDateTime = LocalDateTime.of(nowDate, drawSettingManager.getEndTime());</span>
    -
    -<span class="nc bnc" id="L65" title="All 4 branches missed.">        return (now.isAfter(startTimeAsDateTime) &amp;&amp; now.isBefore(endTimeAsDateTime));</span>
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.interceptor/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.interceptor/index.html
    deleted file mode 100644
    index eb1bb1fa..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.interceptor/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.draw.interceptor</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.draw.interceptor</span></div><h1>com.softeer.backend.fo_domain.draw.interceptor</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">78 of 78</td><td class="ctr2">0%</td><td class="bar">16 of 16</td><td class="ctr2">0%</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">14</td><td class="ctr2">14</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="DrawTimeCheckInterceptor.html" class="el_class">DrawTimeCheckInterceptor</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="78" alt="78"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="16" alt="16"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">12</td><td class="ctr2" id="g0">12</td><td class="ctr1" id="h0">14</td><td class="ctr2" id="i0">14</td><td class="ctr1" id="j0">4</td><td class="ctr2" id="k0">4</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.interceptor/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.interceptor/index.source.html
    deleted file mode 100644
    index 2c6f419e..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.interceptor/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.draw.interceptor</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.draw.interceptor</span></div><h1>com.softeer.backend.fo_domain.draw.interceptor</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">78 of 78</td><td class="ctr2">0%</td><td class="bar">16 of 16</td><td class="ctr2">0%</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">14</td><td class="ctr2">14</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="DrawTimeCheckInterceptor.java.html" class="el_source">DrawTimeCheckInterceptor.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="78" alt="78"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="16" alt="16"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">12</td><td class="ctr2" id="g0">12</td><td class="ctr1" id="h0">14</td><td class="ctr2" id="i0">14</td><td class="ctr1" id="j0">4</td><td class="ctr2" id="k0">4</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/DrawService.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/DrawService.html
    deleted file mode 100644
    index edfb904d..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/DrawService.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DrawService</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.draw.service</a> &gt; <span class="el_class">DrawService</span></div><h1>DrawService</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">15 of 208</td><td class="ctr2">92%</td><td class="bar">0 of 16</td><td class="ctr2">100%</td><td class="ctr1">3</td><td class="ctr2">14</td><td class="ctr1">0</td><td class="ctr2">46</td><td class="ctr1">3</td><td class="ctr2">6</td></tr></tfoot><tbody><tr><td id="a4"><a href="DrawService.java.html#L69" class="el_method">lambda$participateDrawEvent$2()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="4" height="10" title="5" alt="5"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h0">1</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a3"><a href="DrawService.java.html#L43" class="el_method">lambda$getDrawMainPageInfo$1()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="4" height="10" title="5" alt="5"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i4">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="DrawService.java.html#L39" class="el_method">lambda$getDrawMainPageInfo$0()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="4" height="10" title="5" alt="5"/></td><td class="ctr2" id="c5">0%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i5">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a5"><a href="DrawService.java.html#L68" class="el_method">participateDrawEvent(Integer)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="123" alt="123"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="12" alt="12"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g0">7</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i0">31</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a1"><a href="DrawService.java.html#L38" class="el_method">getDrawMainPageInfo(Integer)</a></td><td class="bar" id="b4"><img src="../jacoco-resources/greenbar.gif" width="51" height="10" title="53" alt="53"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"><img src="../jacoco-resources/greenbar.gif" width="20" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i1">11</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a0"><a href="DrawService.java.html#L134" class="el_method">getDrawHistory(Integer)</a></td><td class="bar" id="b5"><img src="../jacoco-resources/greenbar.gif" width="16" height="10" title="17" alt="17"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"><img src="../jacoco-resources/greenbar.gif" width="20" height="10" title="2" alt="2"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g2">2</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i2">4</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/DrawService.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/DrawService.java.html
    deleted file mode 100644
    index e63423e6..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/DrawService.java.html
    +++ /dev/null
    @@ -1,145 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DrawService.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.draw.service</a> &gt; <span class="el_source">DrawService.java</span></div><h1>DrawService.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.draw.service;
    -
    -import com.softeer.backend.fo_domain.draw.domain.DrawParticipationInfo;
    -import com.softeer.backend.fo_domain.draw.dto.main.DrawMainResponseDto;
    -import com.softeer.backend.fo_domain.draw.dto.participate.DrawModalResponseDto;
    -import com.softeer.backend.fo_domain.draw.dto.result.DrawHistoryResponseDto;
    -import com.softeer.backend.fo_domain.draw.exception.DrawException;
    -import com.softeer.backend.fo_domain.draw.repository.DrawParticipationInfoRepository;
    -import com.softeer.backend.fo_domain.draw.util.DrawAttendanceCountUtil;
    -import com.softeer.backend.fo_domain.draw.util.DrawResponseGenerateUtil;
    -import com.softeer.backend.fo_domain.draw.util.DrawUtil;
    -import com.softeer.backend.fo_domain.share.domain.ShareInfo;
    -import com.softeer.backend.fo_domain.share.exception.ShareInfoException;
    -import com.softeer.backend.fo_domain.share.repository.ShareInfoRepository;
    -import com.softeer.backend.global.common.code.status.ErrorStatus;
    -import com.softeer.backend.global.util.DrawRedisUtil;
    -import lombok.RequiredArgsConstructor;
    -import org.springframework.stereotype.Service;
    -
    -@Service
    -@RequiredArgsConstructor
    -public class DrawService {
    -    private final DrawParticipationInfoRepository drawParticipationInfoRepository;
    -    private final ShareInfoRepository shareInfoRepository;
    -    private final DrawRedisUtil drawRedisUtil;
    -    private final DrawUtil drawUtil;
    -    private final DrawResponseGenerateUtil drawResponseGenerateUtil;
    -    private final DrawAttendanceCountUtil drawAttendanceCountUtil;
    -    private final DrawSettingManager drawSettingManager;
    -
    -    /**
    -     * 1. 연속 참여일수 조회
    -     * 1-1. 만약 7일 연속 참여했다면 상품 정보 응답
    -     * 1-2. 만약 7일 미만 참여라면 일반 정보 응답
    -     */
    -    public DrawMainResponseDto getDrawMainPageInfo(Integer userId) {
    -        // 참여 정보 (연속참여일수) 조회
    -<span class="fc" id="L38">        DrawParticipationInfo drawParticipationInfo = drawParticipationInfoRepository.findDrawParticipationInfoByUserId(userId)</span>
    -<span class="pc" id="L39">                .orElseThrow(() -&gt; new DrawException(ErrorStatus._NOT_FOUND));</span>
    -
    -        // 초대한 친구 수, 복권 기회 조회
    -<span class="fc" id="L42">        ShareInfo shareInfo = shareInfoRepository.findShareInfoByUserId(userId)</span>
    -<span class="pc" id="L43">                .orElseThrow(() -&gt; new ShareInfoException(ErrorStatus._NOT_FOUND));</span>
    -
    -<span class="fc" id="L45">        int drawAttendanceCount = drawAttendanceCountUtil.handleAttendanceCount(userId, drawParticipationInfo);</span>
    -<span class="fc" id="L46">        int invitedNum = shareInfo.getInvitedNum();</span>
    -<span class="fc" id="L47">        int remainDrawCount = shareInfo.getRemainDrawCount();</span>
    -
    -<span class="fc" id="L49">        System.out.println(&quot;Draw Attendance = &quot; + drawAttendanceCount);</span>
    -
    -<span class="fc bfc" id="L51" title="All 2 branches covered.">        if (drawAttendanceCount &gt;= 7) {</span>
    -            // 7일 연속 출석자라면
    -<span class="fc" id="L53">            return drawResponseGenerateUtil.generateMainFullAttendResponse(invitedNum, remainDrawCount, drawAttendanceCount % 8);</span>
    -        } else {
    -            // 연속 출석자가 아니라면
    -<span class="fc" id="L56">            return drawResponseGenerateUtil.generateMainNotAttendResponse(invitedNum, remainDrawCount, drawAttendanceCount);</span>
    -        }
    -    }
    -
    -    /**
    -     * 추첨 이벤트 당첨 로직 작성
    -     *
    -     * @param userId 사용자 아이디
    -     * @return 추첨 결과에 따른 응답 반환
    -     */
    -    public DrawModalResponseDto participateDrawEvent(Integer userId) {
    -        // 복권 기회 조회
    -<span class="fc" id="L68">        ShareInfo shareInfo = shareInfoRepository.findShareInfoByUserId(userId)</span>
    -<span class="pc" id="L69">                .orElseThrow(() -&gt; new ShareInfoException(ErrorStatus._NOT_FOUND));</span>
    -
    -        // 만약 남은 참여 기회가 0이라면
    -<span class="fc bfc" id="L72" title="All 2 branches covered.">        if (shareInfo.getRemainDrawCount() == 0) {</span>
    -<span class="fc" id="L73">            return drawResponseGenerateUtil.generateDrawLoserResponse(userId);</span>
    -        }
    -
    -<span class="fc" id="L76">        drawRedisUtil.increaseDrawParticipationCount(); // 추첨 이벤트 참여자수 증가</span>
    -<span class="fc" id="L77">        shareInfoRepository.decreaseRemainDrawCount(userId); // 횟수 1회 차감</span>
    -
    -        // 만약 당첨 목록에 존재한다면 이미 오늘은 한 번 당첨됐다는 뜻이므로 LoseModal 반환
    -<span class="fc" id="L80">        int ranking = drawRedisUtil.getRankingIfWinner(userId); // 당첨 목록에 존재한다면 랭킹 반환</span>
    -<span class="fc bfc" id="L81" title="All 2 branches covered.">        if (ranking != 0) {</span>
    -<span class="fc" id="L82">            drawParticipationInfoRepository.increaseLoseCount(userId);  // 낙첨 횟수 증가</span>
    -<span class="fc" id="L83">            return drawResponseGenerateUtil.generateDrawLoserResponse(userId); // LoseModal 반환</span>
    -        }
    -
    -        // 당첨자 수 조회
    -<span class="fc" id="L87">        int first = drawSettingManager.getWinnerNum1(); // 1등 수</span>
    -<span class="fc" id="L88">        int second = drawSettingManager.getWinnerNum2(); // 2등 수</span>
    -<span class="fc" id="L89">        int third = drawSettingManager.getWinnerNum3(); // 3등 수</span>
    -
    -        // 당첨자 수 설정
    -<span class="fc" id="L92">        drawUtil.setFirst(first);</span>
    -<span class="fc" id="L93">        drawUtil.setSecond(second);</span>
    -<span class="fc" id="L94">        drawUtil.setThird(third);</span>
    -
    -        // 추첨 로직 실행
    -<span class="fc" id="L97">        drawUtil.performDraw();</span>
    -
    -<span class="fc bfc" id="L99" title="All 2 branches covered.">        if (drawUtil.isDrawWin()) { // 당첨자일 경우</span>
    -<span class="fc" id="L100">            ranking = drawUtil.getRanking();</span>
    -            int winnerNum;
    -<span class="fc bfc" id="L102" title="All 2 branches covered.">            if (ranking == 1) {</span>
    -<span class="fc" id="L103">                winnerNum = first;</span>
    -<span class="fc bfc" id="L104" title="All 2 branches covered.">            } else if (ranking == 2) {</span>
    -<span class="fc" id="L105">                winnerNum = second;</span>
    -            } else {
    -<span class="fc" id="L107">                winnerNum = third;</span>
    -            }
    -
    -<span class="fc bfc" id="L110" title="All 2 branches covered.">            if (drawRedisUtil.isWinner(userId, ranking, winnerNum)) { // 레디스에 추첨 티켓이 남았다면, 레디스 당첨 목록에 추가</span>
    -                // 추첨 티켓이 다 팔리지 않았다면
    -<span class="fc" id="L112">                drawParticipationInfoRepository.increaseWinCount(userId); // 당첨 횟수 증가</span>
    -<span class="fc" id="L113">                return drawResponseGenerateUtil.generateDrawWinnerResponse(ranking); // WinModal 반환</span>
    -            } else {
    -                // 추첨 티켓이 다 팔렸다면 로직상 당첨자라도 실패 반환
    -<span class="fc" id="L116">                drawParticipationInfoRepository.increaseLoseCount(userId);  // 낙첨 횟수 증가</span>
    -<span class="fc" id="L117">                return drawResponseGenerateUtil.generateDrawLoserResponse(userId); // LoseModal 반환</span>
    -            }
    -        } else { // 낙첨자일 경우
    -<span class="fc" id="L120">            drawParticipationInfoRepository.increaseLoseCount(userId);  // 낙첨 횟수 증가</span>
    -<span class="fc" id="L121">            return drawResponseGenerateUtil.generateDrawLoserResponse(userId); // LoseModal 반환</span>
    -        }
    -    }
    -
    -    /**
    -     * 당첨 내역 조회하는 메서드
    -     * 1. 당첨자라면 WinModal과 같은 당첨 내역 모달 응답
    -     * 2. 낙첨자라면 LoseModal과 같은 공유 url 모달 응답
    -     *
    -     * @param userId 사용자 아이디
    -     * @return 당첨 내역에 따른 응답
    -     */
    -    public DrawHistoryResponseDto getDrawHistory(Integer userId) {
    -<span class="fc" id="L134">        int ranking = drawRedisUtil.getRankingIfWinner(userId);</span>
    -
    -<span class="fc bfc" id="L136" title="All 2 branches covered.">        if (ranking != 0) {</span>
    -            // 당첨자라면
    -<span class="fc" id="L138">            return drawResponseGenerateUtil.generateDrawHistoryWinnerResponse(ranking);</span>
    -        }
    -
    -        // 당첨자가 아니라면
    -<span class="fc" id="L142">        return drawResponseGenerateUtil.generateDrawHistoryLoserResponse(userId);</span>
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/DrawSettingManager.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/DrawSettingManager.html
    deleted file mode 100644
    index 097690ec..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/DrawSettingManager.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DrawSettingManager</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.draw.service</a> &gt; <span class="el_class">DrawSettingManager</span></div><h1>DrawSettingManager</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">78 of 78</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">18</td><td class="ctr2">18</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a0"><a href="DrawSettingManager.java.html#L44" class="el_method">initializeDrawSettingManager()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="41" alt="41"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">10</td><td class="ctr2" id="i0">10</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="DrawSettingManager.java.html#L57" class="el_method">setDrawSetting(DrawSetting)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="93" height="10" title="32" alt="32"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">8</td><td class="ctr2" id="i1">8</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a1"><a href="DrawSettingManager.java.html#L45" class="el_method">lambda$initializeDrawSettingManager$0()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="14" height="10" title="5" alt="5"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/DrawSettingManager.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/DrawSettingManager.java.html
    deleted file mode 100644
    index a30aa7c3..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/DrawSettingManager.java.html
    +++ /dev/null
    @@ -1,68 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DrawSettingManager.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.draw.service</a> &gt; <span class="el_source">DrawSettingManager.java</span></div><h1>DrawSettingManager.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.draw.service;
    -
    -import com.softeer.backend.fo_domain.draw.domain.DrawSetting;
    -import com.softeer.backend.fo_domain.draw.exception.DrawException;
    -import com.softeer.backend.fo_domain.draw.repository.DrawRepository;
    -import com.softeer.backend.fo_domain.draw.repository.DrawSettingRepository;
    -import com.softeer.backend.fo_domain.user.repository.UserRepository;
    -import com.softeer.backend.global.common.code.status.ErrorStatus;
    -import com.softeer.backend.global.util.DrawRedisUtil;
    -import com.softeer.backend.global.util.EventLockRedisUtil;
    -import jakarta.annotation.PostConstruct;
    -import lombok.Getter;
    -import lombok.RequiredArgsConstructor;
    -import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
    -import org.springframework.stereotype.Component;
    -
    -import java.time.LocalDate;
    -import java.time.LocalTime;
    -
    -@Getter
    -@Component
    -@RequiredArgsConstructor
    -public class DrawSettingManager {
    -    private final DrawRepository drawRepository;
    -    private final DrawSettingRepository drawSettingRepository;
    -    private final ThreadPoolTaskScheduler taskScheduler;
    -    private final EventLockRedisUtil eventLockRedisUtil;
    -    private final DrawRedisUtil drawRedisUtil;
    -    private final UserRepository userRepository;
    -
    -    private LocalDate startDate;
    -    private LocalDate endDate;
    -    private LocalTime startTime;
    -    private LocalTime endTime;
    -    private int winnerNum1;
    -    private int winnerNum2;
    -    private int winnerNum3;
    -
    -    // @PostConstruct로 생성됐을 시 세팅정보 가져오기
    -    // 스케줄러로 01:00:00에 redis 임시 목록 삭제하기
    -
    -    @PostConstruct
    -    public void initializeDrawSettingManager() {
    -<span class="nc" id="L44">        DrawSetting drawSetting = drawSettingRepository.findById(1)</span>
    -<span class="nc" id="L45">                .orElseThrow(() -&gt; new DrawException(ErrorStatus._NOT_FOUND));</span>
    -
    -<span class="nc" id="L47">        startDate = drawSetting.getStartDate();</span>
    -<span class="nc" id="L48">        endDate = drawSetting.getEndDate();</span>
    -<span class="nc" id="L49">        startTime = drawSetting.getStartTime();</span>
    -<span class="nc" id="L50">        endTime = drawSetting.getEndTime();</span>
    -<span class="nc" id="L51">        winnerNum1 = drawSetting.getWinnerNum1();</span>
    -<span class="nc" id="L52">        winnerNum2 = drawSetting.getWinnerNum2();</span>
    -<span class="nc" id="L53">        winnerNum3 = drawSetting.getWinnerNum3();</span>
    -<span class="nc" id="L54">    }</span>
    -
    -    public void setDrawSetting(DrawSetting drawSetting) {
    -<span class="nc" id="L57">        this.startDate = drawSetting.getStartDate();</span>
    -<span class="nc" id="L58">        this.endDate = drawSetting.getEndDate();</span>
    -<span class="nc" id="L59">        this.startTime = drawSetting.getStartTime();</span>
    -<span class="nc" id="L60">        this.endTime = drawSetting.getEndTime();</span>
    -
    -<span class="nc" id="L62">        this.winnerNum1 = drawSetting.getWinnerNum1();</span>
    -<span class="nc" id="L63">        this.winnerNum2 = drawSetting.getWinnerNum2();</span>
    -<span class="nc" id="L64">        this.winnerNum3 = drawSetting.getWinnerNum3();</span>
    -<span class="nc" id="L65">    }</span>
    -
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/index.html
    deleted file mode 100644
    index 226b4433..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.draw.service</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.draw.service</span></div><h1>com.softeer.backend.fo_domain.draw.service</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">93 of 286</td><td class="ctr2">67%</td><td class="bar">0 of 16</td><td class="ctr2">100%</td><td class="ctr1">6</td><td class="ctr2">17</td><td class="ctr1">18</td><td class="ctr2">64</td><td class="ctr1">6</td><td class="ctr2">9</td><td class="ctr1">1</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="DrawSettingManager.html" class="el_class">DrawSettingManager</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="45" height="10" title="78" alt="78"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h0">18</td><td class="ctr2" id="i1">18</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k1">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="DrawService.html" class="el_class">DrawService</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="8" height="10" title="15" alt="15"/><img src="../jacoco-resources/greenbar.gif" width="111" height="10" title="193" alt="193"/></td><td class="ctr2" id="c0">92%</td><td class="bar" id="d0"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="16" alt="16"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f1">3</td><td class="ctr2" id="g0">14</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i0">46</td><td class="ctr1" id="j1">3</td><td class="ctr2" id="k0">6</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/index.source.html
    deleted file mode 100644
    index 39de8b6c..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.draw.service</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.draw.service</span></div><h1>com.softeer.backend.fo_domain.draw.service</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">93 of 286</td><td class="ctr2">67%</td><td class="bar">0 of 16</td><td class="ctr2">100%</td><td class="ctr1">6</td><td class="ctr2">17</td><td class="ctr1">18</td><td class="ctr2">64</td><td class="ctr1">6</td><td class="ctr2">9</td><td class="ctr1">1</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="DrawSettingManager.java.html" class="el_source">DrawSettingManager.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="45" height="10" title="78" alt="78"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h0">18</td><td class="ctr2" id="i1">18</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k1">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="DrawService.java.html" class="el_source">DrawService.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="8" height="10" title="15" alt="15"/><img src="../jacoco-resources/greenbar.gif" width="111" height="10" title="193" alt="193"/></td><td class="ctr2" id="c0">92%</td><td class="bar" id="d0"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="16" alt="16"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f1">3</td><td class="ctr2" id="g0">14</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i0">46</td><td class="ctr1" id="j1">3</td><td class="ctr2" id="k0">6</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawAttendanceCountUtil.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawAttendanceCountUtil.html
    deleted file mode 100644
    index fd8eefef..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawAttendanceCountUtil.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DrawAttendanceCountUtil</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.draw.util</a> &gt; <span class="el_class">DrawAttendanceCountUtil</span></div><h1>DrawAttendanceCountUtil</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">109 of 109</td><td class="ctr2">0%</td><td class="bar">14 of 14</td><td class="ctr2">0%</td><td class="ctr1">10</td><td class="ctr2">10</td><td class="ctr1">23</td><td class="ctr2">23</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a0"><a href="DrawAttendanceCountUtil.java.html#L27" class="el_method">handleAttendanceCount(Integer, DrawParticipationInfo)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="59" alt="59"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="6" alt="6"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">15</td><td class="ctr2" id="i0">15</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="DrawAttendanceCountUtil.java.html#L72" class="el_method">isContinuousAttendance(LocalDateTime)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="52" height="10" title="26" alt="26"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="80" height="10" title="4" alt="4"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f1">3</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h1">4</td><td class="ctr2" id="i1">4</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="DrawAttendanceCountUtil.java.html#L86" class="el_method">isLastAttendanceToday(LocalDateTime)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="48" height="10" title="24" alt="24"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"><img src="../jacoco-resources/redbar.gif" width="80" height="10" title="4" alt="4"/></td><td class="ctr2" id="e2">0%</td><td class="ctr1" id="f2">3</td><td class="ctr2" id="g2">3</td><td class="ctr1" id="h2">4</td><td class="ctr2" id="i2">4</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawAttendanceCountUtil.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawAttendanceCountUtil.java.html
    deleted file mode 100644
    index 546bc54a..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawAttendanceCountUtil.java.html
    +++ /dev/null
    @@ -1,93 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DrawAttendanceCountUtil.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.draw.util</a> &gt; <span class="el_source">DrawAttendanceCountUtil.java</span></div><h1>DrawAttendanceCountUtil.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.draw.util;
    -
    -import com.softeer.backend.fo_domain.draw.domain.DrawParticipationInfo;
    -import com.softeer.backend.fo_domain.draw.repository.DrawParticipationInfoRepository;
    -import lombok.RequiredArgsConstructor;
    -import org.springframework.stereotype.Component;
    -
    -import java.time.LocalDateTime;
    -import java.time.LocalTime;
    -
    -@Component
    -@RequiredArgsConstructor
    -public class DrawAttendanceCountUtil {
    -    private final DrawParticipationInfoRepository drawParticipationInfoRepository;
    -
    -    /**
    -     * 연속 출석인지 판단
    -     * 1. 연속 출석이면 연속 출석일수 1 증가하여 DB에 업데이트
    -     * 2. 연속 출석이 아니면 DB에 연속 출석일수 1로 초기화
    -     * 3. 현재 출석시각을 마지막 출석시각으로 DB에 업데이트
    -     *
    -     * @param userId                사용자 아이디
    -     * @param drawParticipationInfo 참여 정보
    -     * @return 연속출석 일수 반환
    -     */
    -    public int handleAttendanceCount(Integer userId, DrawParticipationInfo drawParticipationInfo) {
    -<span class="nc" id="L27">        LocalDateTime lastAttendance = drawParticipationInfo.getLastAttendance();</span>
    -
    -        // 한 번도 접속한 적이 없는 사람이라면
    -<span class="nc bnc" id="L30" title="All 2 branches missed.">        if (lastAttendance == null) {</span>
    -            // 연속출석일수 1로 초기화
    -<span class="nc" id="L32">            drawParticipationInfoRepository.setAttendanceCountToOne(userId);</span>
    -
    -            // lastAttendance를 현재 시각으로 설정
    -<span class="nc" id="L35">            drawParticipationInfoRepository.setLastAttendance(userId, LocalDateTime.now());</span>
    -
    -<span class="nc" id="L37">            return 1;</span>
    -        }
    -
    -        // 마지막 접속 시간이 오늘이라면 false 반환
    -<span class="nc bnc" id="L41" title="All 2 branches missed.">        if (isLastAttendanceToday(lastAttendance)) {</span>
    -            // lastAttendance를 현재 시각으로 설정
    -<span class="nc" id="L43">            drawParticipationInfoRepository.setLastAttendance(userId, LocalDateTime.now());</span>
    -
    -<span class="nc" id="L45">            return drawParticipationInfo.getDrawAttendanceCount();</span>
    -        }
    -
    -<span class="nc bnc" id="L48" title="All 2 branches missed.">        if (isContinuousAttendance(lastAttendance)) {</span>
    -            // 연속 출석이라면 연속출석일수 1 증가
    -<span class="nc" id="L50">            drawParticipationInfoRepository.increaseAttendanceCount(userId);</span>
    -
    -            // lastAttendance를 현재 시각으로 설정
    -<span class="nc" id="L53">            drawParticipationInfoRepository.setLastAttendance(userId, LocalDateTime.now());</span>
    -<span class="nc" id="L54">            return drawParticipationInfo.getDrawAttendanceCount() + 1;</span>
    -        } else {
    -            // 연속출석이 아니라면 연속출석일수 1로 초기화
    -<span class="nc" id="L57">            drawParticipationInfoRepository.setAttendanceCountToOne(userId);</span>
    -
    -            // lastAttendance를 현재 시각으로 설정
    -<span class="nc" id="L60">            drawParticipationInfoRepository.setLastAttendance(userId, LocalDateTime.now());</span>
    -<span class="nc" id="L61">            return 1;</span>
    -        }
    -    }
    -
    -    /**
    -     * 연속 출석인지 판단
    -     *
    -     * @param lastAttendance 마지막 출석 날짜
    -     * @return 연속 출석이면 true, 연속출석이 아니면 false 반환
    -     */
    -    private boolean isContinuousAttendance(LocalDateTime lastAttendance) {
    -<span class="nc" id="L72">        LocalDateTime now = LocalDateTime.now();</span>
    -<span class="nc" id="L73">        LocalDateTime startDateTime = lastAttendance.plusDays(1).with(LocalTime.MIDNIGHT); // 마지막 접속일자의 다음날 자정</span>
    -<span class="nc" id="L74">        LocalDateTime endDateTime = lastAttendance.plusDays(2).with(LocalTime.MIDNIGHT); // 마지막 접속일자의 2일 후 자정</span>
    -
    -<span class="nc bnc" id="L76" title="All 4 branches missed.">        return (now.isAfter(startDateTime) &amp;&amp; now.isBefore(endDateTime));</span>
    -    }
    -
    -    /**
    -     * 마지막 출석 시간이 오늘인지 판단
    -     *
    -     * @param lastAttendance 마지막 출석 날짜
    -     * @return 마지막 출석 시간이 오늘이면 true, 아니면 false 반환
    -     */
    -    private boolean isLastAttendanceToday(LocalDateTime lastAttendance) {
    -<span class="nc" id="L86">        LocalDateTime now = LocalDateTime.now();</span>
    -<span class="nc" id="L87">        LocalDateTime startDateTime = lastAttendance.with(LocalTime.MIDNIGHT);</span>
    -<span class="nc" id="L88">        LocalDateTime endDateTime = lastAttendance.plusDays(1).with(LocalTime.MIDNIGHT);</span>
    -
    -<span class="nc bnc" id="L90" title="All 4 branches missed.">        return (now.isAfter(startDateTime) &amp;&amp; now.isBefore(endDateTime));</span>
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawModalGenerateUtil.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawModalGenerateUtil.html
    deleted file mode 100644
    index 73b189c2..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawModalGenerateUtil.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DrawModalGenerateUtil</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.draw.util</a> &gt; <span class="el_class">DrawModalGenerateUtil</span></div><h1>DrawModalGenerateUtil</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">142 of 142</td><td class="ctr2">0%</td><td class="bar">6 of 6</td><td class="ctr2">0%</td><td class="ctr1">8</td><td class="ctr2">8</td><td class="ctr1">33</td><td class="ctr2">33</td><td class="ctr1">5</td><td class="ctr2">5</td></tr></tfoot><tbody><tr><td id="a4"><a href="DrawModalGenerateUtil.java.html#L25" class="el_method">generateWinModal(int)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="37" alt="37"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="6" alt="6"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">9</td><td class="ctr2" id="i0">9</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="DrawModalGenerateUtil.java.html#L56" class="el_method">generateSecondWinModal(Map, Map)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="87" height="10" title="27" alt="27"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">6</td><td class="ctr2" id="i1">6</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a3"><a href="DrawModalGenerateUtil.java.html#L68" class="el_method">generateThirdWinModal(Map, Map)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="87" height="10" title="27" alt="27"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">6</td><td class="ctr2" id="i2">6</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a1"><a href="DrawModalGenerateUtil.java.html#L82" class="el_method">generateFullAttendModal(Map, Map)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="87" height="10" title="27" alt="27"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">6</td><td class="ctr2" id="i3">6</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a0"><a href="DrawModalGenerateUtil.java.html#L44" class="el_method">generateFirstWinModal(Map, Map)</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="77" height="10" title="24" alt="24"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">6</td><td class="ctr2" id="i4">6</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawModalGenerateUtil.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawModalGenerateUtil.java.html
    deleted file mode 100644
    index d01c8d42..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawModalGenerateUtil.java.html
    +++ /dev/null
    @@ -1,90 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DrawModalGenerateUtil.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.draw.util</a> &gt; <span class="el_source">DrawModalGenerateUtil.java</span></div><h1>DrawModalGenerateUtil.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.draw.util;
    -
    -import com.softeer.backend.fo_domain.draw.dto.modal.WinModal;
    -import com.softeer.backend.global.staticresources.constant.S3FileName;
    -import com.softeer.backend.global.staticresources.constant.StaticTextName;
    -import com.softeer.backend.global.staticresources.util.StaticResourceUtil;
    -import lombok.RequiredArgsConstructor;
    -import org.springframework.cache.annotation.Cacheable;
    -import org.springframework.stereotype.Component;
    -
    -import java.util.Map;
    -
    -@Component
    -@RequiredArgsConstructor
    -public class DrawModalGenerateUtil {
    -
    -    private final StaticResourceUtil staticResourceUtil;
    -
    -    /**
    -     * @return 등수에 따른 WinModal을 반환
    -     */
    -    @Cacheable(value = &quot;staticResources&quot;, key = &quot;'draw_modal_' + #ranking&quot;)
    -    public WinModal generateWinModal(int ranking) {
    -
    -<span class="nc" id="L25">        Map&lt;String, String&gt; textContentMap = staticResourceUtil.getTextContentMap();</span>
    -<span class="nc" id="L26">        Map&lt;String, String&gt; s3ContentMap = staticResourceUtil.getS3ContentMap();</span>
    -
    -<span class="nc bnc" id="L28" title="All 2 branches missed.">        if (ranking == 1) {</span>
    -<span class="nc" id="L29">            return generateFirstWinModal(textContentMap, s3ContentMap);</span>
    -<span class="nc bnc" id="L30" title="All 2 branches missed.">        } else if (ranking == 2) {</span>
    -<span class="nc" id="L31">            return generateSecondWinModal(textContentMap, s3ContentMap);</span>
    -<span class="nc bnc" id="L32" title="All 2 branches missed.">        } else if (ranking == 3) {</span>
    -<span class="nc" id="L33">            return generateThirdWinModal(textContentMap, s3ContentMap);</span>
    -        } else {
    -<span class="nc" id="L35">            return generateFullAttendModal(textContentMap, s3ContentMap);</span>
    -        }
    -    }
    -
    -    /**
    -     * @return 1등 WinModal 반환
    -     */
    -
    -    private WinModal generateFirstWinModal(Map&lt;String, String&gt; textContentMap, Map&lt;String, String&gt; s3ContentMap) {
    -<span class="nc" id="L44">        return WinModal.builder()</span>
    -<span class="nc" id="L45">                .title(textContentMap.get(StaticTextName.DRAW_WINNER_MODAL_TITLE.name()))</span>
    -<span class="nc" id="L46">                .subtitle(textContentMap.get(StaticTextName.DRAW_FIRST_WINNER_SUBTITLE.name()))</span>
    -<span class="nc" id="L47">                .img(s3ContentMap.get(S3FileName.DRAW_REWARD_IMAGE_1.name()))</span>
    -<span class="nc" id="L48">                .description(StaticTextName.DRAW_WINNER_MODAL_DESCRIPTION.name())</span>
    -<span class="nc" id="L49">                .build();</span>
    -    }
    -
    -    /**
    -     * @return 2등 WinModal 반환
    -     */
    -    private WinModal generateSecondWinModal(Map&lt;String, String&gt; textContentMap, Map&lt;String, String&gt; s3ContentMap) {
    -<span class="nc" id="L56">        return WinModal.builder()</span>
    -<span class="nc" id="L57">                .title(textContentMap.get(StaticTextName.DRAW_WINNER_MODAL_TITLE.name()))</span>
    -<span class="nc" id="L58">                .subtitle(textContentMap.get(StaticTextName.DRAW_SECOND_WINNER_SUBTITLE.name()))</span>
    -<span class="nc" id="L59">                .img(s3ContentMap.get(S3FileName.DRAW_REWARD_IMAGE_2.name()))</span>
    -<span class="nc" id="L60">                .description(textContentMap.get(StaticTextName.DRAW_WINNER_MODAL_DESCRIPTION.name()))</span>
    -<span class="nc" id="L61">                .build();</span>
    -    }
    -
    -    /**
    -     * @return 3등 WinModal 반환
    -     */
    -    private WinModal generateThirdWinModal(Map&lt;String, String&gt; textContentMap, Map&lt;String, String&gt; s3ContentMap) {
    -<span class="nc" id="L68">        return WinModal.builder()</span>
    -<span class="nc" id="L69">                .title(textContentMap.get(StaticTextName.DRAW_WINNER_MODAL_TITLE.name()))</span>
    -<span class="nc" id="L70">                .subtitle(textContentMap.get(StaticTextName.DRAW_THIRD_WINNER_SUBTITLE.name()))</span>
    -<span class="nc" id="L71">                .img(s3ContentMap.get(S3FileName.DRAW_REWARD_IMAGE_3.name()))</span>
    -<span class="nc" id="L72">                .description(textContentMap.get(StaticTextName.DRAW_WINNER_MODAL_DESCRIPTION.name()))</span>
    -<span class="nc" id="L73">                .build();</span>
    -    }
    -
    -    /**
    -     * 7일 연속 출석자 상품 정보 반환 메서드
    -     *
    -     * @return FullAttendModal 반환
    -     */
    -    public WinModal generateFullAttendModal(Map&lt;String, String&gt; textContentMap, Map&lt;String, String&gt; s3ContentMap) {
    -<span class="nc" id="L82">        return WinModal.builder()</span>
    -<span class="nc" id="L83">                .title(textContentMap.get(StaticTextName.FULL_ATTEND_MODAL_TITLE.name()))</span>
    -<span class="nc" id="L84">                .subtitle(textContentMap.get(StaticTextName.FULL_ATTEND_MODAL_SUBTITLE.name()))</span>
    -<span class="nc" id="L85">                .img(s3ContentMap.get(S3FileName.ATTENDANCE_REWARD_IMAGE.name()))</span>
    -<span class="nc" id="L86">                .description(textContentMap.get(StaticTextName.FULL_ATTEND_MODAL_DESCRIPTION.name()))</span>
    -<span class="nc" id="L87">                .build();</span>
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawResponseGenerateUtil.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawResponseGenerateUtil.html
    deleted file mode 100644
    index fdd310d8..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawResponseGenerateUtil.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DrawResponseGenerateUtil</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.draw.util</a> &gt; <span class="el_class">DrawResponseGenerateUtil</span></div><h1>DrawResponseGenerateUtil</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">92 of 92</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">8</td><td class="ctr2">8</td><td class="ctr1">31</td><td class="ctr2">31</td><td class="ctr1">8</td><td class="ctr2">8</td></tr></tfoot><tbody><tr><td id="a4"><a href="DrawResponseGenerateUtil.java.html#L34" class="el_method">generateMainFullAttendResponse(int, int, int)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="17" alt="17"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">6</td><td class="ctr2" id="i0">6</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a3"><a href="DrawResponseGenerateUtil.java.html#L78" class="el_method">generateDrawWinnerResponse(int)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="112" height="10" title="16" alt="16"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">5</td><td class="ctr2" id="i1">5</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="DrawResponseGenerateUtil.java.html#L65" class="el_method">generateDrawLoserResponse(Integer)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="105" height="10" title="15" alt="15"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">5</td><td class="ctr2" id="i2">5</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a1"><a href="DrawResponseGenerateUtil.java.html#L91" class="el_method">generateDrawHistoryWinnerResponse(int)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="77" height="10" title="11" alt="11"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h4">4</td><td class="ctr2" id="i4">4</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a0"><a href="DrawResponseGenerateUtil.java.html#L103" class="el_method">generateDrawHistoryLoserResponse(Integer)</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="70" height="10" title="10" alt="10"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h5">4</td><td class="ctr2" id="i5">4</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a5"><a href="DrawResponseGenerateUtil.java.html#L51" class="el_method">generateMainNotAttendResponse(int, int, int)</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="63" height="10" title="9" alt="9"/></td><td class="ctr2" id="c5">0%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">1</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h3">5</td><td class="ctr2" id="i3">5</td><td class="ctr1" id="j5">1</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a6"><a href="DrawResponseGenerateUtil.java.html#L116" class="el_method">getShareUrl(Integer)</a></td><td class="bar" id="b6"><img src="../jacoco-resources/redbar.gif" width="63" height="10" title="9" alt="9"/></td><td class="ctr2" id="c6">0%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">1</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h6">2</td><td class="ctr2" id="i6">2</td><td class="ctr1" id="j6">1</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a7"><a href="DrawResponseGenerateUtil.java.html#L117" class="el_method">lambda$getShareUrl$0()</a></td><td class="bar" id="b7"><img src="../jacoco-resources/redbar.gif" width="35" height="10" title="5" alt="5"/></td><td class="ctr2" id="c7">0%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">1</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h7">1</td><td class="ctr2" id="i7">1</td><td class="ctr1" id="j7">1</td><td class="ctr2" id="k7">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawResponseGenerateUtil.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawResponseGenerateUtil.java.html
    deleted file mode 100644
    index b4ab65e9..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawResponseGenerateUtil.java.html
    +++ /dev/null
    @@ -1,120 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DrawResponseGenerateUtil.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.draw.util</a> &gt; <span class="el_source">DrawResponseGenerateUtil.java</span></div><h1>DrawResponseGenerateUtil.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.draw.util;
    -
    -import com.softeer.backend.fo_domain.draw.dto.main.DrawMainFullAttendResponseDto;
    -import com.softeer.backend.fo_domain.draw.dto.main.DrawMainResponseDto;
    -import com.softeer.backend.fo_domain.draw.dto.participate.DrawLoseModalResponseDto;
    -import com.softeer.backend.fo_domain.draw.dto.participate.DrawWinModalResponseDto;
    -import com.softeer.backend.fo_domain.draw.dto.result.DrawHistoryLoserResponseDto;
    -import com.softeer.backend.fo_domain.draw.dto.result.DrawHistoryWinnerResponseDto;
    -import com.softeer.backend.fo_domain.share.exception.ShareUrlInfoException;
    -import com.softeer.backend.fo_domain.share.repository.ShareUrlInfoRepository;
    -import com.softeer.backend.global.common.code.status.ErrorStatus;
    -import lombok.RequiredArgsConstructor;
    -import org.springframework.stereotype.Component;
    -
    -@Component
    -@RequiredArgsConstructor
    -public class DrawResponseGenerateUtil {
    -    public static final String BASE_URL = &quot;https://softeer.shop/share/&quot;;
    -
    -    private final ShareUrlInfoRepository shareUrlInfoRepository;
    -    private final DrawUtil drawUtil;
    -    private final DrawModalGenerateUtil drawModalGenerateUtil;
    -
    -
    -    /**
    -     * 7일 연속 출석 시 상품 정보 모달 만들어서 반환하는 메서드
    -     *
    -     * @param invitedNum             초대한 사람 수
    -     * @param remainDrawCount        남은 추첨 기회
    -     * @param drawAttendanceCount 연속 출석 일수
    -     * @return 7일 연속 출석 상품 모달
    -     */
    -    public DrawMainFullAttendResponseDto generateMainFullAttendResponse(int invitedNum, int remainDrawCount, int drawAttendanceCount) {
    -<span class="nc" id="L34">        return DrawMainFullAttendResponseDto.builder()</span>
    -<span class="nc" id="L35">                .invitedNum(invitedNum)</span>
    -<span class="nc" id="L36">                .remainDrawCount(remainDrawCount)</span>
    -<span class="nc" id="L37">                .drawAttendanceCount(drawAttendanceCount)</span>
    -<span class="nc" id="L38">                .fullAttendModal(drawModalGenerateUtil.generateWinModal(7))</span>
    -<span class="nc" id="L39">                .build();</span>
    -    }
    -
    -    /**
    -     * 7일 미만 출석 시 모달 만들어서 반환하는 메서드
    -     *
    -     * @param invitedNum             초대한 사람 수
    -     * @param remainDrawCount        남은 추첨 기회
    -     * @param drawAttendanceCount 연속 출석 일수
    -     * @return 7일 미만 출석 상품 모달
    -     */
    -    public DrawMainResponseDto generateMainNotAttendResponse(int invitedNum, int remainDrawCount, int drawAttendanceCount) {
    -<span class="nc" id="L51">        return DrawMainResponseDto.builder()</span>
    -<span class="nc" id="L52">                .invitedNum(invitedNum)</span>
    -<span class="nc" id="L53">                .remainDrawCount(remainDrawCount)</span>
    -<span class="nc" id="L54">                .drawAttendanceCount(drawAttendanceCount)</span>
    -<span class="nc" id="L55">                .build();</span>
    -    }
    -
    -    /**
    -     * 낙첨자 응답 만들어서 반환
    -     *
    -     * @param userId 를 이용하여 공유 url 조회
    -     * @return 낙첨자 응답
    -     */
    -    public DrawLoseModalResponseDto generateDrawLoserResponse(Integer userId) {
    -<span class="nc" id="L65">        return DrawLoseModalResponseDto.builder()</span>
    -<span class="nc" id="L66">                .isDrawWin(false)</span>
    -<span class="nc" id="L67">                .images(drawUtil.generateLoseImages())</span>
    -<span class="nc" id="L68">                .shareUrl(getShareUrl(userId))</span>
    -<span class="nc" id="L69">                .build();</span>
    -    }
    -
    -    /**
    -     * 당첨자 응답 만들어서 반환
    -     *
    -     * @return 당첨자 응답
    -     */
    -    public DrawWinModalResponseDto generateDrawWinnerResponse(int ranking) {
    -<span class="nc" id="L78">        return DrawWinModalResponseDto.builder()</span>
    -<span class="nc" id="L79">                .isDrawWin(true)</span>
    -<span class="nc" id="L80">                .images(drawUtil.generateWinImages())</span>
    -<span class="nc" id="L81">                .winModal(drawModalGenerateUtil.generateWinModal(ranking))</span>
    -<span class="nc" id="L82">                .build();</span>
    -    }
    -
    -    /**
    -     * 당첨내역이 있는 경우 당첨 내역 응답 만들어서 반환
    -     * @param ranking 등수
    -     * @return 당첨 내역 응답
    -     */
    -    public DrawHistoryWinnerResponseDto generateDrawHistoryWinnerResponse(int ranking) {
    -<span class="nc" id="L91">        return DrawHistoryWinnerResponseDto.builder()</span>
    -<span class="nc" id="L92">                .isDrawWin(true)</span>
    -<span class="nc" id="L93">                .winModal(drawModalGenerateUtil.generateWinModal(ranking))</span>
    -<span class="nc" id="L94">                .build();</span>
    -    }
    -
    -    /**
    -     * 당첨내역이 없는 경우 낙첨 응답 만들어서 반환
    -     * @param userId 사용자 아이디
    -     * @return 낙첨 내역 응답
    -     */
    -    public DrawHistoryLoserResponseDto generateDrawHistoryLoserResponse(Integer userId) {
    -<span class="nc" id="L103">        return DrawHistoryLoserResponseDto.builder()</span>
    -<span class="nc" id="L104">                .isDrawWin(false)</span>
    -<span class="nc" id="L105">                .shareUrl(getShareUrl(userId))</span>
    -<span class="nc" id="L106">                .build();</span>
    -    }
    -
    -    /**
    -     * 공유 url 조회
    -     *
    -     * @param userId 사용자 아이디
    -     * @return 공유 url
    -     */
    -    private String getShareUrl(Integer userId) {
    -<span class="nc" id="L116">        return BASE_URL + shareUrlInfoRepository.findShareUrlByUserId(userId)</span>
    -<span class="nc" id="L117">                .orElseThrow(() -&gt; new ShareUrlInfoException(ErrorStatus._NOT_FOUND));</span>
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawUtil.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawUtil.html
    deleted file mode 100644
    index 1fbec618..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawUtil.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DrawUtil</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.draw.util</a> &gt; <span class="el_class">DrawUtil</span></div><h1>DrawUtil</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">172 of 172</td><td class="ctr2">0%</td><td class="bar">16 of 16</td><td class="ctr2">0%</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">41</td><td class="ctr2">41</td><td class="ctr1">4</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a0"><a href="DrawUtil.java.html#L79" class="el_method">generateLoseImages()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="52" alt="52"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d2"><img src="../jacoco-resources/redbar.gif" width="80" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f2">3</td><td class="ctr2" id="g2">3</td><td class="ctr1" id="h1">11</td><td class="ctr2" id="i1">11</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a3"><a href="DrawUtil.java.html#L43" class="el_method">performDraw()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="99" height="10" title="43" alt="43"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="6" alt="6"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">12</td><td class="ctr2" id="i0">12</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="DrawUtil.java.html#L104" class="el_method">getImageUrl(int)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="94" height="10" title="41" alt="41"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="6" alt="6"/></td><td class="ctr2" id="e2">0%</td><td class="ctr1" id="f1">4</td><td class="ctr2" id="g1">4</td><td class="ctr1" id="h2">9</td><td class="ctr2" id="i2">9</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a1"><a href="DrawUtil.java.html#L62" class="el_method">generateWinImages()</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="83" height="10" title="36" alt="36"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">9</td><td class="ctr2" id="i3">9</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawUtil.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawUtil.java.html
    deleted file mode 100644
    index daf1b7f2..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawUtil.java.html
    +++ /dev/null
    @@ -1,119 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DrawUtil.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.draw.util</a> &gt; <span class="el_source">DrawUtil.java</span></div><h1>DrawUtil.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.draw.util;
    -
    -import com.softeer.backend.fo_domain.fcfs.service.FcfsService;
    -import com.softeer.backend.global.staticresources.constant.S3FileName;
    -import com.softeer.backend.global.staticresources.repository.S3ContentRepository;
    -import com.softeer.backend.global.staticresources.util.StaticResourceUtil;
    -import lombok.Getter;
    -import lombok.RequiredArgsConstructor;
    -import lombok.Setter;
    -import org.springframework.beans.factory.ObjectProvider;
    -import org.springframework.cache.annotation.Cacheable;
    -import org.springframework.stereotype.Component;
    -
    -import java.util.ArrayList;
    -import java.util.List;
    -import java.util.Map;
    -import java.util.Random;
    -
    -@Component
    -@RequiredArgsConstructor
    -public class DrawUtil {
    -
    -    private final ObjectProvider&lt;DrawUtil&gt; drawUtilProvider;
    -    private final StaticResourceUtil staticResourceUtil;
    -
    -    @Getter
    -    private boolean isDrawWin = false;
    -    @Getter
    -    @Setter
    -    private int ranking = 0;
    -    @Setter
    -    private int first;
    -    @Setter
    -    private int second;
    -    @Setter
    -    private int third;
    -
    -    /**
    -     * 추첨 로직 실행
    -     * 만약 1, 2, 3등 중 하나에 당첨되었다면 등수와 이미지 방향이 결정됨.
    -     */
    -    public void performDraw() {
    -<span class="nc" id="L43">        Random random = new Random();</span>
    -<span class="nc" id="L44">        int randomNum = random.nextInt(10000) + 1; // 랜덤 수</span>
    -
    -<span class="nc bnc" id="L46" title="All 2 branches missed.">        if (randomNum &lt;= this.first) {</span>
    -<span class="nc" id="L47">            isDrawWin = true;</span>
    -<span class="nc" id="L48">            ranking = 1;</span>
    -<span class="nc bnc" id="L49" title="All 2 branches missed.">        } else if (randomNum &lt;= this.second) {</span>
    -<span class="nc" id="L50">            isDrawWin = true;</span>
    -<span class="nc" id="L51">            ranking = 2;</span>
    -<span class="nc bnc" id="L52" title="All 2 branches missed.">        } else if (randomNum &lt;= this.third) {</span>
    -<span class="nc" id="L53">            isDrawWin = true;</span>
    -<span class="nc" id="L54">            ranking = 3;</span>
    -        }
    -<span class="nc" id="L56">    }</span>
    -
    -    /**
    -     * @return 당첨자를 위한 방향 이미지 List 반환
    -     */
    -    public List&lt;String&gt; generateWinImages() {
    -<span class="nc" id="L62">        Random random = new Random();</span>
    -<span class="nc" id="L63">        int direction = random.nextInt(4); // 랜덤 수</span>
    -
    -<span class="nc" id="L65">        DrawUtil drawUtil = drawUtilProvider.getObject();</span>
    -<span class="nc" id="L66">        String directionImage = drawUtil.getImageUrl(direction);</span>
    -
    -<span class="nc" id="L68">        ArrayList&lt;String&gt; images = new ArrayList&lt;&gt;(3);</span>
    -<span class="nc" id="L69">        images.add(directionImage);</span>
    -<span class="nc" id="L70">        images.add(directionImage);</span>
    -<span class="nc" id="L71">        images.add(directionImage);</span>
    -<span class="nc" id="L72">        return images;</span>
    -    }
    -
    -    /**
    -     * @return 낙첨자를 위한 랜덤 방향 이미지 List 반환
    -     */
    -    public List&lt;String&gt; generateLoseImages() {
    -<span class="nc" id="L79">        DrawUtil drawUtil = drawUtilProvider.getObject();</span>
    -
    -<span class="nc" id="L81">        ArrayList&lt;String&gt; images = new ArrayList&lt;&gt;(3);</span>
    -<span class="nc" id="L82">        Random random = new Random();</span>
    -        int firstDirection, secondDirection, thirdDirection;
    -
    -        do {
    -<span class="nc" id="L86">            firstDirection = random.nextInt(4);</span>
    -<span class="nc" id="L87">            secondDirection = random.nextInt(4);</span>
    -<span class="nc" id="L88">            thirdDirection = random.nextInt(4);</span>
    -<span class="nc bnc" id="L89" title="All 4 branches missed.">        } while (firstDirection == secondDirection &amp;&amp; secondDirection == thirdDirection);</span>
    -
    -<span class="nc" id="L91">        images.add(drawUtil.getImageUrl(firstDirection));</span>
    -<span class="nc" id="L92">        images.add(drawUtil.getImageUrl(secondDirection));</span>
    -<span class="nc" id="L93">        images.add(drawUtil.getImageUrl(thirdDirection));</span>
    -<span class="nc" id="L94">        return images;</span>
    -    }
    -
    -    /**
    -     * @param direction 방향을 나타냄. 0, 1, 2, 3이 각각 위, 오른쪽, 밑, 왼쪽
    -     * @return 방향에 따른 이미지 url을 반환
    -     */
    -    @Cacheable(value = &quot;staticResources&quot;, key = &quot;'drawImage_' + #direction&quot;)
    -    public String getImageUrl(int direction) {
    -
    -<span class="nc" id="L104">        Map&lt;String, String&gt; textContentMap = staticResourceUtil.getTextContentMap();</span>
    -
    -        String directionImage;
    -<span class="nc bnc" id="L107" title="All 2 branches missed.">        if (direction == 0) {</span>
    -<span class="nc" id="L108">            directionImage = textContentMap.get(S3FileName.DRAW_BLOCK_UP_IMAGE.name());</span>
    -<span class="nc bnc" id="L109" title="All 2 branches missed.">        } else if (direction == 1) {</span>
    -<span class="nc" id="L110">            directionImage = textContentMap.get(S3FileName.DRAW_BLOCK_RIGHT_IMAGE.name());</span>
    -<span class="nc bnc" id="L111" title="All 2 branches missed.">        } else if (direction == 2) {</span>
    -<span class="nc" id="L112">            directionImage = textContentMap.get(S3FileName.DRAW_BLOCK_DOWN_IMAGE.name());</span>
    -        } else {
    -<span class="nc" id="L114">            directionImage = textContentMap.get(S3FileName.DRAW_BLOCK_LEFT_IMAGE.name());</span>
    -        }
    -<span class="nc" id="L116">        return directionImage;</span>
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/index.html
    deleted file mode 100644
    index f6db7909..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.draw.util</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.draw.util</span></div><h1>com.softeer.backend.fo_domain.draw.util</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">515 of 515</td><td class="ctr2">0%</td><td class="bar">36 of 36</td><td class="ctr2">0%</td><td class="ctr1">38</td><td class="ctr2">38</td><td class="ctr1">128</td><td class="ctr2">128</td><td class="ctr1">20</td><td class="ctr2">20</td><td class="ctr1">4</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a3"><a href="DrawUtil.html" class="el_class">DrawUtil</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="172" alt="172"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="16" alt="16"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">12</td><td class="ctr2" id="g0">12</td><td class="ctr1" id="h0">41</td><td class="ctr2" id="i0">41</td><td class="ctr1" id="j2">4</td><td class="ctr2" id="k2">4</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a1"><a href="DrawModalGenerateUtil.html" class="el_class">DrawModalGenerateUtil</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="99" height="10" title="142" alt="142"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d2"><img src="../jacoco-resources/redbar.gif" width="45" height="10" title="6" alt="6"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f2">8</td><td class="ctr2" id="g2">8</td><td class="ctr1" id="h1">33</td><td class="ctr2" id="i1">33</td><td class="ctr1" id="j1">5</td><td class="ctr2" id="k1">5</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a0"><a href="DrawAttendanceCountUtil.html" class="el_class">DrawAttendanceCountUtil</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="76" height="10" title="109" alt="109"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="105" height="10" title="14" alt="14"/></td><td class="ctr2" id="e2">0%</td><td class="ctr1" id="f1">10</td><td class="ctr2" id="g1">10</td><td class="ctr1" id="h3">23</td><td class="ctr2" id="i3">23</td><td class="ctr1" id="j3">3</td><td class="ctr2" id="k3">3</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a2"><a href="DrawResponseGenerateUtil.html" class="el_class">DrawResponseGenerateUtil</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="64" height="10" title="92" alt="92"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">8</td><td class="ctr2" id="g3">8</td><td class="ctr1" id="h2">31</td><td class="ctr2" id="i2">31</td><td class="ctr1" id="j0">8</td><td class="ctr2" id="k0">8</td><td class="ctr1" id="l3">1</td><td class="ctr2" id="m3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/index.source.html
    deleted file mode 100644
    index 0e726ea7..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.draw.util</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.draw.util</span></div><h1>com.softeer.backend.fo_domain.draw.util</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">515 of 515</td><td class="ctr2">0%</td><td class="bar">36 of 36</td><td class="ctr2">0%</td><td class="ctr1">38</td><td class="ctr2">38</td><td class="ctr1">128</td><td class="ctr2">128</td><td class="ctr1">20</td><td class="ctr2">20</td><td class="ctr1">4</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a3"><a href="DrawUtil.java.html" class="el_source">DrawUtil.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="172" alt="172"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="16" alt="16"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">12</td><td class="ctr2" id="g0">12</td><td class="ctr1" id="h0">41</td><td class="ctr2" id="i0">41</td><td class="ctr1" id="j2">4</td><td class="ctr2" id="k2">4</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a1"><a href="DrawModalGenerateUtil.java.html" class="el_source">DrawModalGenerateUtil.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="99" height="10" title="142" alt="142"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d2"><img src="../jacoco-resources/redbar.gif" width="45" height="10" title="6" alt="6"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f2">8</td><td class="ctr2" id="g2">8</td><td class="ctr1" id="h1">33</td><td class="ctr2" id="i1">33</td><td class="ctr1" id="j1">5</td><td class="ctr2" id="k1">5</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a0"><a href="DrawAttendanceCountUtil.java.html" class="el_source">DrawAttendanceCountUtil.java</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="76" height="10" title="109" alt="109"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="105" height="10" title="14" alt="14"/></td><td class="ctr2" id="e2">0%</td><td class="ctr1" id="f1">10</td><td class="ctr2" id="g1">10</td><td class="ctr1" id="h3">23</td><td class="ctr2" id="i3">23</td><td class="ctr1" id="j3">3</td><td class="ctr2" id="k3">3</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a2"><a href="DrawResponseGenerateUtil.java.html" class="el_source">DrawResponseGenerateUtil.java</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="64" height="10" title="92" alt="92"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">8</td><td class="ctr2" id="g3">8</td><td class="ctr1" id="h2">31</td><td class="ctr2" id="i2">31</td><td class="ctr1" id="j0">8</td><td class="ctr2" id="k0">8</td><td class="ctr1" id="l3">1</td><td class="ctr2" id="m3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.controller/FcfsController.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.controller/FcfsController.html
    deleted file mode 100644
    index 3b0cda5e..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.controller/FcfsController.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>FcfsController</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.fcfs.controller</a> &gt; <span class="el_class">FcfsController</span></div><h1>FcfsController</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">42 of 42</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">9</td><td class="ctr2">9</td><td class="ctr1">4</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a2"><a href="FcfsController.java.html#L58" class="el_method">handleFcfs(HttpServletRequest, Integer, FcfsRequestDto)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="17" alt="17"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">3</td><td class="ctr2" id="i0">3</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="FcfsController.java.html#L38" class="el_method">getFcfsPage(HttpServletRequest)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="98" height="10" title="14" alt="14"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">3</td><td class="ctr2" id="i1">3</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a1"><a href="FcfsController.java.html#L48" class="el_method">getFcfsTutorialPage()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="49" height="10" title="7" alt="7"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">2</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a3"><a href="FcfsController.java.html#L27" class="el_method">static {...}</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="28" height="10" title="4" alt="4"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">1</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.controller/FcfsController.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.controller/FcfsController.java.html
    deleted file mode 100644
    index 3e23946d..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.controller/FcfsController.java.html
    +++ /dev/null
    @@ -1,67 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>FcfsController.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.fcfs.controller</a> &gt; <span class="el_source">FcfsController.java</span></div><h1>FcfsController.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.fcfs.controller;
    -
    -import com.softeer.backend.fo_domain.fcfs.dto.FcfsPageResponseDto;
    -import com.softeer.backend.fo_domain.fcfs.dto.FcfsRequestDto;
    -import com.softeer.backend.fo_domain.fcfs.dto.result.FcfsResult;
    -import com.softeer.backend.fo_domain.fcfs.dto.result.FcfsResultResponseDto;
    -import com.softeer.backend.fo_domain.fcfs.service.FcfsService;
    -import com.softeer.backend.global.annotation.AuthInfo;
    -import com.softeer.backend.global.common.response.ResponseDto;
    -import io.swagger.v3.oas.annotations.Parameter;
    -import io.swagger.v3.oas.annotations.tags.Tag;
    -import jakarta.servlet.http.HttpServletRequest;
    -import jakarta.servlet.http.HttpSession;
    -import lombok.RequiredArgsConstructor;
    -import lombok.extern.slf4j.Slf4j;
    -import org.springframework.http.HttpHeaders;
    -import org.springframework.http.HttpStatus;
    -import org.springframework.http.ResponseEntity;
    -import org.springframework.stereotype.Controller;
    -import org.springframework.web.bind.annotation.*;
    -import org.springframework.web.servlet.mvc.support.RedirectAttributes;
    -
    -import java.net.URI;
    -import java.net.URLEncoder;
    -import java.nio.charset.StandardCharsets;
    -
    -<span class="nc" id="L27">@Slf4j</span>
    -@RestController
    -@RequiredArgsConstructor
    -@RequestMapping(&quot;/fcfs&quot;)
    -@Tag(name = &quot;Fcfs Controller&quot;, description = &quot;선착순 API&quot;)
    -public class FcfsController {
    -    private final FcfsService fcfsService;
    -
    -    @GetMapping
    -    public ResponseDto&lt;FcfsPageResponseDto&gt; getFcfsPage(@Parameter(hidden = true) HttpServletRequest request) {
    -
    -<span class="nc" id="L38">        int round = (Integer) request.getAttribute(&quot;round&quot;);</span>
    -
    -<span class="nc" id="L40">        FcfsPageResponseDto fcfsPageResponseDto = fcfsService.getFcfsPage(round);</span>
    -
    -<span class="nc" id="L42">        return ResponseDto.onSuccess(fcfsPageResponseDto);</span>
    -    }
    -
    -    @GetMapping(&quot;/tutorial&quot;)
    -    public ResponseDto&lt;FcfsPageResponseDto&gt; getFcfsTutorialPage() {
    -
    -<span class="nc" id="L48">        FcfsPageResponseDto fcfsPageResponseDto = fcfsService.getFcfsTutorialPage();</span>
    -
    -<span class="nc" id="L50">        return ResponseDto.onSuccess(fcfsPageResponseDto);</span>
    -    }
    -
    -    @PostMapping
    -    public ResponseDto&lt;FcfsResultResponseDto&gt; handleFcfs(@Parameter(hidden = true) HttpServletRequest request,
    -                                     @Parameter(hidden = true) @AuthInfo Integer userId,
    -                                     @RequestBody FcfsRequestDto fcfsRequestDto) {
    -
    -<span class="nc" id="L58">        int round = (Integer) request.getAttribute(&quot;round&quot;);</span>
    -
    -<span class="nc" id="L60">        FcfsResultResponseDto fcfsResultResponseDto = fcfsService.handleFcfsEvent(userId, round, fcfsRequestDto);</span>
    -
    -<span class="nc" id="L62">        return ResponseDto.onSuccess(fcfsResultResponseDto);</span>
    -    }
    -
    -
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.controller/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.controller/index.html
    deleted file mode 100644
    index 3ec30809..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.controller/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.fcfs.controller</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.fcfs.controller</span></div><h1>com.softeer.backend.fo_domain.fcfs.controller</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">42 of 42</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">9</td><td class="ctr2">9</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="FcfsController.html" class="el_class">FcfsController</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="42" alt="42"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">9</td><td class="ctr2" id="i0">9</td><td class="ctr1" id="j0">4</td><td class="ctr2" id="k0">4</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.controller/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.controller/index.source.html
    deleted file mode 100644
    index 5c45fdef..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.controller/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.fcfs.controller</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.fcfs.controller</span></div><h1>com.softeer.backend.fo_domain.fcfs.controller</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">42 of 42</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">9</td><td class="ctr2">9</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="FcfsController.java.html" class="el_source">FcfsController.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="42" alt="42"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">9</td><td class="ctr2" id="i0">9</td><td class="ctr1" id="j0">4</td><td class="ctr2" id="k0">4</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.exception/FcfsException.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.exception/FcfsException.html
    deleted file mode 100644
    index 1e8e55bb..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.exception/FcfsException.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>FcfsException</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.fcfs.exception</a> &gt; <span class="el_class">FcfsException</span></div><h1>FcfsException</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="FcfsException.java.html#L9" class="el_method">FcfsException(BaseErrorCode)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.exception/FcfsException.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.exception/FcfsException.java.html
    deleted file mode 100644
    index 5a55fefc..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.exception/FcfsException.java.html
    +++ /dev/null
    @@ -1,12 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>FcfsException.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.fcfs.exception</a> &gt; <span class="el_source">FcfsException.java</span></div><h1>FcfsException.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.fcfs.exception;
    -
    -import com.softeer.backend.global.common.code.BaseErrorCode;
    -import com.softeer.backend.global.common.exception.GeneralException;
    -
    -public class FcfsException extends GeneralException {
    -
    -    public FcfsException(BaseErrorCode code) {
    -<span class="nc" id="L9">        super(code);</span>
    -<span class="nc" id="L10">    }</span>
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.exception/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.exception/index.html
    deleted file mode 100644
    index 74ce8b33..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.exception/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.fcfs.exception</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.fcfs.exception</span></div><h1>com.softeer.backend.fo_domain.fcfs.exception</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="FcfsException.html" class="el_class">FcfsException</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.exception/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.exception/index.source.html
    deleted file mode 100644
    index 475fa5df..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.exception/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.fcfs.exception</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.fcfs.exception</span></div><h1>com.softeer.backend.fo_domain.fcfs.exception</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="FcfsException.java.html" class="el_source">FcfsException.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.interceptor/FcfsTimeCheckInterceptor.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.interceptor/FcfsTimeCheckInterceptor.html
    deleted file mode 100644
    index 48fb9800..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.interceptor/FcfsTimeCheckInterceptor.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>FcfsTimeCheckInterceptor</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.fcfs.interceptor</a> &gt; <span class="el_class">FcfsTimeCheckInterceptor</span></div><h1>FcfsTimeCheckInterceptor</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">37 of 37</td><td class="ctr2">0%</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">10</td><td class="ctr2">10</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="FcfsTimeCheckInterceptor.java.html#L26" class="el_method">preHandle(HttpServletRequest, HttpServletResponse, Object)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="33" alt="33"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">9</td><td class="ctr2" id="i0">9</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="FcfsTimeCheckInterceptor.java.html#L16" class="el_method">static {...}</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="14" height="10" title="4" alt="4"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.interceptor/FcfsTimeCheckInterceptor.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.interceptor/FcfsTimeCheckInterceptor.java.html
    deleted file mode 100644
    index 27fe3372..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.interceptor/FcfsTimeCheckInterceptor.java.html
    +++ /dev/null
    @@ -1,45 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>FcfsTimeCheckInterceptor.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.fcfs.interceptor</a> &gt; <span class="el_source">FcfsTimeCheckInterceptor.java</span></div><h1>FcfsTimeCheckInterceptor.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.fcfs.interceptor;
    -
    -import com.softeer.backend.fo_domain.fcfs.exception.FcfsException;
    -import com.softeer.backend.fo_domain.fcfs.service.FcfsSettingManager;
    -import com.softeer.backend.global.common.code.status.ErrorStatus;
    -import jakarta.servlet.http.HttpServletRequest;
    -import jakarta.servlet.http.HttpServletResponse;
    -import lombok.RequiredArgsConstructor;
    -import lombok.extern.slf4j.Slf4j;
    -import org.springframework.stereotype.Component;
    -import org.springframework.web.cors.CorsUtils;
    -import org.springframework.web.servlet.HandlerInterceptor;
    -
    -import java.time.LocalDateTime;
    -
    -<span class="nc" id="L16">@Slf4j</span>
    -@Component
    -@RequiredArgsConstructor
    -public class FcfsTimeCheckInterceptor implements HandlerInterceptor {
    -
    -    private final FcfsSettingManager fcfsSettingManager;
    -
    -    @Override
    -    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
    -
    -<span class="nc bnc" id="L26" title="All 2 branches missed.">        if(CorsUtils.isPreFlightRequest(request))</span>
    -<span class="nc" id="L27">            return true;</span>
    -
    -<span class="nc" id="L29">        LocalDateTime now = LocalDateTime.now();</span>
    -
    -<span class="nc bnc" id="L31" title="All 2 branches missed.">        if(!fcfsSettingManager.isFcfsEntryAvailable(now)){</span>
    -
    -<span class="nc" id="L33">            log.error(&quot;Cannot access the FCFS event&quot;);</span>
    -<span class="nc" id="L34">            throw new FcfsException(ErrorStatus._BAD_REQUEST);</span>
    -        }
    -
    -
    -<span class="nc" id="L38">        int round = fcfsSettingManager.getFcfsRound(now);</span>
    -<span class="nc" id="L39">        request.setAttribute(&quot;round&quot;, round);</span>
    -
    -
    -<span class="nc" id="L42">        return true;</span>
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.interceptor/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.interceptor/index.html
    deleted file mode 100644
    index b3964ed0..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.interceptor/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.fcfs.interceptor</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.fcfs.interceptor</span></div><h1>com.softeer.backend.fo_domain.fcfs.interceptor</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">37 of 37</td><td class="ctr2">0%</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">10</td><td class="ctr2">10</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="FcfsTimeCheckInterceptor.html" class="el_class">FcfsTimeCheckInterceptor</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="37" alt="37"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">10</td><td class="ctr2" id="i0">10</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.interceptor/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.interceptor/index.source.html
    deleted file mode 100644
    index 152426dd..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.interceptor/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.fcfs.interceptor</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.fcfs.interceptor</span></div><h1>com.softeer.backend.fo_domain.fcfs.interceptor</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">37 of 37</td><td class="ctr2">0%</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">10</td><td class="ctr2">10</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="FcfsTimeCheckInterceptor.java.html" class="el_source">FcfsTimeCheckInterceptor.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="37" alt="37"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">10</td><td class="ctr2" id="i0">10</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/FcfsService.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/FcfsService.html
    deleted file mode 100644
    index 7bf836c2..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/FcfsService.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>FcfsService</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.fcfs.service</a> &gt; <span class="el_class">FcfsService</span></div><h1>FcfsService</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">400 of 400</td><td class="ctr2">0%</td><td class="bar">14 of 14</td><td class="ctr2">0%</td><td class="ctr1">17</td><td class="ctr2">17</td><td class="ctr1">80</td><td class="ctr2">80</td><td class="ctr1">10</td><td class="ctr2">10</td></tr></tfoot><tbody><tr><td id="a8"><a href="FcfsService.java.html#L103" class="el_method">saveFcfsWinners(int, int)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="97" alt="97"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="8" alt="8"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">5</td><td class="ctr2" id="g0">5</td><td class="ctr1" id="h1">14</td><td class="ctr2" id="i1">14</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a4"><a href="FcfsService.java.html#L177" class="el_method">getFcfsSuccessResult(Map, Map, FcfsSettingDto)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="101" height="10" title="82" alt="82"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h2">12</td><td class="ctr2" id="i2">12</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a3"><a href="FcfsService.java.html#L146" class="el_method">getFcfsResult(boolean, String)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="58" height="10" title="47" alt="47"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"><img src="../jacoco-resources/redbar.gif" width="30" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f2">2</td><td class="ctr2" id="g2">2</td><td class="ctr1" id="h0">16</td><td class="ctr2" id="i0">16</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a6"><a href="FcfsService.java.html#L85" class="el_method">handleFcfsEvent(int, int, FcfsRequestDto)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="56" height="10" title="46" alt="46"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="60" height="10" title="4" alt="4"/></td><td class="ctr2" id="e2">0%</td><td class="ctr1" id="f1">3</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h5">9</td><td class="ctr2" id="i5">9</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a2"><a href="FcfsService.java.html#L51" class="el_method">getFcfsPage(int)</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="51" height="10" title="42" alt="42"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h3">10</td><td class="ctr2" id="i3">10</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a5"><a href="FcfsService.java.html#L66" class="el_method">getFcfsTutorialPage()</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="50" height="10" title="41" alt="41"/></td><td class="ctr2" id="c5">0%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">1</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h4">10</td><td class="ctr2" id="i4">10</td><td class="ctr1" id="j5">1</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a1"><a href="FcfsService.java.html#L194" class="el_method">getFcfsFailResult(Map)</a></td><td class="bar" id="b6"><img src="../jacoco-resources/redbar.gif" width="25" height="10" title="21" alt="21"/></td><td class="ctr2" id="c6">0%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">1</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h6">5</td><td class="ctr2" id="i6">5</td><td class="ctr1" id="j6">1</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a7"><a href="FcfsService.java.html#L137" class="el_method">makeFcfsCode(int)</a></td><td class="bar" id="b7"><img src="../jacoco-resources/redbar.gif" width="14" height="10" title="12" alt="12"/></td><td class="ctr2" id="c7">0%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">1</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h8">1</td><td class="ctr2" id="i8">1</td><td class="ctr1" id="j7">1</td><td class="ctr2" id="k7">1</td></tr><tr><td id="a0"><a href="FcfsService.java.html#L141" class="el_method">countFcfsParticipant(int)</a></td><td class="bar" id="b8"><img src="../jacoco-resources/redbar.gif" width="9" height="10" title="8" alt="8"/></td><td class="ctr2" id="c8">0%</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f8">1</td><td class="ctr2" id="g8">1</td><td class="ctr1" id="h7">2</td><td class="ctr2" id="i7">2</td><td class="ctr1" id="j8">1</td><td class="ctr2" id="k8">1</td></tr><tr><td id="a9"><a href="FcfsService.java.html#L34" class="el_method">static {...}</a></td><td class="bar" id="b9"><img src="../jacoco-resources/redbar.gif" width="4" height="10" title="4" alt="4"/></td><td class="ctr2" id="c9">0%</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f9">1</td><td class="ctr2" id="g9">1</td><td class="ctr1" id="h9">1</td><td class="ctr2" id="i9">1</td><td class="ctr1" id="j9">1</td><td class="ctr2" id="k9">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/FcfsService.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/FcfsService.java.html
    deleted file mode 100644
    index 646b47ef..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/FcfsService.java.html
    +++ /dev/null
    @@ -1,202 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>FcfsService.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.fcfs.service</a> &gt; <span class="el_source">FcfsService.java</span></div><h1>FcfsService.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.fcfs.service;
    -
    -import com.softeer.backend.fo_domain.draw.service.DrawSettingManager;
    -import com.softeer.backend.fo_domain.fcfs.dto.*;
    -import com.softeer.backend.fo_domain.fcfs.dto.result.FcfsFailResult;
    -import com.softeer.backend.fo_domain.fcfs.dto.result.FcfsResultResponseDto;
    -import com.softeer.backend.fo_domain.fcfs.dto.result.FcfsSuccessResult;
    -import com.softeer.backend.fo_domain.fcfs.exception.FcfsException;
    -import com.softeer.backend.global.annotation.EventLock;
    -import com.softeer.backend.global.common.code.status.ErrorStatus;
    -import com.softeer.backend.global.common.constant.RedisKeyPrefix;
    -import com.softeer.backend.global.staticresources.constant.S3FileName;
    -import com.softeer.backend.global.staticresources.constant.StaticTextName;
    -import com.softeer.backend.global.staticresources.domain.S3Content;
    -import com.softeer.backend.global.staticresources.domain.TextContent;
    -import com.softeer.backend.global.staticresources.repository.S3ContentRepository;
    -import com.softeer.backend.global.staticresources.repository.TextContentRepository;
    -import com.softeer.backend.global.staticresources.util.StaticResourceUtil;
    -import com.softeer.backend.global.util.FcfsRedisUtil;
    -import com.softeer.backend.global.util.RandomCodeUtil;
    -import lombok.RequiredArgsConstructor;
    -import lombok.extern.slf4j.Slf4j;
    -import org.springframework.beans.factory.ObjectProvider;
    -import org.springframework.cache.annotation.Cacheable;
    -import org.springframework.stereotype.Service;
    -
    -import java.time.format.DateTimeFormatter;
    -import java.util.Map;
    -import java.util.stream.Collectors;
    -
    -/**
    - * 선착순 관련 이벤트를 처리하는 클래스
    - */
    -<span class="nc" id="L34">@Slf4j</span>
    -@Service
    -@RequiredArgsConstructor
    -public class FcfsService {
    -    DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern(&quot;M월 d일&quot;);
    -    private final ObjectProvider&lt;FcfsService&gt; fcfsServiceProvider;
    -
    -    private final FcfsSettingManager fcfsSettingManager;
    -    private final DrawSettingManager drawSettingManager;
    -    private final QuizManager quizManager;
    -    private final FcfsRedisUtil fcfsRedisUtil;
    -    private final RandomCodeUtil randomCodeUtil;
    -    private final StaticResourceUtil staticResourceUtil;
    -
    -
    -    public FcfsPageResponseDto getFcfsPage(int round) {
    -
    -<span class="nc" id="L51">        QuizDto quiz = quizManager.getQuiz(round);</span>
    -<span class="nc" id="L52">        Map&lt;String, String&gt; textContentMap = staticResourceUtil.getTextContentMap();</span>
    -
    -<span class="nc" id="L54">        return FcfsPageResponseDto.builder()</span>
    -<span class="nc" id="L55">                .answerWord(quiz.getAnswerWord())</span>
    -<span class="nc" id="L56">                .answerSentence(quiz.getAnswerSentence())</span>
    -<span class="nc" id="L57">                .startIndex(quiz.getStartIndex())</span>
    -<span class="nc" id="L58">                .endIndex(quiz.getEndIndex())</span>
    -<span class="nc" id="L59">                .quizDescription(staticResourceUtil.format(textContentMap.get(StaticTextName.FCFS_QUIZ_DESCRIPTION.name()),</span>
    -<span class="nc" id="L60">                        fcfsSettingManager.getFcfsWinnerNum()))</span>
    -<span class="nc" id="L61">                .build();</span>
    -    }
    -
    -    public FcfsPageResponseDto getFcfsTutorialPage() {
    -
    -<span class="nc" id="L66">        QuizDto tutorialQuiz = quizManager.getTutorialQuiz();</span>
    -<span class="nc" id="L67">        Map&lt;String, String&gt; textContentMap = staticResourceUtil.getTextContentMap();</span>
    -
    -<span class="nc" id="L69">        return FcfsPageResponseDto.builder()</span>
    -<span class="nc" id="L70">                .answerWord(tutorialQuiz.getAnswerWord())</span>
    -<span class="nc" id="L71">                .answerSentence(tutorialQuiz.getAnswerSentence())</span>
    -<span class="nc" id="L72">                .startIndex(tutorialQuiz.getStartIndex())</span>
    -<span class="nc" id="L73">                .endIndex(tutorialQuiz.getEndIndex())</span>
    -<span class="nc" id="L74">                .quizDescription(staticResourceUtil.format(textContentMap.get(StaticTextName.FCFS_QUIZ_DESCRIPTION.name()),</span>
    -<span class="nc" id="L75">                        fcfsSettingManager.getFcfsWinnerNum()))</span>
    -<span class="nc" id="L76">                .build();</span>
    -    }
    -
    -    /**
    -     * 1. 선착순 당첨자가 아직 다 결정되지 않았으면, 선착순 당첨 응답 생성 및 반환
    -     * 2. 선착순 당첨자가 다 결정됐다면, Redisson lock을 사용하지 않고 Redis에 저장된 선착순 이벤트 참여자 수를 1명씩 더한다.
    -     */
    -    public FcfsResultResponseDto handleFcfsEvent(int userId, int round, FcfsRequestDto fcfsRequestDto) {
    -
    -<span class="nc bnc" id="L85" title="All 2 branches missed.">        if(!fcfsRequestDto.getAnswer().equals(quizManager.getQuiz(round).getAnswerWord())) {</span>
    -<span class="nc" id="L86">            log.error(&quot;fcfs quiz answer is not match, correct answer: {}, wrong anwer: {}&quot;,</span>
    -<span class="nc" id="L87">                    quizManager.getQuiz(round).getAnswerWord(), fcfsRequestDto.getAnswer());</span>
    -<span class="nc" id="L88">            throw new FcfsException(ErrorStatus._BAD_REQUEST);</span>
    -        }
    -
    -<span class="nc bnc" id="L91" title="All 2 branches missed.">        if (fcfsSettingManager.isFcfsClosed()){</span>
    -<span class="nc" id="L92">            countFcfsParticipant(round);</span>
    -
    -<span class="nc" id="L94">            return getFcfsResult(false, null);</span>
    -        }
    -<span class="nc" id="L96">        FcfsService fcfsService = fcfsServiceProvider.getObject();</span>
    -<span class="nc" id="L97">        return fcfsService.saveFcfsWinners(userId, round);</span>
    -    }
    -
    -    @EventLock(key = &quot;FCFS_#{#round}&quot;)
    -    public FcfsResultResponseDto saveFcfsWinners(int userId, int round) {
    -
    -<span class="nc" id="L103">        long numOfWinners = fcfsRedisUtil.getIntegerSetSize(RedisKeyPrefix.FCFS_USERID_PREFIX.getPrefix() + round);</span>
    -
    -<span class="nc bnc" id="L105" title="All 2 branches missed.">        if (numOfWinners &lt; fcfsSettingManager.getFcfsWinnerNum()</span>
    -<span class="nc bnc" id="L106" title="All 2 branches missed.">                &amp;&amp; !fcfsRedisUtil.isValueInIntegerSet(RedisKeyPrefix.FCFS_USERID_PREFIX.getPrefix() + round, userId)) {</span>
    -
    -            // redis에 userId 등록
    -<span class="nc" id="L109">            fcfsRedisUtil.addToIntegerSet(RedisKeyPrefix.FCFS_USERID_PREFIX.getPrefix() + round, userId);</span>
    -
    -            // redis에 code 등록
    -<span class="nc" id="L112">            String code = makeFcfsCode(round);</span>
    -<span class="nc bnc" id="L113" title="All 2 branches missed.">            while (fcfsRedisUtil.isValueInStringSet(RedisKeyPrefix.FCFS_CODE_PREFIX.getPrefix() + round, code)) {</span>
    -<span class="nc" id="L114">                code = makeFcfsCode(round);</span>
    -            }
    -<span class="nc" id="L116">            fcfsRedisUtil.addToStringSet(RedisKeyPrefix.FCFS_CODE_PREFIX.getPrefix() + round, code);</span>
    -
    -            // redis에 code-userId 형태로 등록(hash)
    -<span class="nc" id="L119">            fcfsRedisUtil.addToHash(RedisKeyPrefix.FCFS_CODE_USERID_PREFIX.getPrefix() + round, code, userId);</span>
    -
    -            // redis에 선착순 참가자 수 +1
    -<span class="nc" id="L122">            countFcfsParticipant(round);</span>
    -
    -            // 선착순 당첨이 마감되면 FcfsSettingManager의 fcfsClodes 변수값을 true로 설정
    -<span class="nc bnc" id="L125" title="All 2 branches missed.">            if (numOfWinners + 1 == fcfsSettingManager.getFcfsWinnerNum()) {</span>
    -<span class="nc" id="L126">                fcfsSettingManager.setFcfsClosed(true);</span>
    -            }
    -
    -<span class="nc" id="L129">            return getFcfsResult(true, code);</span>
    -        }
    -
    -<span class="nc" id="L132">        return getFcfsResult(false, null);</span>
    -
    -    }
    -
    -    private String makeFcfsCode(int round){
    -<span class="nc" id="L137">        return (char)('A'+round-1) + randomCodeUtil.generateRandomCode(5);</span>
    -    }
    -
    -    private void countFcfsParticipant(int round) {
    -<span class="nc" id="L141">        fcfsRedisUtil.incrementValue(RedisKeyPrefix.FCFS_PARTICIPANT_COUNT_PREFIX.getPrefix() + round);</span>
    -<span class="nc" id="L142">    }</span>
    -
    -    public FcfsResultResponseDto getFcfsResult(boolean fcfsWin, String fcfsCode){
    -
    -<span class="nc" id="L146">        Map&lt;String, String&gt; textContentMap = staticResourceUtil.getTextContentMap();</span>
    -<span class="nc" id="L147">        Map&lt;String, String&gt; s3ContentMap = staticResourceUtil.getS3ContentMap();</span>
    -
    -<span class="nc" id="L149">        FcfsSettingDto firstFcfsSetting = fcfsSettingManager.getFcfsSettingByRound(1);</span>
    -
    -<span class="nc" id="L151">        FcfsService fcfsService = fcfsServiceProvider.getObject();</span>
    -
    -<span class="nc bnc" id="L153" title="All 2 branches missed.">        if(fcfsWin){</span>
    -<span class="nc" id="L154">            FcfsSuccessResult fcfsSuccessResult = fcfsService.getFcfsSuccessResult(</span>
    -                    textContentMap, s3ContentMap, firstFcfsSetting
    -            );
    -<span class="nc" id="L157">            fcfsSuccessResult.setFcfsCode(fcfsCode);</span>
    -
    -<span class="nc" id="L159">            return FcfsResultResponseDto.builder()</span>
    -<span class="nc" id="L160">                    .isFcfsWinner(fcfsWin)</span>
    -<span class="nc" id="L161">                    .fcfsResult(fcfsSuccessResult)</span>
    -<span class="nc" id="L162">                    .build();</span>
    -        }
    -
    -<span class="nc" id="L165">        FcfsFailResult fcfsFailResult = fcfsService.getFcfsFailResult(textContentMap);</span>
    -
    -<span class="nc" id="L167">        return FcfsResultResponseDto.builder()</span>
    -<span class="nc" id="L168">                .isFcfsWinner(fcfsWin)</span>
    -<span class="nc" id="L169">                .fcfsResult(fcfsFailResult)</span>
    -<span class="nc" id="L170">                .build();</span>
    -    }
    -
    -    @Cacheable(value = &quot;staticResources&quot;, key = &quot;'fcfsSuccess'&quot;)
    -    public FcfsSuccessResult getFcfsSuccessResult(Map&lt;String, String&gt; textContentMap, Map&lt;String, String&gt; s3ContentMap,
    -                                                  FcfsSettingDto firstFcfsSetting){
    -
    -<span class="nc" id="L177">        return FcfsSuccessResult.builder()</span>
    -<span class="nc" id="L178">                .title(staticResourceUtil.format(textContentMap.get(StaticTextName.FCFS_WINNER_TITLE.name()),</span>
    -<span class="nc" id="L179">                        fcfsSettingManager.getFcfsWinnerNum()))</span>
    -<span class="nc" id="L180">                .subTitle(textContentMap.get(StaticTextName.FCFS_WINNER_SUBTITLE.name()))</span>
    -<span class="nc" id="L181">                .qrCode(s3ContentMap.get(S3FileName.BARCODE_IMAGE.name()))</span>
    -<span class="nc" id="L182">                .codeWord(textContentMap.get(StaticTextName.FCFS_WINNER_CODE_WORD.name()))</span>
    -<span class="nc" id="L183">                .expirationDate(staticResourceUtil.format(textContentMap.get(StaticTextName.FCFS_WINNER_EXPIRY_DATE.name()),</span>
    -<span class="nc" id="L184">                        firstFcfsSetting.getStartTime().getYear(),</span>
    -<span class="nc" id="L185">                        firstFcfsSetting.getStartTime().format(dateFormatter),</span>
    -<span class="nc" id="L186">                        drawSettingManager.getEndDate().plusDays(14).format(dateFormatter)))</span>
    -<span class="nc" id="L187">                .caution(textContentMap.get(StaticTextName.FCFS_WINNER_CAUTION.name()))</span>
    -<span class="nc" id="L188">                .build();</span>
    -    }
    -
    -    @Cacheable(value = &quot;staticResources&quot;, key = &quot;'fcfsFail'&quot;)
    -    public FcfsFailResult getFcfsFailResult(Map&lt;String, String&gt; textContentMap){
    -
    -<span class="nc" id="L194">        return FcfsFailResult.builder()</span>
    -<span class="nc" id="L195">                .title(textContentMap.get(StaticTextName.FCFS_LOSER_TITLE.name()))</span>
    -<span class="nc" id="L196">                .subTitle(textContentMap.get(StaticTextName.FCFS_LOSER_SUBTITLE.name()))</span>
    -<span class="nc" id="L197">                .caution(textContentMap.get(StaticTextName.FCFS_LOSER_CAUTION.name()))</span>
    -<span class="nc" id="L198">                .build();</span>
    -    }
    -
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/FcfsSettingManager.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/FcfsSettingManager.html
    deleted file mode 100644
    index 6bcb650c..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/FcfsSettingManager.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>FcfsSettingManager</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.fcfs.service</a> &gt; <span class="el_class">FcfsSettingManager</span></div><h1>FcfsSettingManager</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">231 of 231</td><td class="ctr2">0%</td><td class="bar">32 of 32</td><td class="ctr2">0%</td><td class="ctr1">28</td><td class="ctr2">28</td><td class="ctr1">57</td><td class="ctr2">57</td><td class="ctr1">12</td><td class="ctr2">12</td></tr></tfoot><tbody><tr><td id="a0"><a href="FcfsSettingManager.java.html#L120" class="el_method">getFcfsRound(LocalDateTime)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="40" alt="40"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="10" alt="10"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">6</td><td class="ctr2" id="g0">6</td><td class="ctr1" id="h0">8</td><td class="ctr2" id="i0">8</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a6"><a href="FcfsSettingManager.java.html#L106" class="el_method">isFcfsEntryAvailable(LocalDateTime)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="114" height="10" title="38" alt="38"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="10" alt="10"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f1">6</td><td class="ctr2" id="g1">6</td><td class="ctr1" id="h1">8</td><td class="ctr2" id="i1">8</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a4"><a href="FcfsSettingManager.java.html#L87" class="el_method">getRoundForScheduler(LocalDate)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="93" height="10" title="31" alt="31"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"><img src="../jacoco-resources/redbar.gif" width="72" height="10" title="6" alt="6"/></td><td class="ctr2" id="e2">0%</td><td class="ctr1" id="f2">4</td><td class="ctr2" id="g2">4</td><td class="ctr1" id="h2">8</td><td class="ctr2" id="i2">8</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a9"><a href="FcfsSettingManager.java.html#L57" class="el_method">loadInitialData()</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="78" height="10" title="26" alt="26"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d4"><img src="../jacoco-resources/redbar.gif" width="24" height="10" title="2" alt="2"/></td><td class="ctr2" id="e3">0%</td><td class="ctr1" id="f4">2</td><td class="ctr2" id="g4">2</td><td class="ctr1" id="h5">6</td><td class="ctr2" id="i5">6</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a3"><a href="FcfsSettingManager.java.html#L134" class="el_method">getNextFcfsTime(LocalDateTime)</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="69" height="10" title="23" alt="23"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d3"><img src="../jacoco-resources/redbar.gif" width="48" height="10" title="4" alt="4"/></td><td class="ctr2" id="e4">0%</td><td class="ctr1" id="f3">3</td><td class="ctr2" id="g3">3</td><td class="ctr1" id="h6">6</td><td class="ctr2" id="i6">6</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a8"><a href="FcfsSettingManager.java.html#L77" class="el_method">lambda$setFcfsSettingList$1(FcfsSetting)</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="69" height="10" title="23" alt="23"/></td><td class="ctr2" id="c5">0%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">1</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h3">7</td><td class="ctr2" id="i3">7</td><td class="ctr1" id="j5">1</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a7"><a href="FcfsSettingManager.java.html#L65" class="el_method">lambda$loadInitialData$0(FcfsSetting)</a></td><td class="bar" id="b6"><img src="../jacoco-resources/redbar.gif" width="69" height="10" title="23" alt="23"/></td><td class="ctr2" id="c6">0%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">1</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h4">7</td><td class="ctr2" id="i4">7</td><td class="ctr1" id="j6">1</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a1"><a href="FcfsSettingManager.java.html#L49" class="el_method">getFcfsSettingByRound(int)</a></td><td class="bar" id="b7"><img src="../jacoco-resources/redbar.gif" width="24" height="10" title="8" alt="8"/></td><td class="ctr2" id="c7">0%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">1</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h9">1</td><td class="ctr2" id="i9">1</td><td class="ctr1" id="j7">1</td><td class="ctr2" id="k7">1</td></tr><tr><td id="a2"><a href="FcfsSettingManager.java.html#L102" class="el_method">getFcfsWinnerNum()</a></td><td class="bar" id="b8"><img src="../jacoco-resources/redbar.gif" width="21" height="10" title="7" alt="7"/></td><td class="ctr2" id="c8">0%</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f8">1</td><td class="ctr2" id="g8">1</td><td class="ctr1" id="h10">1</td><td class="ctr2" id="i10">1</td><td class="ctr1" id="j8">1</td><td class="ctr2" id="k8">1</td></tr><tr><td id="a10"><a href="FcfsSettingManager.java.html#L76" class="el_method">setFcfsSettingList(List)</a></td><td class="bar" id="b9"><img src="../jacoco-resources/redbar.gif" width="15" height="10" title="5" alt="5"/></td><td class="ctr2" id="c9">0%</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f9">1</td><td class="ctr2" id="g9">1</td><td class="ctr1" id="h7">2</td><td class="ctr2" id="i7">2</td><td class="ctr1" id="j9">1</td><td class="ctr2" id="k9">1</td></tr><tr><td id="a11"><a href="FcfsSettingManager.java.html#L26" class="el_method">static {...}</a></td><td class="bar" id="b10"><img src="../jacoco-resources/redbar.gif" width="12" height="10" title="4" alt="4"/></td><td class="ctr2" id="c10">0%</td><td class="bar" id="d10"/><td class="ctr2" id="e10">n/a</td><td class="ctr1" id="f10">1</td><td class="ctr2" id="g10">1</td><td class="ctr1" id="h11">1</td><td class="ctr2" id="i11">1</td><td class="ctr1" id="j10">1</td><td class="ctr2" id="k10">1</td></tr><tr><td id="a5"><a href="FcfsSettingManager.java.html#L45" class="el_method">init()</a></td><td class="bar" id="b11"><img src="../jacoco-resources/redbar.gif" width="9" height="10" title="3" alt="3"/></td><td class="ctr2" id="c11">0%</td><td class="bar" id="d11"/><td class="ctr2" id="e11">n/a</td><td class="ctr1" id="f11">1</td><td class="ctr2" id="g11">1</td><td class="ctr1" id="h8">2</td><td class="ctr2" id="i8">2</td><td class="ctr1" id="j11">1</td><td class="ctr2" id="k11">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/FcfsSettingManager.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/FcfsSettingManager.java.html
    deleted file mode 100644
    index d6dc630a..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/FcfsSettingManager.java.html
    +++ /dev/null
    @@ -1,145 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>FcfsSettingManager.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.fcfs.service</a> &gt; <span class="el_source">FcfsSettingManager.java</span></div><h1>FcfsSettingManager.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.fcfs.service;
    -
    -import com.softeer.backend.bo_domain.eventparticipation.repository.EventParticipationRepository;
    -import com.softeer.backend.fo_domain.fcfs.domain.FcfsSetting;
    -import com.softeer.backend.fo_domain.fcfs.domain.Quiz;
    -import com.softeer.backend.fo_domain.fcfs.dto.FcfsSettingDto;
    -import com.softeer.backend.fo_domain.fcfs.dto.QuizDto;
    -import com.softeer.backend.fo_domain.fcfs.repository.FcfsSettingRepository;
    -import com.softeer.backend.fo_domain.fcfs.repository.QuizRepository;
    -import com.softeer.backend.global.util.EventLockRedisUtil;
    -import jakarta.annotation.PostConstruct;
    -import lombok.*;
    -import lombok.extern.slf4j.Slf4j;
    -import org.springframework.data.domain.Sort;
    -import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
    -import org.springframework.stereotype.Component;
    -
    -import java.time.LocalDate;
    -import java.time.LocalDateTime;
    -import java.util.ArrayList;
    -import java.util.List;
    -
    -/**
    - * 선착순 이벤트 정보를 관리하는 클래스
    - */
    -<span class="nc" id="L26">@Slf4j</span>
    -@Getter
    -@Component
    -@RequiredArgsConstructor
    -public class FcfsSettingManager {
    -
    -    private final FcfsSettingRepository fcfsSettingRepository;
    -    private final ThreadPoolTaskScheduler taskScheduler;
    -    private final EventLockRedisUtil eventLockRedisUtil;
    -    private final EventParticipationRepository eventParticipationRepository;
    -    private final QuizRepository quizRepository;
    -
    -    private List&lt;FcfsSettingDto&gt; fcfsSettingList;
    -
    -    @Setter
    -    private boolean isFcfsClosed = false;
    -
    -    @PostConstruct
    -    public void init() {
    -<span class="nc" id="L45">        loadInitialData();</span>
    -<span class="nc" id="L46">    }</span>
    -
    -    public FcfsSettingDto getFcfsSettingByRound(int round) {
    -<span class="nc" id="L49">        return fcfsSettingList.get(round - 1);</span>
    -    }
    -
    -    /**
    -     * round 1에 해당하는 선착순 이벤트 속성으로 초기화
    -     */
    -    public void loadInitialData() {
    -
    -<span class="nc" id="L57">        List&lt;FcfsSetting&gt; fcfsSettings = fcfsSettingRepository.findAll();</span>
    -<span class="nc" id="L58">        fcfsSettingList = new ArrayList&lt;&gt;();</span>
    -
    -<span class="nc bnc" id="L60" title="All 2 branches missed.">        for (int i = 0; i &lt; 4; i++) {</span>
    -<span class="nc" id="L61">            fcfsSettingList.add(null);  // 인덱스 0부터 3까지 빈 슬롯을 추가</span>
    -        }
    -
    -<span class="nc" id="L64">        fcfsSettings.forEach((fcfsSetting) -&gt; {</span>
    -<span class="nc" id="L65">            fcfsSettingList.set(fcfsSetting.getRound() - 1, FcfsSettingDto.builder()</span>
    -<span class="nc" id="L66">                    .round(fcfsSetting.getRound())</span>
    -<span class="nc" id="L67">                    .startTime(fcfsSetting.getStartTime())</span>
    -<span class="nc" id="L68">                    .endTime(fcfsSetting.getEndTime())</span>
    -<span class="nc" id="L69">                    .winnerNum(fcfsSetting.getWinnerNum())</span>
    -<span class="nc" id="L70">                    .build());</span>
    -<span class="nc" id="L71">        });</span>
    -<span class="nc" id="L72">    }</span>
    -
    -    public void setFcfsSettingList(List&lt;FcfsSetting&gt; fcfsSettings){
    -
    -<span class="nc" id="L76">        fcfsSettings.forEach((fcfsSetting) -&gt; {</span>
    -<span class="nc" id="L77">            fcfsSettingList.set(fcfsSetting.getRound() - 1, FcfsSettingDto.builder()</span>
    -<span class="nc" id="L78">                    .round(fcfsSetting.getRound())</span>
    -<span class="nc" id="L79">                    .startTime(fcfsSetting.getStartTime())</span>
    -<span class="nc" id="L80">                    .endTime(fcfsSetting.getEndTime())</span>
    -<span class="nc" id="L81">                    .winnerNum(fcfsSetting.getWinnerNum())</span>
    -<span class="nc" id="L82">                    .build());</span>
    -<span class="nc" id="L83">        });</span>
    -<span class="nc" id="L84">    }</span>
    -
    -    public int getRoundForScheduler(LocalDate localDate) {
    -<span class="nc bnc" id="L87" title="All 2 branches missed.">        for (FcfsSettingDto fcfsSettingDto : fcfsSettingList) {</span>
    -<span class="nc bnc" id="L88" title="All 2 branches missed.">            if (fcfsSettingDto != null) {</span>
    -<span class="nc" id="L89">                LocalDate startDate = fcfsSettingDto.getStartTime().toLocalDate();</span>
    -<span class="nc" id="L90">                LocalDate dayAfterStartDate = startDate.plusDays(1);</span>
    -
    -                // localDate가 startDate의 하루 다음날과 같은지 확인
    -<span class="nc bnc" id="L93" title="All 2 branches missed.">                if (localDate.equals(dayAfterStartDate)) {</span>
    -<span class="nc" id="L94">                    return fcfsSettingDto.getRound();</span>
    -                }
    -            }
    -<span class="nc" id="L97">        }</span>
    -<span class="nc" id="L98">        return -1;  // 해당하는 데이터가 없는 경우</span>
    -    }
    -
    -    public int getFcfsWinnerNum(){
    -<span class="nc" id="L102">        return fcfsSettingList.get(0).getWinnerNum();</span>
    -    }
    -
    -    public boolean isFcfsEntryAvailable(LocalDateTime now){
    -<span class="nc bnc" id="L106" title="All 2 branches missed.">        for(FcfsSettingDto fcfsSettingDto : fcfsSettingList){</span>
    -<span class="nc" id="L107">            LocalDateTime startTime = fcfsSettingDto.getStartTime();</span>
    -<span class="nc" id="L108">            LocalDateTime endTime = fcfsSettingDto.getEndTime();</span>
    -
    -<span class="nc bnc" id="L110" title="All 4 branches missed.">            if((now.isEqual(startTime) || now.isAfter(startTime))</span>
    -<span class="nc bnc" id="L111" title="All 4 branches missed.">                    &amp;&amp; (now.isEqual(endTime) || now.isBefore(endTime))) {</span>
    -<span class="nc" id="L112">                return true;</span>
    -            }
    -<span class="nc" id="L114">        }</span>
    -<span class="nc" id="L115">        return false;</span>
    -    }
    -
    -    public Integer getFcfsRound(LocalDateTime now){
    -
    -<span class="nc bnc" id="L120" title="All 2 branches missed.">        for(FcfsSettingDto fcfsSettingDto : fcfsSettingList){</span>
    -<span class="nc" id="L121">            LocalDateTime startTime = fcfsSettingDto.getStartTime();</span>
    -<span class="nc" id="L122">            LocalDateTime endTime = fcfsSettingDto.getEndTime();</span>
    -
    -<span class="nc bnc" id="L124" title="All 4 branches missed.">            if((now.isEqual(startTime) || now.isAfter(startTime))</span>
    -<span class="nc bnc" id="L125" title="All 4 branches missed.">                    &amp;&amp; (now.isEqual(endTime) || now.isBefore(endTime))) {</span>
    -<span class="nc" id="L126">                return fcfsSettingDto.getRound();</span>
    -            }
    -<span class="nc" id="L128">        }</span>
    -<span class="nc" id="L129">        return null;</span>
    -    }
    -
    -    public LocalDateTime getNextFcfsTime(LocalDateTime now){
    -
    -<span class="nc bnc" id="L134" title="All 2 branches missed.">        for(FcfsSettingDto fcfsSettingDto : fcfsSettingList){</span>
    -<span class="nc" id="L135">            LocalDateTime startTime = fcfsSettingDto.getStartTime();</span>
    -
    -<span class="nc bnc" id="L137" title="All 2 branches missed.">            if(now.isBefore(startTime)) {</span>
    -<span class="nc" id="L138">                return startTime;</span>
    -            }
    -<span class="nc" id="L140">        }</span>
    -<span class="nc" id="L141">        return null;</span>
    -    }
    -
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/QuizManager.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/QuizManager.html
    deleted file mode 100644
    index dc3d658d..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/QuizManager.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>QuizManager</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.fcfs.service</a> &gt; <span class="el_class">QuizManager</span></div><h1>QuizManager</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">119 of 119</td><td class="ctr2">0%</td><td class="bar">8 of 8</td><td class="ctr2">0%</td><td class="ctr1">10</td><td class="ctr2">10</td><td class="ctr1">28</td><td class="ctr2">28</td><td class="ctr1">6</td><td class="ctr2">6</td></tr></tfoot><tbody><tr><td id="a0"><a href="QuizManager.java.html#L61" class="el_method">getHint()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="37" alt="37"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="6" alt="6"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h1">8</td><td class="ctr2" id="i1">8</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a3"><a href="QuizManager.java.html#L44" class="el_method">lambda$loadInitialData$0(Quiz)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="116" height="10" title="36" alt="36"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="40" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f1">2</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h0">11</td><td class="ctr2" id="i0">11</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a4"><a href="QuizManager.java.html#L39" class="el_method">loadInitialData()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="71" height="10" title="22" alt="22"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">4</td><td class="ctr2" id="i2">4</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a1"><a href="QuizManager.java.html#L81" class="el_method">getQuiz(int)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="55" height="10" title="17" alt="17"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">2</td><td class="ctr2" id="i3">2</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a5"><a href="QuizManager.java.html#L20" class="el_method">static {...}</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="12" height="10" title="4" alt="4"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h5">1</td><td class="ctr2" id="i5">1</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a2"><a href="QuizManager.java.html#L34" class="el_method">init()</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="9" height="10" title="3" alt="3"/></td><td class="ctr2" id="c5">0%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">1</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h4">2</td><td class="ctr2" id="i4">2</td><td class="ctr1" id="j5">1</td><td class="ctr2" id="k5">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/QuizManager.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/QuizManager.java.html
    deleted file mode 100644
    index 7cab6fc1..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/QuizManager.java.html
    +++ /dev/null
    @@ -1,85 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>QuizManager.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.fcfs.service</a> &gt; <span class="el_source">QuizManager.java</span></div><h1>QuizManager.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.fcfs.service;
    -
    -import com.softeer.backend.fo_domain.fcfs.domain.FcfsSetting;
    -import com.softeer.backend.fo_domain.fcfs.domain.Quiz;
    -import com.softeer.backend.fo_domain.fcfs.dto.FcfsSettingDto;
    -import com.softeer.backend.fo_domain.fcfs.dto.QuizDto;
    -import com.softeer.backend.fo_domain.fcfs.repository.QuizRepository;
    -import jakarta.annotation.PostConstruct;
    -import lombok.Getter;
    -import lombok.RequiredArgsConstructor;
    -import lombok.extern.slf4j.Slf4j;
    -import org.springframework.data.domain.Sort;
    -import org.springframework.stereotype.Component;
    -import org.springframework.stereotype.Service;
    -
    -import java.time.LocalDateTime;
    -import java.util.ArrayList;
    -import java.util.List;
    -
    -<span class="nc" id="L20">@Slf4j</span>
    -@Component
    -@RequiredArgsConstructor
    -@Getter
    -public class QuizManager {
    -
    -    private final FcfsSettingManager fcfsSettingManager;
    -    private final QuizRepository quizRepository;
    -
    -    private QuizDto tutorialQuiz;
    -    private List&lt;QuizDto&gt; quizList;
    -
    -    @PostConstruct
    -    public void init() {
    -<span class="nc" id="L34">        loadInitialData();</span>
    -<span class="nc" id="L35">    }</span>
    -
    -    public void loadInitialData() {
    -
    -<span class="nc" id="L39">        List&lt;Quiz&gt; quizs = quizRepository.findAll(Sort.by(Sort.Direction.ASC, &quot;id&quot;));</span>
    -<span class="nc" id="L40">        quizList = new ArrayList&lt;&gt;();</span>
    -
    -<span class="nc" id="L42">        quizs.forEach((quiz) -&gt; {</span>
    -
    -<span class="nc" id="L44">            QuizDto quizDto = QuizDto.builder()</span>
    -<span class="nc" id="L45">                    .hint(quiz.getHint())</span>
    -<span class="nc" id="L46">                    .answerWord(quiz.getAnswerWord())</span>
    -<span class="nc" id="L47">                    .answerSentence(quiz.getAnswerSentence().replace(&quot;\\n&quot;, &quot;\n&quot;))</span>
    -<span class="nc" id="L48">                    .startIndex(quiz.getStartIndex())</span>
    -<span class="nc" id="L49">                    .endIndex(quiz.getEndIndex())</span>
    -<span class="nc" id="L50">                    .build();</span>
    -
    -<span class="nc bnc" id="L52" title="All 2 branches missed.">            if(quiz.getHint().equals(&quot;튜토리얼&quot;))</span>
    -<span class="nc" id="L53">                tutorialQuiz = quizDto;</span>
    -            else
    -<span class="nc" id="L55">                quizList.add(quizDto);</span>
    -<span class="nc" id="L56">        });</span>
    -<span class="nc" id="L57">    }</span>
    -
    -    public String getHint(){
    -
    -<span class="nc" id="L61">        LocalDateTime now = LocalDateTime.now();</span>
    -
    -<span class="nc bnc" id="L63" title="All 2 branches missed.">        for (int i=0; i&lt;fcfsSettingManager.getFcfsSettingList().size(); i++) {</span>
    -
    -<span class="nc" id="L65">            FcfsSettingDto fcfsSettingDto = fcfsSettingManager.getFcfsSettingList().get(i);</span>
    -
    -<span class="nc bnc" id="L67" title="All 2 branches missed.">            if (fcfsSettingDto != null) {</span>
    -<span class="nc" id="L68">                LocalDateTime endTime = fcfsSettingDto.getEndTime();</span>
    -
    -                // localDate가 startDate의 하루 다음날과 같은지 확인
    -<span class="nc bnc" id="L71" title="All 2 branches missed.">                if (endTime.isBefore(now)) {</span>
    -<span class="nc" id="L72">                    return quizList.get(i).getHint();</span>
    -                }
    -            }
    -        }
    -
    -<span class="nc" id="L77">        return null;</span>
    -    }
    -
    -    public QuizDto getQuiz(int round){
    -<span class="nc" id="L81">        log.info(&quot;quiz: {}&quot;, quizList.get(round-1));</span>
    -<span class="nc" id="L82">        return quizList.get(round - 1);</span>
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/index.html
    deleted file mode 100644
    index 2e82e15b..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.fcfs.service</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.fcfs.service</span></div><h1>com.softeer.backend.fo_domain.fcfs.service</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">750 of 750</td><td class="ctr2">0%</td><td class="bar">54 of 54</td><td class="ctr2">0%</td><td class="ctr1">55</td><td class="ctr2">55</td><td class="ctr1">165</td><td class="ctr2">165</td><td class="ctr1">28</td><td class="ctr2">28</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a0"><a href="FcfsService.html" class="el_class">FcfsService</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="400" alt="400"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="52" height="10" title="14" alt="14"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f1">17</td><td class="ctr2" id="g1">17</td><td class="ctr1" id="h0">80</td><td class="ctr2" id="i0">80</td><td class="ctr1" id="j1">10</td><td class="ctr2" id="k1">10</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a1"><a href="FcfsSettingManager.html" class="el_class">FcfsSettingManager</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="69" height="10" title="231" alt="231"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="32" alt="32"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f0">28</td><td class="ctr2" id="g0">28</td><td class="ctr1" id="h1">57</td><td class="ctr2" id="i1">57</td><td class="ctr1" id="j0">12</td><td class="ctr2" id="k0">12</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a2"><a href="QuizManager.html" class="el_class">QuizManager</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="35" height="10" title="119" alt="119"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"><img src="../jacoco-resources/redbar.gif" width="30" height="10" title="8" alt="8"/></td><td class="ctr2" id="e2">0%</td><td class="ctr1" id="f2">10</td><td class="ctr2" id="g2">10</td><td class="ctr1" id="h2">28</td><td class="ctr2" id="i2">28</td><td class="ctr1" id="j2">6</td><td class="ctr2" id="k2">6</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/index.source.html
    deleted file mode 100644
    index f77531c4..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.fcfs.service</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.fcfs.service</span></div><h1>com.softeer.backend.fo_domain.fcfs.service</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">750 of 750</td><td class="ctr2">0%</td><td class="bar">54 of 54</td><td class="ctr2">0%</td><td class="ctr1">55</td><td class="ctr2">55</td><td class="ctr1">165</td><td class="ctr2">165</td><td class="ctr1">28</td><td class="ctr2">28</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a0"><a href="FcfsService.java.html" class="el_source">FcfsService.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="400" alt="400"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="52" height="10" title="14" alt="14"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f1">17</td><td class="ctr2" id="g1">17</td><td class="ctr1" id="h0">80</td><td class="ctr2" id="i0">80</td><td class="ctr1" id="j1">10</td><td class="ctr2" id="k1">10</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a1"><a href="FcfsSettingManager.java.html" class="el_source">FcfsSettingManager.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="69" height="10" title="231" alt="231"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="32" alt="32"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f0">28</td><td class="ctr2" id="g0">28</td><td class="ctr1" id="h1">57</td><td class="ctr2" id="i1">57</td><td class="ctr1" id="j0">12</td><td class="ctr2" id="k0">12</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a2"><a href="QuizManager.java.html" class="el_source">QuizManager.java</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="35" height="10" title="119" alt="119"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"><img src="../jacoco-resources/redbar.gif" width="30" height="10" title="8" alt="8"/></td><td class="ctr2" id="e2">0%</td><td class="ctr1" id="f2">10</td><td class="ctr2" id="g2">10</td><td class="ctr1" id="h2">28</td><td class="ctr2" id="i2">28</td><td class="ctr1" id="j2">6</td><td class="ctr2" id="k2">6</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.controller/MainPageController.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.controller/MainPageController.html
    deleted file mode 100644
    index 8dc6747d..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.controller/MainPageController.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>MainPageController</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.mainpage.controller</a> &gt; <span class="el_class">MainPageController</span></div><h1>MainPageController</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">37 of 37</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">10</td><td class="ctr2">10</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a2"><a href="MainPageController.java.html#L27" class="el_method">getEventPageStatic()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="15" alt="15"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">4</td><td class="ctr2" id="i0">4</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="MainPageController.java.html#L45" class="el_method">getCarPage()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="15" alt="15"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">4</td><td class="ctr2" id="i1">4</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a1"><a href="MainPageController.java.html#L37" class="el_method">getEventPageInfo()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="56" height="10" title="7" alt="7"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">2</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.controller/MainPageController.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.controller/MainPageController.java.html
    deleted file mode 100644
    index 6c463cb7..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.controller/MainPageController.java.html
    +++ /dev/null
    @@ -1,53 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>MainPageController.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.mainpage.controller</a> &gt; <span class="el_source">MainPageController.java</span></div><h1>MainPageController.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.mainpage.controller;
    -
    -import com.softeer.backend.fo_domain.mainpage.dto.MainPageCarResponseDto;
    -import com.softeer.backend.fo_domain.mainpage.dto.MainPageEventInfoResponseDto;
    -import com.softeer.backend.fo_domain.mainpage.dto.MainPageEventStaticResponseDto;
    -import com.softeer.backend.fo_domain.mainpage.service.MainPageService;
    -import com.softeer.backend.global.common.response.ResponseDto;
    -import lombok.RequiredArgsConstructor;
    -import org.springframework.http.CacheControl;
    -import org.springframework.http.ResponseEntity;
    -import org.springframework.web.bind.annotation.GetMapping;
    -import org.springframework.web.bind.annotation.PostMapping;
    -import org.springframework.web.bind.annotation.RequestMapping;
    -import org.springframework.web.bind.annotation.RestController;
    -
    -import java.util.concurrent.TimeUnit;
    -
    -@RestController
    -@RequiredArgsConstructor
    -@RequestMapping(&quot;/main&quot;)
    -public class MainPageController {
    -
    -    private final MainPageService mainPageService;
    -
    -    @GetMapping(&quot;/event/static&quot;)
    -    public ResponseEntity&lt;ResponseDto&lt;MainPageEventStaticResponseDto&gt;&gt; getEventPageStatic(){
    -<span class="nc" id="L27">        MainPageEventStaticResponseDto mainPageEventStaticResponseDto= mainPageService.getEventPageStatic();</span>
    -
    -<span class="nc" id="L29">        return ResponseEntity.ok()</span>
    -<span class="nc" id="L30">                .cacheControl(CacheControl.maxAge(1, TimeUnit.DAYS).cachePublic()) // 1일 동안 public 캐싱</span>
    -<span class="nc" id="L31">                .body(ResponseDto.onSuccess(mainPageEventStaticResponseDto));</span>
    -    }
    -
    -    @GetMapping(&quot;/event/info&quot;)
    -    public ResponseDto&lt;MainPageEventInfoResponseDto&gt; getEventPageInfo(){
    -
    -<span class="nc" id="L37">        MainPageEventInfoResponseDto mainPageEventInfoResponseDto = mainPageService.getEventPageInfo();</span>
    -
    -<span class="nc" id="L39">        return ResponseDto.onSuccess(mainPageEventInfoResponseDto);</span>
    -    }
    -
    -    @GetMapping(&quot;/car&quot;)
    -    public ResponseEntity&lt;ResponseDto&lt;MainPageCarResponseDto&gt;&gt; getCarPage(){
    -
    -<span class="nc" id="L45">        MainPageCarResponseDto mainPageCarResponseDto = mainPageService.getCarPage();</span>
    -
    -<span class="nc" id="L47">        return ResponseEntity.ok()</span>
    -<span class="nc" id="L48">                .cacheControl(CacheControl.maxAge(1, TimeUnit.DAYS).cachePublic()) // 1일 동안 public 캐싱</span>
    -<span class="nc" id="L49">                .body(ResponseDto.onSuccess(mainPageCarResponseDto));</span>
    -    }
    -
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.controller/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.controller/index.html
    deleted file mode 100644
    index a56d9edb..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.controller/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.mainpage.controller</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.mainpage.controller</span></div><h1>com.softeer.backend.fo_domain.mainpage.controller</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">37 of 37</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">10</td><td class="ctr2">10</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="MainPageController.html" class="el_class">MainPageController</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="37" alt="37"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">10</td><td class="ctr2" id="i0">10</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k0">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.controller/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.controller/index.source.html
    deleted file mode 100644
    index 57cb8e39..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.controller/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.mainpage.controller</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.mainpage.controller</span></div><h1>com.softeer.backend.fo_domain.mainpage.controller</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">37 of 37</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">10</td><td class="ctr2">10</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="MainPageController.java.html" class="el_source">MainPageController.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="37" alt="37"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">10</td><td class="ctr2" id="i0">10</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k0">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.service/MainPageService.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.service/MainPageService.html
    deleted file mode 100644
    index 5b586820..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.service/MainPageService.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>MainPageService</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.mainpage.service</a> &gt; <span class="el_class">MainPageService</span></div><h1>MainPageService</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">500 of 500</td><td class="ctr2">0%</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="ctr1">10</td><td class="ctr2">10</td><td class="ctr1">93</td><td class="ctr2">93</td><td class="ctr1">8</td><td class="ctr2">8</td></tr></tfoot><tbody><tr><td id="a3"><a href="MainPageService.java.html#L123" class="el_method">getCarPage()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="144" alt="144"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h0">23</td><td class="ctr2" id="i0">23</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a4"><a href="MainPageService.java.html#L80" class="el_method">getEventPageInfo()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="118" height="10" title="142" alt="142"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h1">22</td><td class="ctr2" id="i1">22</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a5"><a href="MainPageService.java.html#L52" class="el_method">getEventPageStatic()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="74" height="10" title="89" alt="89"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h2">19</td><td class="ctr2" id="i2">19</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a2"><a href="MainPageService.java.html#L286" class="el_method">createCarInfoWithDetails(int, StaticTextName, StaticTextName, StaticTextName, StaticTextName, S3FileName, S3FileName, List, Map, Map)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="35" height="10" title="43" alt="43"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h3">10</td><td class="ctr2" id="i3">10</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a1"><a href="MainPageService.java.html#L251" class="el_method">createCarInfo(int, StaticTextName, StaticTextName, S3FileName, S3FileName, Map, Map)</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="24" height="10" title="29" alt="29"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">1</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h4">7</td><td class="ctr2" id="i4">7</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a0"><a href="MainPageService.java.html#L267" class="el_method">createCarDetailInfo(int, StaticTextName, StaticTextName, StaticTextName, S3FileName, Map, Map)</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="24" height="10" title="29" alt="29"/></td><td class="ctr2" id="c5">0%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">1</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h5">7</td><td class="ctr2" id="i5">7</td><td class="ctr1" id="j5">1</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a6"><a href="MainPageService.java.html#L112" class="el_method">setTotalVisitorsCount()</a></td><td class="bar" id="b6"><img src="../jacoco-resources/redbar.gif" width="16" height="10" title="20" alt="20"/></td><td class="ctr2" id="c6">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h6">4</td><td class="ctr2" id="i6">4</td><td class="ctr1" id="j6">1</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a7"><a href="MainPageService.java.html#L33" class="el_method">static {...}</a></td><td class="bar" id="b7"><img src="../jacoco-resources/redbar.gif" width="3" height="10" title="4" alt="4"/></td><td class="ctr2" id="c7">0%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">1</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h7">1</td><td class="ctr2" id="i7">1</td><td class="ctr1" id="j7">1</td><td class="ctr2" id="k7">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.service/MainPageService.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.service/MainPageService.java.html
    deleted file mode 100644
    index 195f63e8..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.service/MainPageService.java.html
    +++ /dev/null
    @@ -1,298 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>MainPageService.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.mainpage.service</a> &gt; <span class="el_source">MainPageService.java</span></div><h1>MainPageService.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.mainpage.service;
    -
    -import com.softeer.backend.fo_domain.draw.repository.DrawRepository;
    -import com.softeer.backend.fo_domain.draw.service.DrawSettingManager;
    -import com.softeer.backend.fo_domain.fcfs.dto.FcfsSettingDto;
    -import com.softeer.backend.fo_domain.fcfs.service.FcfsSettingManager;
    -import com.softeer.backend.fo_domain.fcfs.service.QuizManager;
    -import com.softeer.backend.fo_domain.mainpage.dto.MainPageCarResponseDto;
    -import com.softeer.backend.fo_domain.mainpage.dto.MainPageEventInfoResponseDto;
    -import com.softeer.backend.fo_domain.mainpage.dto.MainPageEventStaticResponseDto;
    -import com.softeer.backend.global.common.constant.RedisKeyPrefix;
    -import com.softeer.backend.global.staticresources.constant.S3FileName;
    -import com.softeer.backend.global.staticresources.constant.StaticTextName;
    -import com.softeer.backend.global.staticresources.util.StaticResourceUtil;
    -import com.softeer.backend.global.util.EventLockRedisUtil;
    -import lombok.RequiredArgsConstructor;
    -import lombok.extern.slf4j.Slf4j;
    -import org.springframework.cache.annotation.Cacheable;
    -import org.springframework.stereotype.Service;
    -import org.springframework.transaction.annotation.Transactional;
    -
    -import java.text.DecimalFormat;
    -import java.time.DayOfWeek;
    -import java.time.LocalDate;
    -import java.time.LocalDateTime;
    -import java.time.format.DateTimeFormatter;
    -import java.util.Arrays;
    -import java.util.List;
    -import java.util.Locale;
    -import java.util.Map;
    -import java.util.stream.Collectors;
    -
    -<span class="nc" id="L33">@Slf4j</span>
    -@Service
    -@RequiredArgsConstructor
    -public class MainPageService {
    -    private final DateTimeFormatter eventTimeFormatter = DateTimeFormatter.ofPattern(&quot;yyyy.MM.dd&quot;);
    -    private final DateTimeFormatter fcfsTimeFormatter = DateTimeFormatter.ofPattern(&quot;a h&quot;, Locale.KOREAN);
    -    private final DecimalFormat decimalFormat = new DecimalFormat(&quot;#,###&quot;);
    -
    -    private final EventLockRedisUtil eventLockRedisUtil;
    -    private final FcfsSettingManager fcfsSettingManager;
    -    private final DrawSettingManager drawSettingManager;
    -    private final QuizManager quizManager;
    -    private final DrawRepository drawRepository;
    -    private final StaticResourceUtil staticResourceUtil;
    -
    -    @Transactional(readOnly = true)
    -    @Cacheable(value = &quot;staticResources&quot;, key = &quot;'event'&quot;)
    -    public MainPageEventStaticResponseDto getEventPageStatic(){
    -
    -<span class="nc" id="L52">        Map&lt;String, String&gt; textContentMap = staticResourceUtil.getTextContentMap();</span>
    -<span class="nc" id="L53">        Map&lt;String, String&gt; s3ContentMap = staticResourceUtil.getS3ContentMap();</span>
    -
    -<span class="nc" id="L55">        MainPageEventStaticResponseDto.EventInfo fcfsInfo = MainPageEventStaticResponseDto.EventInfo.builder()</span>
    -<span class="nc" id="L56">                .title(textContentMap.get(StaticTextName.FCFS_TITLE.name()))</span>
    -<span class="nc" id="L57">                .content(textContentMap.get(StaticTextName.FCFS_CONTENT.name()))</span>
    -<span class="nc" id="L58">                .rewardImage1(s3ContentMap.get(S3FileName.FCFS_REWARD_IMAGE_1.name()))</span>
    -<span class="nc" id="L59">                .rewardImage2(s3ContentMap.get(S3FileName.FCFS_REWARD_IMAGE_2.name()))</span>
    -<span class="nc" id="L60">                .build();</span>
    -
    -<span class="nc" id="L62">        MainPageEventStaticResponseDto.EventInfo drawInfo = MainPageEventStaticResponseDto.EventInfo.builder()</span>
    -<span class="nc" id="L63">                .title(textContentMap.get(StaticTextName.DRAW_TITLE.name()))</span>
    -<span class="nc" id="L64">                .content(textContentMap.get(StaticTextName.DRAW_CONTENT.name()))</span>
    -<span class="nc" id="L65">                .rewardImage1(s3ContentMap.get(S3FileName.DRAW_REWARD_IMAGE_1.name()))</span>
    -<span class="nc" id="L66">                .rewardImage2(s3ContentMap.get(S3FileName.DRAW_REWARD_IMAGE_2_3.name()))</span>
    -<span class="nc" id="L67">                .build();</span>
    -
    -<span class="nc" id="L69">        return MainPageEventStaticResponseDto.builder()</span>
    -<span class="nc" id="L70">                .eventTitle(textContentMap.get(StaticTextName.EVENT_TITLE.name()))</span>
    -<span class="nc" id="L71">                .eventDescription(textContentMap.get(StaticTextName.EVENT_DESCRIPTION.name()))</span>
    -<span class="nc" id="L72">                .eventInfoList(Arrays.asList(fcfsInfo, drawInfo))</span>
    -<span class="nc" id="L73">                .build();</span>
    -
    -    }
    -
    -    @Transactional(readOnly = true)
    -    public MainPageEventInfoResponseDto getEventPageInfo(){
    -
    -<span class="nc" id="L80">        setTotalVisitorsCount();</span>
    -
    -<span class="nc" id="L82">        Map&lt;String, String&gt; textContentMap = staticResourceUtil.getTextContentMap();</span>
    -
    -<span class="nc" id="L84">        FcfsSettingDto firstFcfsSetting = fcfsSettingManager.getFcfsSettingByRound(1);</span>
    -<span class="nc" id="L85">        FcfsSettingDto secondFcfsSetting = fcfsSettingManager.getFcfsSettingByRound(2);</span>
    -
    -<span class="nc" id="L87">        int totalDrawWinner = drawSettingManager.getWinnerNum1()</span>
    -<span class="nc" id="L88">                + drawSettingManager.getWinnerNum2() + drawSettingManager.getWinnerNum3();</span>
    -
    -<span class="nc" id="L90">        int remainDrawCount = totalDrawWinner - (int)drawRepository.count();</span>
    -
    -<span class="nc" id="L92">        return MainPageEventInfoResponseDto.builder()</span>
    -<span class="nc" id="L93">                .startDate(drawSettingManager.getStartDate().format(eventTimeFormatter))</span>
    -<span class="nc" id="L94">                .endDate(drawSettingManager.getEndDate().format(eventTimeFormatter))</span>
    -<span class="nc" id="L95">                .fcfsInfo(staticResourceUtil.format(textContentMap.get(StaticTextName.FCFS_INFO.name()),</span>
    -<span class="nc" id="L96">                        staticResourceUtil.getKoreanDayOfWeek(firstFcfsSetting.getStartTime().getDayOfWeek()),</span>
    -<span class="nc" id="L97">                        staticResourceUtil.getKoreanDayOfWeek(secondFcfsSetting.getStartTime().getDayOfWeek()),</span>
    -<span class="nc" id="L98">                        firstFcfsSetting.getStartTime().format(fcfsTimeFormatter),</span>
    -<span class="nc" id="L99">                        firstFcfsSetting.getWinnerNum()))</span>
    -<span class="nc" id="L100">                .totalDrawWinner(staticResourceUtil.format(</span>
    -<span class="nc" id="L101">                        textContentMap.get(StaticTextName.TOTAL_DRAW_WINNER.name()), decimalFormat.format(totalDrawWinner)))</span>
    -<span class="nc" id="L102">                .remainDrawCount(staticResourceUtil.format(</span>
    -<span class="nc" id="L103">                        textContentMap.get(StaticTextName.REMAIN_DRAW_COUNT.name()), decimalFormat.format(remainDrawCount)))</span>
    -<span class="nc" id="L104">                .fcfsHint(quizManager.getHint())</span>
    -<span class="nc" id="L105">                .fcfsStartTime(fcfsSettingManager.getNextFcfsTime(LocalDateTime.now()))</span>
    -<span class="nc" id="L106">                .build();</span>
    -    }
    -
    -    // 이벤트 기간이면 redis에 사이트 방문자 수 +1 하기
    -    public void setTotalVisitorsCount(){
    -
    -<span class="nc" id="L112">        LocalDate now = LocalDate.now();</span>
    -
    -<span class="nc bnc" id="L114" title="All 4 branches missed.">        if (!now.isBefore(drawSettingManager.getStartDate()) &amp;&amp; !now.isAfter(drawSettingManager.getEndDate())) {</span>
    -<span class="nc" id="L115">            eventLockRedisUtil.incrementData(RedisKeyPrefix.TOTAL_VISITORS_COUNT_PREFIX.getPrefix());</span>
    -        }
    -
    -<span class="nc" id="L118">    }</span>
    -
    -    @Transactional(readOnly = true)
    -    @Cacheable(value = &quot;staticResources&quot;, key = &quot;'car'&quot;)
    -    public MainPageCarResponseDto getCarPage() {
    -<span class="nc" id="L123">        Map&lt;String, String&gt; textContentMap = staticResourceUtil.getTextContentMap();</span>
    -<span class="nc" id="L124">        Map&lt;String, String&gt; s3ContentMap = staticResourceUtil.getS3ContentMap();</span>
    -
    -<span class="nc" id="L126">        List&lt;MainPageCarResponseDto.CarInfo&gt; carInfoList = List.of(</span>
    -<span class="nc" id="L127">                createCarInfo(1,</span>
    -                        StaticTextName.MAIN_TITLE,
    -                        StaticTextName.MAIN_SUBTITLE,
    -                        S3FileName.IONIQ_VIDEO,
    -                        S3FileName.MAIN_BACKGROUND_IMAGE,
    -                        textContentMap,
    -                        s3ContentMap),
    -<span class="nc" id="L134">                createCarInfoWithDetails(2,</span>
    -                        StaticTextName.INTERIOR_TITLE,
    -                        StaticTextName.INTERIOR_SUBTITLE,
    -                        StaticTextName.INTERIOR_IMAGE_TITLE,
    -                        StaticTextName.INTERIOR_IMAGE_CONTENT,
    -                        S3FileName.INTERIOR_THUMBNAIL_IMAGE,
    -                        S3FileName.INTERIOR_BACKGROUND_IMAGE,
    -<span class="nc" id="L141">                        List.of(</span>
    -<span class="nc" id="L142">                                createCarDetailInfo(1,</span>
    -                                        StaticTextName.INTERIOR_OPENNESS_TITLE,
    -                                        StaticTextName.INTERIOR_OPENNESS_SUBTITLE,
    -                                        StaticTextName.INTERIOR_OPENNESS_CONTENT,
    -                                        S3FileName.INTERIOR_OPENNESS_IMAGE,
    -                                        textContentMap,
    -                                        s3ContentMap),
    -<span class="nc" id="L149">                                createCarDetailInfo(2,</span>
    -                                        StaticTextName.INTERIOR_WELLNESS_TITLE,
    -                                        StaticTextName.INTERIOR_WELLNESS_SUBTITLE,
    -                                        StaticTextName.INTERIOR_WELLNESS_CONTENT,
    -                                        S3FileName.INTERIOR_WELLNESS_IMAGE,
    -                                        textContentMap,
    -                                        s3ContentMap)
    -                        ),
    -                        textContentMap,
    -                        s3ContentMap
    -                ),
    -<span class="nc" id="L160">                createCarInfoWithDetails(3,</span>
    -                        StaticTextName.PERFORMANCE_TITLE,
    -                        StaticTextName.PERFORMANCE_SUBTITLE,
    -                        StaticTextName.PERFORMANCE_IMAGE_TITLE,
    -                        StaticTextName.PERFORMANCE_IMAGE_CONTENT,
    -                        S3FileName.PERFORMANCE_THUMBNAIL_IMAGE,
    -                        S3FileName.PERFORMANCE_BACKGROUND_IMAGE,
    -<span class="nc" id="L167">                        List.of(</span>
    -<span class="nc" id="L168">                                createCarDetailInfo(1,</span>
    -                                        StaticTextName.PERFORMANCE_BRAKING_TITLE,
    -                                        StaticTextName.PERFORMANCE_BRAKING_SUBTITLE,
    -                                        StaticTextName.PERFORMANCE_BRAKING_CONTENT,
    -                                        S3FileName.PERFORMANCE_BRAKING_IMAGE,
    -                                        textContentMap,
    -                                        s3ContentMap),
    -<span class="nc" id="L175">                                createCarDetailInfo(2,</span>
    -                                        StaticTextName.PERFORMANCE_DRIVING_TITLE,
    -                                        StaticTextName.PERFORMANCE_DRIVING_SUBTITLE,
    -                                        StaticTextName.PERFORMANCE_DRIVING_CONTENT,
    -                                        S3FileName.PERFORMANCE_DRIVING_IMAGE,
    -                                        textContentMap,
    -                                        s3ContentMap)
    -                        ),
    -                        textContentMap,
    -                        s3ContentMap
    -                ),
    -<span class="nc" id="L186">                createCarInfoWithDetails(4, StaticTextName.CHARGING_TITLE,</span>
    -                        StaticTextName.CHARGING_SUBTITLE,
    -                        StaticTextName.CHARGING_IMAGE_TITLE,
    -                        StaticTextName.CHARGING_IMAGE_CONTENT,
    -                        S3FileName.CHARGING_THUMBNAIL_IMAGE,
    -                        S3FileName.CHARGING_BACKGROUND_IMAGE,
    -<span class="nc" id="L192">                        List.of(</span>
    -<span class="nc" id="L193">                                createCarDetailInfo(1,</span>
    -                                        StaticTextName.CHARGING_FAST_TITLE,
    -                                        StaticTextName.CHARGING_FAST_SUBTITLE,
    -                                        StaticTextName.CHARGING_FAST_CONTENT,
    -                                        S3FileName.CHARGING_FAST_IMAGE,
    -                                        textContentMap,
    -                                        s3ContentMap),
    -<span class="nc" id="L200">                                createCarDetailInfo(2,</span>
    -                                        StaticTextName.CHARGING_V2L_TITLE,
    -                                        StaticTextName.CHARGING_V2L_SUBTITLE,
    -                                        StaticTextName.CHARGING_V2L_CONTENT,
    -                                        S3FileName.CHARGING_V2L_IMAGE,
    -                                        textContentMap,
    -                                        s3ContentMap)
    -                        ),
    -                        textContentMap,
    -                        s3ContentMap
    -                ),
    -<span class="nc" id="L211">                createCarInfoWithDetails(5,</span>
    -                        StaticTextName.SAFE_TITLE,
    -                        StaticTextName.SAFE_SUBTITLE,
    -                        StaticTextName.SAFE_IMAGE_TITLE,
    -                        StaticTextName.SAFE_IMAGE_CONTENT,
    -                        S3FileName.SAFE_THUMBNAIL_IMAGE,
    -                        S3FileName.SAFE_BACKGROUND_IMAGE,
    -<span class="nc" id="L218">                        List.of(</span>
    -<span class="nc" id="L219">                                createCarDetailInfo(1,</span>
    -                                        StaticTextName.SAFE_DRIVING_TITLE,
    -                                        StaticTextName.SAFE_DRIVING_SUBTITLE,
    -                                        StaticTextName.SAFE_DRIVING_CONTENT,
    -                                        S3FileName.SAFE_DRIVING_IMAGE,
    -                                        textContentMap,
    -                                        s3ContentMap),
    -<span class="nc" id="L226">                                createCarDetailInfo(2,</span>
    -                                        StaticTextName.SAFE_ADVANCED_TITLE,
    -                                        StaticTextName.SAFE_ADVANCED_SUBTITLE,
    -                                        StaticTextName.SAFE_ADVANCED_CONTENT,
    -                                        S3FileName.SAFE_ADVANCED_IMAGE,
    -                                        textContentMap,
    -                                        s3ContentMap)
    -                        ),
    -                        textContentMap,
    -                        s3ContentMap
    -                )
    -        );
    -
    -<span class="nc" id="L239">        return MainPageCarResponseDto.builder()</span>
    -<span class="nc" id="L240">                .carInfoList(carInfoList)</span>
    -<span class="nc" id="L241">                .build();</span>
    -    }
    -
    -    private MainPageCarResponseDto.CarInfo createCarInfo(int id,
    -                                                         StaticTextName titleKey,
    -                                                         StaticTextName subTitleKey,
    -                                                         S3FileName imgUrlKey,
    -                                                         S3FileName backgroundImgUrlKey,
    -                                                         Map&lt;String, String&gt; textContentMap,
    -                                                         Map&lt;String, String&gt; s3ContentMap) {
    -<span class="nc" id="L251">        return MainPageCarResponseDto.CarInfo.builder()</span>
    -<span class="nc" id="L252">                .id(id)</span>
    -<span class="nc" id="L253">                .title(textContentMap.get(titleKey.name()))</span>
    -<span class="nc" id="L254">                .subTitle(textContentMap.get(subTitleKey.name()))</span>
    -<span class="nc" id="L255">                .imgUrl(s3ContentMap.get(imgUrlKey.name()))</span>
    -<span class="nc" id="L256">                .backgroundImgUrl(s3ContentMap.get(backgroundImgUrlKey.name()))</span>
    -<span class="nc" id="L257">                .build();</span>
    -    }
    -
    -    private MainPageCarResponseDto.CarDetailInfo createCarDetailInfo(int id,
    -                                                                     StaticTextName titleKey,
    -                                                                     StaticTextName subTitleKey,
    -                                                                     StaticTextName contentKey,
    -                                                                     S3FileName imgUrlKey,
    -                                                                     Map&lt;String, String&gt; textContentMap,
    -                                                                     Map&lt;String, String&gt; s3ContentMap) {
    -<span class="nc" id="L267">        return MainPageCarResponseDto.CarDetailInfo.builder()</span>
    -<span class="nc" id="L268">                .id(id)</span>
    -<span class="nc" id="L269">                .title(textContentMap.get(titleKey.name()))</span>
    -<span class="nc" id="L270">                .subTitle(textContentMap.get(subTitleKey.name()))</span>
    -<span class="nc" id="L271">                .content(textContentMap.get(contentKey.name()))</span>
    -<span class="nc" id="L272">                .imgUrl(s3ContentMap.get(imgUrlKey.name()))</span>
    -<span class="nc" id="L273">                .build();</span>
    -    }
    -
    -    private MainPageCarResponseDto.CarInfo createCarInfoWithDetails(int id,
    -                                                                    StaticTextName titleKey,
    -                                                                    StaticTextName subTitleKey,
    -                                                                    StaticTextName imgTitleKey,
    -                                                                    StaticTextName imgContentKey,
    -                                                                    S3FileName imgUrlKey,
    -                                                                    S3FileName backgroundImgUrlKey,
    -                                                                    List&lt;MainPageCarResponseDto.CarDetailInfo&gt; carDetailInfoList,
    -                                                                    Map&lt;String, String&gt; textContentMap,
    -                                                                    Map&lt;String, String&gt; s3ContentMap) {
    -<span class="nc" id="L286">        return MainPageCarResponseDto.CarInfo.builder()</span>
    -<span class="nc" id="L287">                .id(id)</span>
    -<span class="nc" id="L288">                .title(textContentMap.get(titleKey.name()))</span>
    -<span class="nc" id="L289">                .subTitle(textContentMap.get(subTitleKey.name()))</span>
    -<span class="nc" id="L290">                .imgTitle(textContentMap.get(imgTitleKey.name()))</span>
    -<span class="nc" id="L291">                .imgContent(textContentMap.get(imgContentKey.name()))</span>
    -<span class="nc" id="L292">                .imgUrl(s3ContentMap.get(imgUrlKey.name()))</span>
    -<span class="nc" id="L293">                .backgroundImgUrl(s3ContentMap.get(backgroundImgUrlKey.name()))</span>
    -<span class="nc" id="L294">                .carDetailInfoList(carDetailInfoList)</span>
    -<span class="nc" id="L295">                .build();</span>
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.service/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.service/index.html
    deleted file mode 100644
    index 66039df0..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.service/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.mainpage.service</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.mainpage.service</span></div><h1>com.softeer.backend.fo_domain.mainpage.service</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">500 of 500</td><td class="ctr2">0%</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="ctr1">10</td><td class="ctr2">10</td><td class="ctr1">93</td><td class="ctr2">93</td><td class="ctr1">8</td><td class="ctr2">8</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="MainPageService.html" class="el_class">MainPageService</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="500" alt="500"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">10</td><td class="ctr2" id="g0">10</td><td class="ctr1" id="h0">93</td><td class="ctr2" id="i0">93</td><td class="ctr1" id="j0">8</td><td class="ctr2" id="k0">8</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.service/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.service/index.source.html
    deleted file mode 100644
    index 12cff694..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.service/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.mainpage.service</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.mainpage.service</span></div><h1>com.softeer.backend.fo_domain.mainpage.service</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">500 of 500</td><td class="ctr2">0%</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="ctr1">10</td><td class="ctr2">10</td><td class="ctr1">93</td><td class="ctr2">93</td><td class="ctr1">8</td><td class="ctr2">8</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="MainPageService.java.html" class="el_source">MainPageService.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="500" alt="500"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">10</td><td class="ctr2" id="g0">10</td><td class="ctr1" id="h0">93</td><td class="ctr2" id="i0">93</td><td class="ctr1" id="j0">8</td><td class="ctr2" id="k0">8</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.controller/ShareController.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.controller/ShareController.html
    deleted file mode 100644
    index fb584b38..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.controller/ShareController.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ShareController</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.share.controller</a> &gt; <span class="el_class">ShareController</span></div><h1>ShareController</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">38 of 38</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">9</td><td class="ctr2">9</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="ShareController.java.html#L33" class="el_method">redirectWithShareUrl(String, HttpServletRequest, HttpServletResponse)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="32" alt="32"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">8</td><td class="ctr2" id="i0">8</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="ShareController.java.html#L27" class="el_method">getShortenShareUrl(Integer)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="22" height="10" title="6" alt="6"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.controller/ShareController.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.controller/ShareController.java.html
    deleted file mode 100644
    index b84a90e6..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.controller/ShareController.java.html
    +++ /dev/null
    @@ -1,45 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ShareController.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.share.controller</a> &gt; <span class="el_source">ShareController.java</span></div><h1>ShareController.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.share.controller;
    -
    -import com.softeer.backend.fo_domain.share.dto.ShareUrlInfoResponseDto;
    -import com.softeer.backend.fo_domain.share.service.ShareUrlInfoService;
    -import com.softeer.backend.global.annotation.AuthInfo;
    -import com.softeer.backend.global.common.response.ResponseDto;
    -import io.swagger.v3.oas.annotations.Parameter;
    -import jakarta.servlet.http.Cookie;
    -import jakarta.servlet.http.HttpServletRequest;
    -import jakarta.servlet.http.HttpServletResponse;
    -import jakarta.servlet.http.HttpSession;
    -import lombok.RequiredArgsConstructor;
    -import org.springframework.http.HttpHeaders;
    -import org.springframework.http.HttpStatus;
    -import org.springframework.http.ResponseEntity;
    -import org.springframework.web.bind.annotation.GetMapping;
    -import org.springframework.web.bind.annotation.PathVariable;
    -import org.springframework.web.bind.annotation.RestController;
    -
    -@RestController
    -@RequiredArgsConstructor
    -public class ShareController {
    -    private final ShareUrlInfoService shareUrlInfoService;
    -
    -    @GetMapping(&quot;/share-shorten-url&quot;)
    -    public ResponseDto&lt;ShareUrlInfoResponseDto&gt; getShortenShareUrl(@Parameter(hidden = true) @AuthInfo Integer userId) {
    -<span class="nc" id="L27">        return ResponseDto.onSuccess(shareUrlInfoService.getShortenShareUrl(userId));</span>
    -    }
    -
    -    @GetMapping(&quot;/share/{shareUrl}&quot;)
    -    public ResponseEntity&lt;Void&gt; redirectWithShareUrl(@PathVariable String shareUrl, HttpServletRequest request, HttpServletResponse response) {
    -        // session을 이용해 공유 url 저장
    -<span class="nc" id="L33">        Cookie shareCodeCookie = new Cookie(&quot;shareCode&quot;, shareUrl);</span>
    -<span class="nc" id="L34">        shareCodeCookie.setPath(&quot;/&quot;);</span>
    -<span class="nc" id="L35">        shareCodeCookie.setHttpOnly(false); // HttpOnly 속성을 비활성화</span>
    -<span class="nc" id="L36">        shareCodeCookie.setDomain(&quot;softeer.site&quot;); // 도메인 설정. 이렇게 해서 softeer.site 포함 하위 모든 도메인에서 해당 쿠키 사용 가능</span>
    -<span class="nc" id="L37">        response.addCookie(shareCodeCookie);</span>
    -
    -        // 헤더를 이용해 redirect
    -<span class="nc" id="L40">        HttpHeaders headers = new HttpHeaders();</span>
    -<span class="nc" id="L41">        headers.add(&quot;Location&quot;, &quot;https://softeer.site&quot;);</span>
    -<span class="nc" id="L42">        return new ResponseEntity&lt;&gt;(headers, HttpStatus.FOUND); // HTTP 302 Found 응답</span>
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.controller/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.controller/index.html
    deleted file mode 100644
    index e360c138..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.controller/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.share.controller</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.share.controller</span></div><h1>com.softeer.backend.fo_domain.share.controller</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">38 of 38</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">9</td><td class="ctr2">9</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="ShareController.html" class="el_class">ShareController</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="38" alt="38"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">9</td><td class="ctr2" id="i0">9</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.controller/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.controller/index.source.html
    deleted file mode 100644
    index ce3d183a..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.controller/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.share.controller</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.share.controller</span></div><h1>com.softeer.backend.fo_domain.share.controller</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">38 of 38</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">9</td><td class="ctr2">9</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="ShareController.java.html" class="el_source">ShareController.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="38" alt="38"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">9</td><td class="ctr2" id="i0">9</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.domain/ShareInfo.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.domain/ShareInfo.html
    deleted file mode 100644
    index b7a81f79..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.domain/ShareInfo.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ShareInfo</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.share.domain</a> &gt; <span class="el_class">ShareInfo</span></div><h1>ShareInfo</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 13</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">1</td><td class="ctr1">0</td><td class="ctr2">5</td><td class="ctr1">0</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="ShareInfo.java.html#L27" class="el_method">ShareInfo(Integer, Integer, Integer)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="13" alt="13"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">5</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.domain/ShareInfo.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.domain/ShareInfo.java.html
    deleted file mode 100644
    index 2716b738..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.domain/ShareInfo.java.html
    +++ /dev/null
    @@ -1,33 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ShareInfo.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.share.domain</a> &gt; <span class="el_source">ShareInfo.java</span></div><h1>ShareInfo.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.share.domain;
    -
    -import jakarta.persistence.Column;
    -import jakarta.persistence.Entity;
    -import jakarta.persistence.Id;
    -import jakarta.persistence.Table;
    -import lombok.Builder;
    -import lombok.Getter;
    -import lombok.NoArgsConstructor;
    -
    -@Getter
    -@Entity
    -@NoArgsConstructor
    -@Table(name = &quot;share_info&quot;)
    -public class ShareInfo {
    -    @Id
    -    @Column(name = &quot;user_id&quot;)
    -    private int userId;
    -
    -    @Column(name = &quot;invited_num&quot;)
    -    private Integer invitedNum;
    -
    -    @Column(name = &quot;remain_draw_count&quot;)
    -    private Integer remainDrawCount;
    -
    -    @Builder
    -<span class="fc" id="L27">    public ShareInfo(Integer userId, Integer invitedNum, Integer remainDrawCount) {</span>
    -<span class="fc" id="L28">        this.userId = userId;</span>
    -<span class="fc" id="L29">        this.invitedNum = invitedNum;</span>
    -<span class="fc" id="L30">        this.remainDrawCount = remainDrawCount;</span>
    -<span class="fc" id="L31">    }</span>
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.domain/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.domain/index.html
    deleted file mode 100644
    index 55cfde6a..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.domain/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.share.domain</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.share.domain</span></div><h1>com.softeer.backend.fo_domain.share.domain</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 13</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">1</td><td class="ctr1">0</td><td class="ctr2">5</td><td class="ctr1">0</td><td class="ctr2">1</td><td class="ctr1">0</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="ShareInfo.html" class="el_class">ShareInfo</a></td><td class="bar" id="b0"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="13" alt="13"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">5</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.domain/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.domain/index.source.html
    deleted file mode 100644
    index fdfde95f..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.domain/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.share.domain</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.share.domain</span></div><h1>com.softeer.backend.fo_domain.share.domain</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 13</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">1</td><td class="ctr1">0</td><td class="ctr2">5</td><td class="ctr1">0</td><td class="ctr2">1</td><td class="ctr1">0</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="ShareInfo.java.html" class="el_source">ShareInfo.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="13" alt="13"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">5</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/ShareInfoException.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/ShareInfoException.html
    deleted file mode 100644
    index cf1329f7..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/ShareInfoException.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ShareInfoException</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.share.exception</a> &gt; <span class="el_class">ShareInfoException</span></div><h1>ShareInfoException</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="ShareInfoException.java.html#L9" class="el_method">ShareInfoException(BaseErrorCode)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/ShareInfoException.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/ShareInfoException.java.html
    deleted file mode 100644
    index c1a9fbe1..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/ShareInfoException.java.html
    +++ /dev/null
    @@ -1,12 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ShareInfoException.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.share.exception</a> &gt; <span class="el_source">ShareInfoException.java</span></div><h1>ShareInfoException.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.share.exception;
    -
    -import com.softeer.backend.global.common.code.BaseErrorCode;
    -import com.softeer.backend.global.common.exception.GeneralException;
    -
    -
    -public class ShareInfoException extends GeneralException {
    -    public ShareInfoException(BaseErrorCode code) {
    -<span class="nc" id="L9">        super(code);</span>
    -<span class="nc" id="L10">    }</span>
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/ShareUrlInfoException.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/ShareUrlInfoException.html
    deleted file mode 100644
    index 7b58b031..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/ShareUrlInfoException.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ShareUrlInfoException</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.share.exception</a> &gt; <span class="el_class">ShareUrlInfoException</span></div><h1>ShareUrlInfoException</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="ShareUrlInfoException.java.html#L8" class="el_method">ShareUrlInfoException(BaseErrorCode)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/ShareUrlInfoException.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/ShareUrlInfoException.java.html
    deleted file mode 100644
    index 1cf4c329..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/ShareUrlInfoException.java.html
    +++ /dev/null
    @@ -1,11 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ShareUrlInfoException.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.share.exception</a> &gt; <span class="el_source">ShareUrlInfoException.java</span></div><h1>ShareUrlInfoException.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.share.exception;
    -
    -import com.softeer.backend.global.common.code.BaseErrorCode;
    -import com.softeer.backend.global.common.exception.GeneralException;
    -
    -public class ShareUrlInfoException extends GeneralException {
    -    public ShareUrlInfoException(BaseErrorCode code) {
    -<span class="nc" id="L8">        super(code);</span>
    -<span class="nc" id="L9">    }</span>
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/index.html
    deleted file mode 100644
    index 500beffc..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.share.exception</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.share.exception</span></div><h1>com.softeer.backend.fo_domain.share.exception</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">8 of 8</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="ShareInfoException.html" class="el_class">ShareInfoException</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a1"><a href="ShareUrlInfoException.html" class="el_class">ShareUrlInfoException</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/index.source.html
    deleted file mode 100644
    index dc0487fe..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.share.exception</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.share.exception</span></div><h1>com.softeer.backend.fo_domain.share.exception</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">8 of 8</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="ShareInfoException.java.html" class="el_source">ShareInfoException.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a1"><a href="ShareUrlInfoException.java.html" class="el_source">ShareUrlInfoException.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.service/ShareUrlInfoService.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.service/ShareUrlInfoService.html
    deleted file mode 100644
    index eaa66353..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.service/ShareUrlInfoService.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ShareUrlInfoService</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.share.service</a> &gt; <span class="el_class">ShareUrlInfoService</span></div><h1>ShareUrlInfoService</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">26 of 26</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">9</td><td class="ctr2">9</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="ShareUrlInfoService.java.html#L19" class="el_method">getShortenShareUrl(Integer)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="21" alt="21"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">8</td><td class="ctr2" id="i0">8</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="ShareUrlInfoService.java.html#L27" class="el_method">lambda$getShortenShareUrl$0()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="28" height="10" title="5" alt="5"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.service/ShareUrlInfoService.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.service/ShareUrlInfoService.java.html
    deleted file mode 100644
    index 28614087..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.service/ShareUrlInfoService.java.html
    +++ /dev/null
    @@ -1,37 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ShareUrlInfoService.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.share.service</a> &gt; <span class="el_source">ShareUrlInfoService.java</span></div><h1>ShareUrlInfoService.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.share.service;
    -
    -import com.softeer.backend.fo_domain.share.dto.ShareUrlInfoResponseDto;
    -import com.softeer.backend.fo_domain.share.exception.ShareInfoException;
    -import com.softeer.backend.fo_domain.share.repository.ShareUrlInfoRepository;
    -import com.softeer.backend.global.common.code.status.ErrorStatus;
    -import lombok.RequiredArgsConstructor;
    -import org.springframework.stereotype.Service;
    -
    -@Service
    -@RequiredArgsConstructor
    -public class ShareUrlInfoService {
    -    public static final String NON_USER_SHARE_URL = &quot;https://softeer.site&quot;;
    -    public static final String BASE_URL = &quot;https://softeer.site/share/&quot;;
    -
    -    private final ShareUrlInfoRepository shareUrlInfoRepository;
    -
    -    public ShareUrlInfoResponseDto getShortenShareUrl(Integer userId) {
    -<span class="nc bnc" id="L19" title="All 2 branches missed.">        if (userId == null) {</span>
    -            // 로그인하지 않은 사용자
    -<span class="nc" id="L21">            return ShareUrlInfoResponseDto.builder()</span>
    -<span class="nc" id="L22">                    .shareUrl(NON_USER_SHARE_URL)</span>
    -<span class="nc" id="L23">                    .build();</span>
    -        } else {
    -            // 로그인한 사용자
    -<span class="nc" id="L26">            String shareCode = shareUrlInfoRepository.findShareUrlByUserId(userId).orElseThrow(</span>
    -<span class="nc" id="L27">                    () -&gt; new ShareInfoException(ErrorStatus._NOT_FOUND)</span>
    -            );
    -
    -            // DB에 이미 생성된 단축 url 코드 반환
    -<span class="nc" id="L31">            return ShareUrlInfoResponseDto.builder()</span>
    -<span class="nc" id="L32">                    .shareUrl(BASE_URL + shareCode)</span>
    -<span class="nc" id="L33">                    .build();</span>
    -        }
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.service/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.service/index.html
    deleted file mode 100644
    index f7cac8e9..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.service/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.share.service</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.share.service</span></div><h1>com.softeer.backend.fo_domain.share.service</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">26 of 26</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">9</td><td class="ctr2">9</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="ShareUrlInfoService.html" class="el_class">ShareUrlInfoService</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="26" alt="26"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">9</td><td class="ctr2" id="i0">9</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.service/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.service/index.source.html
    deleted file mode 100644
    index f799b1cd..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.service/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.share.service</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.share.service</span></div><h1>com.softeer.backend.fo_domain.share.service</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">26 of 26</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">9</td><td class="ctr2">9</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="ShareUrlInfoService.java.html" class="el_source">ShareUrlInfoService.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="26" alt="26"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">9</td><td class="ctr2" id="i0">9</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/RedisVerificationPrefix.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/RedisVerificationPrefix.html
    deleted file mode 100644
    index 12d8342d..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/RedisVerificationPrefix.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>RedisVerificationPrefix</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.user.constatnt</a> &gt; <span class="el_class">RedisVerificationPrefix</span></div><h1>RedisVerificationPrefix</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">32 of 32</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">7</td><td class="ctr2">7</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="RedisVerificationPrefix.java.html#L5" class="el_method">static {...}</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="24" alt="24"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">4</td><td class="ctr2" id="i0">4</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="RedisVerificationPrefix.java.html#L13" class="el_method">RedisVerificationPrefix(String, int, String)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="40" height="10" title="8" alt="8"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">3</td><td class="ctr2" id="i1">3</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/RedisVerificationPrefix.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/RedisVerificationPrefix.java.html
    deleted file mode 100644
    index b26c3c80..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/RedisVerificationPrefix.java.html
    +++ /dev/null
    @@ -1,17 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>RedisVerificationPrefix.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.user.constatnt</a> &gt; <span class="el_source">RedisVerificationPrefix.java</span></div><h1>RedisVerificationPrefix.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.user.constatnt;
    -
    -import lombok.Getter;
    -
    -<span class="nc" id="L5">@Getter</span>
    -public enum RedisVerificationPrefix {
    -<span class="nc" id="L7">    VERIFICATION_CODE(&quot;VERIFICATION_CODE:&quot;), // 인증코드의 Redis key prefix</span>
    -<span class="nc" id="L8">    VERIFICATION_ISSUE_COUNT(&quot;VERIFICATION_ISSUE_COUNT:&quot;), // 인증코드 발급 횟수의 Redis key prefix</span>
    -<span class="nc" id="L9">    VERIFICATION_ATTEMPTS(&quot;VERIFICATION_ATTEMPTS:&quot;); // 인증코드 시도 횟수의 Redis key prefix</span>
    -
    -    private final String prefix;
    -
    -<span class="nc" id="L13">    RedisVerificationPrefix(String prefix) {</span>
    -<span class="nc" id="L14">        this.prefix = prefix;</span>
    -<span class="nc" id="L15">    }</span>
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/VerificationProperty.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/VerificationProperty.html
    deleted file mode 100644
    index bfac80d4..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/VerificationProperty.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>VerificationProperty</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.user.constatnt</a> &gt; <span class="el_class">VerificationProperty</span></div><h1>VerificationProperty</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">42 of 42</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">8</td><td class="ctr2">8</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="VerificationProperty.java.html#L6" class="el_method">static {...}</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="34" alt="34"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">5</td><td class="ctr2" id="i0">5</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="VerificationProperty.java.html#L16" class="el_method">VerificationProperty(String, int, int)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="28" height="10" title="8" alt="8"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">3</td><td class="ctr2" id="i1">3</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/VerificationProperty.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/VerificationProperty.java.html
    deleted file mode 100644
    index 24881b4c..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/VerificationProperty.java.html
    +++ /dev/null
    @@ -1,21 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>VerificationProperty.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.user.constatnt</a> &gt; <span class="el_source">VerificationProperty.java</span></div><h1>VerificationProperty.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.user.constatnt;
    -
    -import lombok.Getter;
    -import lombok.extern.slf4j.Slf4j;
    -
    -<span class="nc" id="L6">@Slf4j</span>
    -@Getter
    -public enum VerificationProperty {
    -<span class="nc" id="L9">    TIME_LIMIT(300), // 인증코드 유효시간(단위: sec)</span>
    -<span class="nc" id="L10">    CODE_LENGTH(6), // 인증코드의 길이</span>
    -<span class="nc" id="L11">    MAX_ATTEMPTS(3), // 인증코드의 인증 제한 횟수</span>
    -<span class="nc" id="L12">    CODE_ISSUE_ATTEMPTS(5); // 인증코드 발급 제한 횟수</span>
    -
    -    private final int value;
    -
    -<span class="nc" id="L16">    VerificationProperty(int value) {</span>
    -<span class="nc" id="L17">        this.value = value;</span>
    -<span class="nc" id="L18">    }</span>
    -
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/index.html
    deleted file mode 100644
    index 8f6afdf2..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.user.constatnt</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.user.constatnt</span></div><h1>com.softeer.backend.fo_domain.user.constatnt</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">74 of 74</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">15</td><td class="ctr2">15</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="VerificationProperty.html" class="el_class">VerificationProperty</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="42" alt="42"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">8</td><td class="ctr2" id="i0">8</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="RedisVerificationPrefix.html" class="el_class">RedisVerificationPrefix</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="91" height="10" title="32" alt="32"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">2</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h1">7</td><td class="ctr2" id="i1">7</td><td class="ctr1" id="j1">2</td><td class="ctr2" id="k1">2</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/index.source.html
    deleted file mode 100644
    index 1f135248..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.user.constatnt</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.user.constatnt</span></div><h1>com.softeer.backend.fo_domain.user.constatnt</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">74 of 74</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">15</td><td class="ctr2">15</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="VerificationProperty.java.html" class="el_source">VerificationProperty.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="42" alt="42"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">8</td><td class="ctr2" id="i0">8</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="RedisVerificationPrefix.java.html" class="el_source">RedisVerificationPrefix.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="91" height="10" title="32" alt="32"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">2</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h1">7</td><td class="ctr2" id="i1">7</td><td class="ctr1" id="j1">2</td><td class="ctr2" id="k1">2</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/LoginController.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/LoginController.html
    deleted file mode 100644
    index cae4d81f..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/LoginController.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>LoginController</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.user.controller</a> &gt; <span class="el_class">LoginController</span></div><h1>LoginController</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">9 of 9</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="LoginController.java.html#L20" class="el_method">handleLogin(LoginRequestDto, String)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="9" alt="9"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/LoginController.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/LoginController.java.html
    deleted file mode 100644
    index 88dd481a..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/LoginController.java.html
    +++ /dev/null
    @@ -1,26 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>LoginController.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.user.controller</a> &gt; <span class="el_source">LoginController.java</span></div><h1>LoginController.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.user.controller;
    -
    -import com.softeer.backend.fo_domain.user.dto.LoginRequestDto;
    -import com.softeer.backend.global.common.dto.JwtTokenResponseDto;
    -import com.softeer.backend.fo_domain.user.service.LoginService;
    -import com.softeer.backend.global.common.response.ResponseDto;
    -import jakarta.validation.Valid;
    -import lombok.RequiredArgsConstructor;
    -import org.springframework.web.bind.annotation.*;
    -
    -@RestController
    -@RequiredArgsConstructor
    -public class LoginController {
    -
    -    private final LoginService loginService;
    -
    -    @PostMapping(&quot;/login&quot;)
    -    ResponseDto&lt;JwtTokenResponseDto&gt; handleLogin(@Valid @RequestBody LoginRequestDto loginRequestDto,
    -                                                 @RequestHeader(value = &quot;shareCode&quot;, required = false) String shareCode) {
    -<span class="nc" id="L20">        JwtTokenResponseDto jwtTokenResponseDto = loginService.handleLogin(loginRequestDto, shareCode);</span>
    -
    -<span class="nc" id="L22">        return ResponseDto.onSuccess(jwtTokenResponseDto);</span>
    -    }
    -
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/VerificationController.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/VerificationController.html
    deleted file mode 100644
    index d3546cef..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/VerificationController.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>VerificationController</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.user.controller</a> &gt; <span class="el_class">VerificationController</span></div><h1>VerificationController</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">27 of 27</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">6</td><td class="ctr2">6</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a1"><a href="VerificationController.java.html#L25" class="el_method">sendVerificationCode(VerificationCodeRequestDto)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="9" alt="9"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="VerificationController.java.html#L34" class="el_method">sendVerificationCodeTest(VerificationCodeRequestDto)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="9" alt="9"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="VerificationController.java.html#L43" class="el_method">confirmVerificationCode(ConfirmCodeRequestDto)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="9" alt="9"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">2</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/VerificationController.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/VerificationController.java.html
    deleted file mode 100644
    index 0ee526c4..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/VerificationController.java.html
    +++ /dev/null
    @@ -1,48 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>VerificationController.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.user.controller</a> &gt; <span class="el_source">VerificationController.java</span></div><h1>VerificationController.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.user.controller;
    -
    -import com.softeer.backend.fo_domain.user.dto.verification.ConfirmCodeRequestDto;
    -import com.softeer.backend.fo_domain.user.dto.verification.VerificationCodeRequestDto;
    -import com.softeer.backend.fo_domain.user.dto.verification.VerificationCodeResponseDto;
    -import com.softeer.backend.fo_domain.user.dto.verification.VerificationCodeTestResponseDto;
    -import com.softeer.backend.fo_domain.user.service.VerificationService;
    -import com.softeer.backend.global.common.response.ResponseDto;
    -import jakarta.validation.Valid;
    -import lombok.RequiredArgsConstructor;
    -import org.springframework.web.bind.annotation.PostMapping;
    -import org.springframework.web.bind.annotation.RequestBody;
    -import org.springframework.web.bind.annotation.RequestMapping;
    -import org.springframework.web.bind.annotation.RestController;
    -
    -@RestController
    -@RequiredArgsConstructor
    -@RequestMapping(&quot;/verification&quot;)
    -public class VerificationController {
    -    private final VerificationService verificationService;
    -
    -    @PostMapping(&quot;/send&quot;)
    -    public ResponseDto&lt;VerificationCodeResponseDto&gt; sendVerificationCode(@Valid @RequestBody VerificationCodeRequestDto verificationCodeRequestDto) {
    -
    -<span class="nc" id="L25">        VerificationCodeResponseDto response = verificationService.sendVerificationCode(verificationCodeRequestDto.getPhoneNumber());</span>
    -
    -<span class="nc" id="L27">        return ResponseDto.onSuccess(response);</span>
    -
    -    }
    -
    -    @PostMapping(&quot;/send/test&quot;)
    -    public ResponseDto&lt;VerificationCodeTestResponseDto&gt; sendVerificationCodeTest(@Valid @RequestBody VerificationCodeRequestDto verificationCodeRequestDto) {
    -
    -<span class="nc" id="L34">        VerificationCodeTestResponseDto response = verificationService.sendVerificationCodeTest(verificationCodeRequestDto.getPhoneNumber());</span>
    -
    -<span class="nc" id="L36">        return ResponseDto.onSuccess(response);</span>
    -
    -    }
    -
    -    @PostMapping(&quot;/confirm&quot;)
    -    public ResponseDto&lt;Void&gt; confirmVerificationCode(@Valid @RequestBody ConfirmCodeRequestDto confirmCodeRequestDto) {
    -
    -<span class="nc" id="L43">        verificationService.confirmVerificationCode(confirmCodeRequestDto.getPhoneNumber(), confirmCodeRequestDto.getVerificationCode());</span>
    -
    -<span class="nc" id="L45">        return ResponseDto.onSuccess();</span>
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/index.html
    deleted file mode 100644
    index 86c06551..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.user.controller</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.user.controller</span></div><h1>com.softeer.backend.fo_domain.user.controller</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">36 of 36</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">8</td><td class="ctr2">8</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="VerificationController.html" class="el_class">VerificationController</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="27" alt="27"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">6</td><td class="ctr2" id="i0">6</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k0">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="LoginController.html" class="el_class">LoginController</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="40" height="10" title="9" alt="9"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/index.source.html
    deleted file mode 100644
    index 6907c074..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.user.controller</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.user.controller</span></div><h1>com.softeer.backend.fo_domain.user.controller</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">36 of 36</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">8</td><td class="ctr2">8</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="VerificationController.java.html" class="el_source">VerificationController.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="27" alt="27"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">6</td><td class="ctr2" id="i0">6</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k0">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="LoginController.java.html" class="el_source">LoginController.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="40" height="10" title="9" alt="9"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.exception/UserException.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.exception/UserException.html
    deleted file mode 100644
    index 4a6c72c1..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.exception/UserException.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>UserException</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.user.exception</a> &gt; <span class="el_class">UserException</span></div><h1>UserException</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="UserException.java.html#L9" class="el_method">UserException(BaseErrorCode)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.exception/UserException.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.exception/UserException.java.html
    deleted file mode 100644
    index e2731eaa..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.exception/UserException.java.html
    +++ /dev/null
    @@ -1,12 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>UserException.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.user.exception</a> &gt; <span class="el_source">UserException.java</span></div><h1>UserException.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.user.exception;
    -
    -import com.softeer.backend.global.common.code.BaseErrorCode;
    -import com.softeer.backend.global.common.exception.GeneralException;
    -
    -public class UserException extends GeneralException {
    -
    -    public UserException(BaseErrorCode code) {
    -<span class="nc" id="L9">        super(code);</span>
    -<span class="nc" id="L10">    }</span>
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.exception/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.exception/index.html
    deleted file mode 100644
    index 7842f078..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.exception/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.user.exception</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.user.exception</span></div><h1>com.softeer.backend.fo_domain.user.exception</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="UserException.html" class="el_class">UserException</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.exception/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.exception/index.source.html
    deleted file mode 100644
    index 7c2fe46b..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.exception/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.user.exception</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.user.exception</span></div><h1>com.softeer.backend.fo_domain.user.exception</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="UserException.java.html" class="el_source">UserException.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.properties/SmsProperties.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.properties/SmsProperties.html
    deleted file mode 100644
    index 56ec2bea..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.properties/SmsProperties.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>SmsProperties</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.user.properties</a> &gt; <span class="el_class">SmsProperties</span></div><h1>SmsProperties</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">15 of 15</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">6</td><td class="ctr2">6</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="SmsProperties.java.html#L19" class="el_method">SmsProperties(String, String, String, String)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="15" alt="15"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">6</td><td class="ctr2" id="i0">6</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.properties/SmsProperties.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.properties/SmsProperties.java.html
    deleted file mode 100644
    index a6b61138..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.properties/SmsProperties.java.html
    +++ /dev/null
    @@ -1,26 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>SmsProperties.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.user.properties</a> &gt; <span class="el_source">SmsProperties.java</span></div><h1>SmsProperties.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.user.properties;
    -
    -import lombok.Getter;
    -import org.springframework.boot.context.properties.ConfigurationProperties;
    -import org.springframework.boot.context.properties.bind.ConstructorBinding;
    -
    -/**
    - * CoolSms Api 속성 관리 클래스
    - */
    -@Getter
    -@ConfigurationProperties(&quot;coolsms.api&quot;)
    -public class SmsProperties {
    -    private final String key;
    -    private final String secret;
    -    private final String senderNumber;
    -    private final String url;
    -
    -    @ConstructorBinding
    -<span class="nc" id="L19">    public SmsProperties(String key, String secret, String senderNumber, String url) {</span>
    -<span class="nc" id="L20">        this.key = key;</span>
    -<span class="nc" id="L21">        this.secret = secret;</span>
    -<span class="nc" id="L22">        this.senderNumber = senderNumber;</span>
    -<span class="nc" id="L23">        this.url = url;</span>
    -<span class="nc" id="L24">    }</span>
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.properties/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.properties/index.html
    deleted file mode 100644
    index b1bf7467..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.properties/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.user.properties</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.user.properties</span></div><h1>com.softeer.backend.fo_domain.user.properties</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">15 of 15</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">6</td><td class="ctr2">6</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="SmsProperties.html" class="el_class">SmsProperties</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="15" alt="15"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">6</td><td class="ctr2" id="i0">6</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.properties/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.properties/index.source.html
    deleted file mode 100644
    index 7e88c385..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.properties/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.user.properties</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.user.properties</span></div><h1>com.softeer.backend.fo_domain.user.properties</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">15 of 15</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">6</td><td class="ctr2">6</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="SmsProperties.java.html" class="el_source">SmsProperties.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="15" alt="15"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">6</td><td class="ctr2" id="i0">6</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/LoginService.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/LoginService.html
    deleted file mode 100644
    index b3a44c03..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/LoginService.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>LoginService</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.user.service</a> &gt; <span class="el_class">LoginService</span></div><h1>LoginService</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">181 of 181</td><td class="ctr2">0%</td><td class="bar">10 of 10</td><td class="ctr2">0%</td><td class="ctr1">11</td><td class="ctr2">11</td><td class="ctr1">54</td><td class="ctr2">54</td><td class="ctr1">6</td><td class="ctr2">6</td></tr></tfoot><tbody><tr><td id="a3"><a href="LoginService.java.html#L46" class="el_method">handleLogin(LoginRequestDto, String)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="108" alt="108"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="8" alt="8"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">5</td><td class="ctr2" id="g0">5</td><td class="ctr1" id="h0">29</td><td class="ctr2" id="i0">29</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="LoginService.java.html#L117" class="el_method">createShareUrlInfo(Integer)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="30" height="10" title="27" alt="27"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="30" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f1">2</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h1">9</td><td class="ctr2" id="i1">9</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="LoginService.java.html#L133" class="el_method">createDrawParticipationInfo(Integer)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="22" height="10" title="20" alt="20"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">8</td><td class="ctr2" id="i2">8</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a1"><a href="LoginService.java.html#L107" class="el_method">createShareInfo(Integer)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="18" height="10" title="17" alt="17"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">7</td><td class="ctr2" id="i3">7</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a4"><a href="LoginService.java.html#L81" class="el_method">lambda$handleLogin$0()</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="5" height="10" title="5" alt="5"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">1</td><td class="ctr2" id="i4">1</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a5"><a href="LoginService.java.html#L25" class="el_method">static {...}</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="4" height="10" title="4" alt="4"/></td><td class="ctr2" id="c5">0%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">1</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">1</td><td class="ctr2" id="i5">1</td><td class="ctr1" id="j5">1</td><td class="ctr2" id="k5">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/LoginService.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/LoginService.java.html
    deleted file mode 100644
    index f6e35196..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/LoginService.java.html
    +++ /dev/null
    @@ -1,143 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>LoginService.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.user.service</a> &gt; <span class="el_source">LoginService.java</span></div><h1>LoginService.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.user.service;
    -
    -import com.softeer.backend.fo_domain.draw.domain.DrawParticipationInfo;
    -import com.softeer.backend.fo_domain.draw.repository.DrawParticipationInfoRepository;
    -import com.softeer.backend.fo_domain.share.domain.ShareInfo;
    -import com.softeer.backend.fo_domain.share.domain.ShareUrlInfo;
    -import com.softeer.backend.fo_domain.share.exception.ShareUrlInfoException;
    -import com.softeer.backend.fo_domain.share.repository.ShareInfoRepository;
    -import com.softeer.backend.fo_domain.share.repository.ShareUrlInfoRepository;
    -import com.softeer.backend.fo_domain.user.domain.User;
    -import com.softeer.backend.fo_domain.user.dto.LoginRequestDto;
    -import com.softeer.backend.global.common.dto.JwtTokenResponseDto;
    -import com.softeer.backend.fo_domain.user.exception.UserException;
    -import com.softeer.backend.fo_domain.user.repository.UserRepository;
    -import com.softeer.backend.global.common.code.status.ErrorStatus;
    -import com.softeer.backend.global.common.constant.RoleType;
    -import com.softeer.backend.global.common.dto.JwtClaimsDto;
    -import com.softeer.backend.global.util.JwtUtil;
    -import com.softeer.backend.global.util.RandomCodeUtil;
    -import lombok.RequiredArgsConstructor;
    -import lombok.extern.slf4j.Slf4j;
    -import org.springframework.stereotype.Service;
    -import org.springframework.transaction.annotation.Transactional;
    -
    -<span class="nc" id="L25">@Slf4j</span>
    -@Service
    -@RequiredArgsConstructor
    -public class LoginService {
    -    private final UserRepository userRepository;
    -    private final ShareInfoRepository shareInfoRepository;
    -    private final ShareUrlInfoRepository shareUrlInfoRepository;
    -    private final DrawParticipationInfoRepository drawParticipationInfoRepository;
    -    private final JwtUtil jwtUtil;
    -
    -    /**
    -     * 1. Login 정보애서 인증 번호가 인증되지 않은 경우, 예외가 발생한다.
    -     * 2. 전화번호가 User DB에 등록되어 있지 않은 경우, DB에 User를 등록한다.
    -     * 2-1. 이 때 공유 정보, 공유 url 생성, 추첨 이벤트 참여 정보를 생성한다.
    -     * 2-2. 만약 공유 url을 통해 인증한 사용자라면 공유한 사용자의 추첨 기회를 추가해준다.
    -     * 3. 전화번호가 이미 User DB에 등록되어 있는 경우, 전화번호로 User 객체를 조회한다.
    -     * 4. User 객체의 id를 얻은 후에, access &amp; refresh token을 client에게 전달한다.
    -     */
    -    @Transactional
    -    public JwtTokenResponseDto handleLogin(LoginRequestDto loginRequestDto, String shareCode) {
    -        // 인증번호가 인증 되지 않은 경우, 예외 발생
    -<span class="nc bnc" id="L46" title="All 2 branches missed.">        if (!loginRequestDto.getHasCodeVerified()) {</span>
    -<span class="nc" id="L47">            log.error(&quot;hasCodeVerified is false in loginRequest.&quot;);</span>
    -<span class="nc" id="L48">            throw new UserException(ErrorStatus._AUTH_CODE_NOT_VERIFIED);</span>
    -        }
    -
    -        int userId;
    -
    -        // 전화번호가 User DB에 등록되어 있지 않은 경우
    -        // User를 DB에 등록
    -        // 추첨 이벤트 참여 정보 생성
    -        // 공유 정보 생성(초대한 친구 수, 남은 추첨 횟수)
    -        // 공유 url 생성
    -        // 만약 공유 url을 통해 새로 인증한 사용자라면 공유자에게 추첨 기회 1회 추가
    -<span class="nc bnc" id="L59" title="All 2 branches missed.">        if (!userRepository.existsByPhoneNumber(loginRequestDto.getPhoneNumber())) {</span>
    -<span class="nc" id="L60">            User user = User.builder()</span>
    -<span class="nc" id="L61">                    .name(loginRequestDto.getName())</span>
    -<span class="nc" id="L62">                    .phoneNumber(loginRequestDto.getPhoneNumber())</span>
    -<span class="nc" id="L63">                    .privacyConsent(loginRequestDto.getPrivacyConsent())</span>
    -<span class="nc" id="L64">                    .marketingConsent(loginRequestDto.getMarketingConsent())</span>
    -<span class="nc" id="L65">                    .build();</span>
    -
    -<span class="nc" id="L67">            User registeredUser = userRepository.save(user);</span>
    -<span class="nc" id="L68">            userId = registeredUser.getId();</span>
    -
    -<span class="nc" id="L70">            createDrawParticipationInfo(userId); // 추첨 이벤트 참여 정보 생성</span>
    -<span class="nc" id="L71">            createShareInfo(userId); // 공유 정보 생성(초대한 친구 수, 남은 추첨 횟수)</span>
    -<span class="nc" id="L72">            createShareUrlInfo(userId); // 공유 url 생성</span>
    -
    -            // 공유받은 url을 이용해 인증한다면
    -            // 공유한 사람 추첨 기회 추가
    -            // 공유한 사람의 &quot;내가 초대한 친구 수&quot; 추가
    -            // 공유받은 사람은 이미 공유 url로 참여했다고 표시해주기
    -<span class="nc bnc" id="L78" title="All 2 branches missed.">            if (shareCode != null) {</span>
    -                // 공유한 사람의 아이디
    -<span class="nc" id="L80">                Integer shareUserId = shareUrlInfoRepository.findUserIdByShareUrl(shareCode)</span>
    -<span class="nc" id="L81">                        .orElseThrow(() -&gt; new ShareUrlInfoException(ErrorStatus._NOT_FOUND));</span>
    -
    -                // 공유한 사람 추첨 기회 추가
    -<span class="nc" id="L84">                shareInfoRepository.increaseInvitedNumAndRemainDrawCount(shareUserId);</span>
    -            }
    -<span class="nc" id="L86">        }</span>
    -        // 전화번호가 이미 User DB에 등록되어 있는 경우
    -        // 전화번호로 User 객체 조회
    -        else {
    -<span class="nc" id="L90">            User user = userRepository.findByPhoneNumber(loginRequestDto.getPhoneNumber());</span>
    -
    -<span class="nc bnc" id="L92" title="All 2 branches missed.">            if(!user.getName().equals(loginRequestDto.getName()))</span>
    -<span class="nc" id="L93">                throw new UserException(ErrorStatus._AUTH_USERNAME_NOT_MATCH);</span>
    -
    -<span class="nc" id="L95">            user.setMarketingConsent(loginRequestDto.getMarketingConsent());</span>
    -
    -<span class="nc" id="L97">            userId = user.getId();</span>
    -        }
    -
    -<span class="nc" id="L100">        return jwtUtil.createServiceToken(JwtClaimsDto.builder()</span>
    -<span class="nc" id="L101">                .id(userId)</span>
    -<span class="nc" id="L102">                .roleType(RoleType.ROLE_USER)</span>
    -<span class="nc" id="L103">                .build());</span>
    -    }
    -
    -    private void createShareInfo(Integer userId) {
    -<span class="nc" id="L107">        ShareInfo shareInfo = ShareInfo.builder()</span>
    -<span class="nc" id="L108">                .userId(userId)</span>
    -<span class="nc" id="L109">                .invitedNum(0)</span>
    -<span class="nc" id="L110">                .remainDrawCount(1)</span>
    -<span class="nc" id="L111">                .build();</span>
    -
    -<span class="nc" id="L113">        shareInfoRepository.save(shareInfo);</span>
    -<span class="nc" id="L114">    }</span>
    -
    -    private void createShareUrlInfo(Integer userId) {
    -<span class="nc" id="L117">        RandomCodeUtil randomCodeUtil = new RandomCodeUtil();</span>
    -        String shareCode;
    -
    -        do {
    -<span class="nc" id="L121">            shareCode = randomCodeUtil.generateRandomCode(4);</span>
    -<span class="nc bnc" id="L122" title="All 2 branches missed.">        } while (shareUrlInfoRepository.findUserIdByShareUrl(shareCode).isPresent());</span>
    -
    -<span class="nc" id="L124">        ShareUrlInfo shareUrlInfo = ShareUrlInfo.builder()</span>
    -<span class="nc" id="L125">                .userId(userId)</span>
    -<span class="nc" id="L126">                .shareUrl(shareCode)</span>
    -<span class="nc" id="L127">                .build();</span>
    -
    -<span class="nc" id="L129">        shareUrlInfoRepository.save(shareUrlInfo);</span>
    -<span class="nc" id="L130">    }</span>
    -
    -    private void createDrawParticipationInfo(Integer userId) {
    -<span class="nc" id="L133">        DrawParticipationInfo drawParticipationInfo = DrawParticipationInfo.builder()</span>
    -<span class="nc" id="L134">                .userId(userId)</span>
    -<span class="nc" id="L135">                .drawWinningCount(0)</span>
    -<span class="nc" id="L136">                .drawLosingCount(0)</span>
    -<span class="nc" id="L137">                .drawAttendanceCount(1)</span>
    -<span class="nc" id="L138">                .build();</span>
    -
    -<span class="nc" id="L140">        drawParticipationInfoRepository.save(drawParticipationInfo);</span>
    -<span class="nc" id="L141">    }</span>
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/VerificationService.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/VerificationService.html
    deleted file mode 100644
    index 31fcf5fd..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/VerificationService.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>VerificationService</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.user.service</a> &gt; <span class="el_class">VerificationService</span></div><h1>VerificationService</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">304 of 304</td><td class="ctr2">0%</td><td class="bar">16 of 16</td><td class="ctr2">0%</td><td class="ctr1">13</td><td class="ctr2">13</td><td class="ctr1">64</td><td class="ctr2">64</td><td class="ctr1">5</td><td class="ctr2">5</td></tr></tfoot><tbody><tr><td id="a1"><a href="VerificationService.java.html#L46" class="el_method">sendVerificationCode(String)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="104" alt="104"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="60" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f1">3</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h0">21</td><td class="ctr2" id="i0">21</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="VerificationService.java.html#L124" class="el_method">confirmVerificationCode(String, String)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="111" height="10" title="97" alt="97"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="8" alt="8"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f0">5</td><td class="ctr2" id="g0">5</td><td class="ctr1" id="h1">19</td><td class="ctr2" id="i1">19</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="VerificationService.java.html#L86" class="el_method">sendVerificationCodeTest(String)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="88" height="10" title="77" alt="77"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"><img src="../jacoco-resources/redbar.gif" width="60" height="10" title="4" alt="4"/></td><td class="ctr2" id="e2">0%</td><td class="ctr1" id="f2">3</td><td class="ctr2" id="g2">3</td><td class="ctr1" id="h2">16</td><td class="ctr2" id="i2">16</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a4"><a href="VerificationService.java.html#L31" class="el_method">VerificationService(SmsProperties, StringRedisUtil, RandomCodeUtil)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="25" height="10" title="22" alt="22"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">7</td><td class="ctr2" id="i3">7</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a3"><a href="VerificationService.java.html#L22" class="el_method">static {...}</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="4" height="10" title="4" alt="4"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">1</td><td class="ctr2" id="i4">1</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/VerificationService.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/VerificationService.java.html
    deleted file mode 100644
    index d239094f..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/VerificationService.java.html
    +++ /dev/null
    @@ -1,158 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>VerificationService.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.user.service</a> &gt; <span class="el_source">VerificationService.java</span></div><h1>VerificationService.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.user.service;
    -
    -import com.softeer.backend.fo_domain.user.constatnt.RedisVerificationPrefix;
    -import com.softeer.backend.fo_domain.user.constatnt.VerificationProperty;
    -import com.softeer.backend.fo_domain.user.dto.verification.VerificationCodeResponseDto;
    -import com.softeer.backend.fo_domain.user.dto.verification.VerificationCodeTestResponseDto;
    -import com.softeer.backend.fo_domain.user.exception.UserException;
    -import com.softeer.backend.fo_domain.user.properties.SmsProperties;
    -import com.softeer.backend.global.common.code.status.ErrorStatus;
    -import com.softeer.backend.global.util.RandomCodeUtil;
    -import com.softeer.backend.global.util.StringRedisUtil;
    -import lombok.extern.slf4j.Slf4j;
    -import net.nurigo.sdk.NurigoApp;
    -import net.nurigo.sdk.message.model.Message;
    -import net.nurigo.sdk.message.request.SingleMessageSendingRequest;
    -import net.nurigo.sdk.message.response.SingleMessageSentResponse;
    -import net.nurigo.sdk.message.service.DefaultMessageService;
    -import org.springframework.stereotype.Service;
    -
    -import java.time.LocalDateTime;
    -
    -<span class="nc" id="L22">@Slf4j</span>
    -@Service
    -public class VerificationService {
    -    private final DefaultMessageService messageService;
    -    private final StringRedisUtil stringRedisUtil;
    -    private final SmsProperties smsProperties;
    -    private final RandomCodeUtil randomCodeUtil;
    -
    -    public VerificationService(SmsProperties smsProperties, StringRedisUtil stringRedisUtil,
    -<span class="nc" id="L31">                               RandomCodeUtil randomCodeUtil) {</span>
    -<span class="nc" id="L32">        this.messageService = NurigoApp.INSTANCE.initialize(</span>
    -<span class="nc" id="L33">                smsProperties.getKey(), smsProperties.getSecret(), smsProperties.getUrl());</span>
    -<span class="nc" id="L34">        this.smsProperties = smsProperties;</span>
    -<span class="nc" id="L35">        this.stringRedisUtil = stringRedisUtil;</span>
    -<span class="nc" id="L36">        this.randomCodeUtil = randomCodeUtil;</span>
    -<span class="nc" id="L37">    }</span>
    -
    -    /**
    -     * 1. CoolSms를 사용하여 인증코드를 발급하고 인증 제한시간을 응답에 담아 반환한다.
    -     * 2. 인증 코드 발급 제한 횟수를 초과하면 내일 다시 인증하라는 응답을 전송한다.
    -     */
    -    public VerificationCodeResponseDto sendVerificationCode(String phoneNumber) {
    -
    -        // 인증코드 발급이 처음이면 redis에 발급 횟수를 저장(유효 기간: 밤 12시 전까지)
    -<span class="nc bnc" id="L46" title="All 2 branches missed.">        if (!stringRedisUtil.hasKey(RedisVerificationPrefix.VERIFICATION_ISSUE_COUNT.getPrefix() + phoneNumber)) {</span>
    -<span class="nc" id="L47">            stringRedisUtil.setDataExpireAt(RedisVerificationPrefix.VERIFICATION_ISSUE_COUNT.getPrefix() + phoneNumber,</span>
    -<span class="nc" id="L48">                    String.valueOf(1), LocalDateTime.now().toLocalDate().atStartOfDay().plusDays(1));</span>
    -
    -        }
    -        // 인증코드 발급 제한 횟수를 초과하면 예외 발생
    -        else {
    -<span class="nc" id="L53">            long issueCount = stringRedisUtil.incrementData(RedisVerificationPrefix.VERIFICATION_ISSUE_COUNT.getPrefix() + phoneNumber);</span>
    -<span class="nc bnc" id="L54" title="All 2 branches missed.">            if (issueCount &gt; VerificationProperty.CODE_ISSUE_ATTEMPTS.getValue()) {</span>
    -<span class="nc" id="L55">                log.error(&quot;Exceeded the number of code issuance attempts.&quot;);</span>
    -<span class="nc" id="L56">                throw new UserException(ErrorStatus._AUTH_CODE_ISSUE_LIMIT_EXCEEDED);</span>
    -            }
    -        }
    -
    -        // 인증코드의 인증 횟수 삭제 (초기화 기능)
    -<span class="nc" id="L61">        stringRedisUtil.deleteData(RedisVerificationPrefix.VERIFICATION_ATTEMPTS.getPrefix() + phoneNumber);</span>
    -
    -<span class="nc" id="L63">        Message message = new Message();</span>
    -<span class="nc" id="L64">        message.setFrom(smsProperties.getSenderNumber());</span>
    -<span class="nc" id="L65">        message.setTo(phoneNumber);</span>
    -
    -<span class="nc" id="L67">        String verificationCode = randomCodeUtil.generateRandomCode(</span>
    -<span class="nc" id="L68">                VerificationProperty.CODE_LENGTH.getValue());</span>
    -<span class="nc" id="L69">        message.setText(&quot;[Hyundai] 본인 확인 인증번호는 (&quot; + verificationCode + &quot;) 입니다.&quot;);</span>
    -
    -<span class="nc" id="L71">        SingleMessageSentResponse response = this.messageService.sendOne(new SingleMessageSendingRequest(message));</span>
    -<span class="nc" id="L72">        log.info(&quot;Verification code sent to {} {}&quot;, phoneNumber, response);</span>
    -
    -        // 인증코드 저장(유효시간 설정)
    -<span class="nc" id="L75">        stringRedisUtil.setDataExpire(RedisVerificationPrefix.VERIFICATION_CODE.getPrefix() + phoneNumber, verificationCode,</span>
    -<span class="nc" id="L76">                VerificationProperty.TIME_LIMIT.getValue());</span>
    -
    -<span class="nc" id="L78">        return VerificationCodeResponseDto.builder()</span>
    -<span class="nc" id="L79">                .timeLimit(VerificationProperty.TIME_LIMIT.getValue())</span>
    -<span class="nc" id="L80">                .build();</span>
    -    }
    -
    -    public VerificationCodeTestResponseDto sendVerificationCodeTest(String phoneNumber) {
    -
    -        // 인증코드 발급이 처음이면 redis에 발급 횟수를 저장(유효 기간: 밤 12시 전까지)
    -<span class="nc bnc" id="L86" title="All 2 branches missed.">        if (!stringRedisUtil.hasKey(RedisVerificationPrefix.VERIFICATION_ISSUE_COUNT.getPrefix() + phoneNumber)) {</span>
    -<span class="nc" id="L87">            stringRedisUtil.setDataExpireAt(RedisVerificationPrefix.VERIFICATION_ISSUE_COUNT.getPrefix() + phoneNumber,</span>
    -<span class="nc" id="L88">                    String.valueOf(1), LocalDateTime.now().toLocalDate().atStartOfDay().plusDays(1));</span>
    -
    -        }
    -        // 인증코드 발급 제한 횟수를 초과하면 예외 발생
    -        else {
    -<span class="nc" id="L93">            long issueCount = stringRedisUtil.incrementData(RedisVerificationPrefix.VERIFICATION_ISSUE_COUNT.getPrefix() + phoneNumber);</span>
    -<span class="nc bnc" id="L94" title="All 2 branches missed.">            if (issueCount &gt; VerificationProperty.CODE_ISSUE_ATTEMPTS.getValue()) {</span>
    -<span class="nc" id="L95">                log.error(&quot;Exceeded the number of code issuance attempts.&quot;);</span>
    -<span class="nc" id="L96">                throw new UserException(ErrorStatus._AUTH_CODE_ISSUE_LIMIT_EXCEEDED);</span>
    -            }
    -        }
    -
    -        // 인증코드의 인증 횟수 삭제 (초기화 기능)
    -<span class="nc" id="L101">        stringRedisUtil.deleteData(RedisVerificationPrefix.VERIFICATION_ATTEMPTS.getPrefix() + phoneNumber);</span>
    -
    -<span class="nc" id="L103">        String verificationCode = randomCodeUtil.generateRandomCode(</span>
    -<span class="nc" id="L104">                VerificationProperty.CODE_LENGTH.getValue());</span>
    -
    -        // 인증코드 저장(유효시간 설정)
    -<span class="nc" id="L107">        stringRedisUtil.setDataExpire(RedisVerificationPrefix.VERIFICATION_CODE.getPrefix() + phoneNumber, verificationCode,</span>
    -<span class="nc" id="L108">                VerificationProperty.TIME_LIMIT.getValue());</span>
    -
    -<span class="nc" id="L110">        return VerificationCodeTestResponseDto.builder()</span>
    -<span class="nc" id="L111">                .verificationCode(verificationCode)</span>
    -<span class="nc" id="L112">                .timeLimit(VerificationProperty.TIME_LIMIT.getValue())</span>
    -<span class="nc" id="L113">                .build();</span>
    -    }
    -
    -
    -    /**
    -     * 1. 인증 코드를 검증하여 Redis에 있는 인증코도와 같은지를 검사한다.
    -     * 2. 제한시간이 지났거나 인증코드 불일치, 혹은 인증 제한 횟수를 초과한 경우 예외를 던진다.
    -     */
    -    public void confirmVerificationCode(String phoneNumber, String verificationCode) {
    -
    -        // 인증코드의 인증 제한 횟수를 초과하면 예외 발생
    -<span class="nc bnc" id="L124" title="All 2 branches missed.">        if (stringRedisUtil.hasKey(RedisVerificationPrefix.VERIFICATION_ATTEMPTS.getPrefix() + phoneNumber)) {</span>
    -<span class="nc" id="L125">            long attemptCount = stringRedisUtil.incrementData(RedisVerificationPrefix.VERIFICATION_ATTEMPTS.getPrefix() + phoneNumber);</span>
    -<span class="nc bnc" id="L126" title="All 2 branches missed.">            if (attemptCount &gt; VerificationProperty.MAX_ATTEMPTS.getValue()) {</span>
    -<span class="nc" id="L127">                log.error(&quot;Verification code attempts exceeded.&quot;);</span>
    -<span class="nc" id="L128">                throw new UserException(ErrorStatus._AUTH_CODE_ATTEMPTS_EXCEEDED);</span>
    -            }
    -<span class="nc" id="L130">        }</span>
    -        // 인증코드의 인증 횟수 설정(유효 기간: 밤 12시 전까지)
    -        else {
    -<span class="nc" id="L133">            stringRedisUtil.setDataExpireAt(RedisVerificationPrefix.VERIFICATION_ATTEMPTS.getPrefix() + phoneNumber,</span>
    -<span class="nc" id="L134">                    String.valueOf(1), LocalDateTime.now().toLocalDate().atStartOfDay().plusDays(1));</span>
    -        }
    -
    -<span class="nc" id="L137">        String originalVerificationCode = stringRedisUtil.getData(RedisVerificationPrefix.VERIFICATION_CODE.getPrefix() + phoneNumber);</span>
    -
    -<span class="nc bnc" id="L139" title="All 2 branches missed.">        if (originalVerificationCode == null) {</span>
    -<span class="nc" id="L140">            log.error(&quot;Verification code has expired.&quot;);</span>
    -<span class="nc" id="L141">            throw new UserException(ErrorStatus._AUTH_CODE_NOT_EXIST);</span>
    -        }
    -
    -<span class="nc bnc" id="L144" title="All 2 branches missed.">        if (!originalVerificationCode.equals(verificationCode)) {</span>
    -<span class="nc" id="L145">            log.error(&quot;Verification code does not match.&quot;);</span>
    -<span class="nc" id="L146">            throw new UserException(ErrorStatus._AUTH_CODE_NOT_MATCH);</span>
    -        }
    -
    -        // 인증 성공
    -        // 인증 관련한 모든 데이터를 삭제
    -<span class="nc" id="L151">        stringRedisUtil.deleteData(RedisVerificationPrefix.VERIFICATION_ISSUE_COUNT.getPrefix() + phoneNumber);</span>
    -<span class="nc" id="L152">        stringRedisUtil.deleteData(RedisVerificationPrefix.VERIFICATION_ATTEMPTS.getPrefix() + phoneNumber);</span>
    -<span class="nc" id="L153">        stringRedisUtil.deleteData(RedisVerificationPrefix.VERIFICATION_CODE.getPrefix() + phoneNumber);</span>
    -
    -
    -<span class="nc" id="L156">    }</span>
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/index.html
    deleted file mode 100644
    index 1b4c4616..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.user.service</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.user.service</span></div><h1>com.softeer.backend.fo_domain.user.service</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">485 of 485</td><td class="ctr2">0%</td><td class="bar">26 of 26</td><td class="ctr2">0%</td><td class="ctr1">24</td><td class="ctr2">24</td><td class="ctr1">118</td><td class="ctr2">118</td><td class="ctr1">11</td><td class="ctr2">11</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="VerificationService.html" class="el_class">VerificationService</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="304" alt="304"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="16" alt="16"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">13</td><td class="ctr2" id="g0">13</td><td class="ctr1" id="h0">64</td><td class="ctr2" id="i0">64</td><td class="ctr1" id="j1">5</td><td class="ctr2" id="k1">5</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="LoginService.html" class="el_class">LoginService</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="71" height="10" title="181" alt="181"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="75" height="10" title="10" alt="10"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f1">11</td><td class="ctr2" id="g1">11</td><td class="ctr1" id="h1">54</td><td class="ctr2" id="i1">54</td><td class="ctr1" id="j0">6</td><td class="ctr2" id="k0">6</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/index.source.html
    deleted file mode 100644
    index 69c7bfca..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.user.service</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.user.service</span></div><h1>com.softeer.backend.fo_domain.user.service</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">485 of 485</td><td class="ctr2">0%</td><td class="bar">26 of 26</td><td class="ctr2">0%</td><td class="ctr1">24</td><td class="ctr2">24</td><td class="ctr1">118</td><td class="ctr2">118</td><td class="ctr1">11</td><td class="ctr2">11</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="VerificationService.java.html" class="el_source">VerificationService.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="304" alt="304"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="16" alt="16"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">13</td><td class="ctr2" id="g0">13</td><td class="ctr1" id="h0">64</td><td class="ctr2" id="i0">64</td><td class="ctr1" id="j1">5</td><td class="ctr2" id="k1">5</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="LoginService.java.html" class="el_source">LoginService.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="71" height="10" title="181" alt="181"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="75" height="10" title="10" alt="10"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f1">11</td><td class="ctr2" id="g1">11</td><td class="ctr1" id="h1">54</td><td class="ctr2" id="i1">54</td><td class="ctr1" id="j0">6</td><td class="ctr2" id="k0">6</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/AopForTransaction.html b/jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/AopForTransaction.html
    deleted file mode 100644
    index 9235e803..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/AopForTransaction.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>AopForTransaction</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.annotation.aop</a> &gt; <span class="el_class">AopForTransaction</span></div><h1>AopForTransaction</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">6 of 6</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="AopForTransaction.java.html#L12" class="el_method">AopForTransaction()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="3" alt="3"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">1</td><td class="ctr2" id="i0">1</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="AopForTransaction.java.html#L23" class="el_method">proceed(ProceedingJoinPoint)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="3" alt="3"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/AopForTransaction.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/AopForTransaction.java.html
    deleted file mode 100644
    index a9d21502..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/AopForTransaction.java.html
    +++ /dev/null
    @@ -1,26 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>AopForTransaction.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.annotation.aop</a> &gt; <span class="el_source">AopForTransaction.java</span></div><h1>AopForTransaction.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.annotation.aop;
    -
    -import org.aspectj.lang.ProceedingJoinPoint;
    -import org.springframework.stereotype.Component;
    -import org.springframework.transaction.annotation.Propagation;
    -import org.springframework.transaction.annotation.Transactional;
    -
    -/**
    - * 메서드의 transaction commit을 보장하기 위한 클래스
    - */
    -@Component
    -<span class="nc" id="L12">public class AopForTransaction {</span>
    -
    -    /**
    -     * 파라미터로 넘어온 메서드를 새로운 트랜잭션에서 실행하는 메서드
    -     *
    -     * @param joinPoint
    -     * @return 메서드의 반환값
    -     * @throws Throwable
    -     */
    -    @Transactional(propagation = Propagation.REQUIRES_NEW)
    -    public Object proceed(final ProceedingJoinPoint joinPoint) throws Throwable {
    -<span class="nc" id="L23">        return joinPoint.proceed();</span>
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/EventLockAop.html b/jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/EventLockAop.html
    deleted file mode 100644
    index dcc8bd82..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/EventLockAop.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>EventLockAop</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.annotation.aop</a> &gt; <span class="el_class">EventLockAop</span></div><h1>EventLockAop</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">77 of 77</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">18</td><td class="ctr2">18</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="EventLockAop.java.html#L34" class="el_method">lock(ProceedingJoinPoint)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="73" alt="73"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">17</td><td class="ctr2" id="i0">17</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="EventLockAop.java.html#L22" class="el_method">static {...}</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="6" height="10" title="4" alt="4"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/EventLockAop.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/EventLockAop.java.html
    deleted file mode 100644
    index b1f48d12..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/EventLockAop.java.html
    +++ /dev/null
    @@ -1,61 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>EventLockAop.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.annotation.aop</a> &gt; <span class="el_source">EventLockAop.java</span></div><h1>EventLockAop.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.annotation.aop;
    -
    -import com.softeer.backend.global.annotation.EventLock;
    -import com.softeer.backend.global.common.exception.EventLockException;
    -import com.softeer.backend.global.util.SpringELParser;
    -import lombok.RequiredArgsConstructor;
    -import lombok.extern.slf4j.Slf4j;
    -import org.aspectj.lang.ProceedingJoinPoint;
    -import org.aspectj.lang.annotation.Around;
    -import org.aspectj.lang.annotation.Aspect;
    -import org.aspectj.lang.reflect.MethodSignature;
    -import org.redisson.api.RLock;
    -import org.redisson.api.RedissonClient;
    -import org.springframework.stereotype.Component;
    -
    -import java.lang.reflect.Method;
    -
    -
    -/**
    - * 선착순, 추첨 이벤트 시에 동기화를 위한 redis lock를 설정하는 Aop 클래스
    - */
    -<span class="nc" id="L22">@Slf4j</span>
    -@Aspect
    -@Component
    -@RequiredArgsConstructor
    -public class EventLockAop {
    -    private static final String REDISSON_LOCK_PREFIX = &quot;LOCK:&quot;;
    -
    -    private final RedissonClient redissonClient;
    -    private final AopForTransaction aopForTransaction;
    -
    -    @Around(&quot;@annotation(com.softeer.backend.global.annotation.EventLock)&quot;)
    -    public Object lock(final ProceedingJoinPoint joinPoint) throws Throwable {
    -<span class="nc" id="L34">        MethodSignature signature = (MethodSignature) joinPoint.getSignature();</span>
    -<span class="nc" id="L35">        Method method = signature.getMethod();</span>
    -<span class="nc" id="L36">        EventLock eventLock = method.getAnnotation(EventLock.class);</span>
    -
    -<span class="nc" id="L38">        String key = REDISSON_LOCK_PREFIX + SpringELParser.getDynamicValue(signature.getParameterNames(), joinPoint.getArgs(), eventLock.key());</span>
    -<span class="nc" id="L39">        RLock rLock = redissonClient.getLock(key);</span>
    -
    -        try {
    -<span class="nc" id="L42">            boolean available = rLock.tryLock(eventLock.waitTime(), eventLock.leaseTime(), eventLock.timeUnit());</span>
    -<span class="nc bnc" id="L43" title="All 2 branches missed.">            if (!available) {</span>
    -<span class="nc" id="L44">                log.info(&quot;{} is locked&quot;, key);</span>
    -<span class="nc" id="L45">                throw new EventLockException(key);</span>
    -            }
    -
    -<span class="nc" id="L48">            return aopForTransaction.proceed(joinPoint);</span>
    -<span class="nc" id="L49">        } catch (InterruptedException e) {</span>
    -<span class="nc" id="L50">            log.info(&quot;Interrupted while waiting for lock, key: {}&quot;, key);</span>
    -<span class="nc" id="L51">            throw new EventLockException(key);</span>
    -        } finally {
    -            try {
    -<span class="nc" id="L54">                rLock.unlock();</span>
    -<span class="nc" id="L55">            } catch (IllegalMonitorStateException e) {</span>
    -<span class="nc" id="L56">                log.info(&quot;Redisson Lock Already UnLock, MethodName: {}, key: {}&quot;, method.getName(), key);</span>
    -<span class="nc" id="L57">            }</span>
    -        }
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/index.html b/jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/index.html
    deleted file mode 100644
    index 49bd9950..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.annotation.aop</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.annotation.aop</span></div><h1>com.softeer.backend.global.annotation.aop</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">83 of 83</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">20</td><td class="ctr2">20</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="EventLockAop.html" class="el_class">EventLockAop</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="77" alt="77"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">18</td><td class="ctr2" id="i0">18</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="AopForTransaction.html" class="el_class">AopForTransaction</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="9" height="10" title="6" alt="6"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">2</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">2</td><td class="ctr2" id="k1">2</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/index.source.html
    deleted file mode 100644
    index d2624bce..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.annotation.aop</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.annotation.aop</span></div><h1>com.softeer.backend.global.annotation.aop</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">83 of 83</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">20</td><td class="ctr2">20</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="EventLockAop.java.html" class="el_source">EventLockAop.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="77" alt="77"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">18</td><td class="ctr2" id="i0">18</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="AopForTransaction.java.html" class="el_source">AopForTransaction.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="9" height="10" title="6" alt="6"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">2</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">2</td><td class="ctr2" id="k1">2</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.annotation.argumentresolver/AuthInfoArgumentResolver.html b/jacoco/jacocoHtml/com.softeer.backend.global.annotation.argumentresolver/AuthInfoArgumentResolver.html
    deleted file mode 100644
    index 728241b4..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.annotation.argumentresolver/AuthInfoArgumentResolver.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>AuthInfoArgumentResolver</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.annotation.argumentresolver</a> &gt; <span class="el_class">AuthInfoArgumentResolver</span></div><h1>AuthInfoArgumentResolver</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">40 of 40</td><td class="ctr2">0%</td><td class="bar">8 of 8</td><td class="ctr2">0%</td><td class="ctr1">7</td><td class="ctr2">7</td><td class="ctr1">9</td><td class="ctr2">9</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a1"><a href="AuthInfoArgumentResolver.java.html#L22" class="el_method">resolveArgument(MethodParameter, ModelAndViewContainer, NativeWebRequest, WebDataBinderFactory)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="24" alt="24"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">6</td><td class="ctr2" id="i0">6</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="AuthInfoArgumentResolver.java.html#L17" class="el_method">supportsParameter(MethodParameter)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="65" height="10" title="13" alt="13"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f1">3</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="AuthInfoArgumentResolver.java.html#L13" class="el_method">AuthInfoArgumentResolver()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="15" height="10" title="3" alt="3"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.annotation.argumentresolver/AuthInfoArgumentResolver.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.annotation.argumentresolver/AuthInfoArgumentResolver.java.html
    deleted file mode 100644
    index 1a230be4..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.annotation.argumentresolver/AuthInfoArgumentResolver.java.html
    +++ /dev/null
    @@ -1,31 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>AuthInfoArgumentResolver.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.annotation.argumentresolver</a> &gt; <span class="el_source">AuthInfoArgumentResolver.java</span></div><h1>AuthInfoArgumentResolver.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.annotation.argumentresolver;
    -
    -import com.softeer.backend.global.annotation.AuthInfo;
    -import com.softeer.backend.global.common.dto.JwtClaimsDto;
    -import jakarta.servlet.http.HttpServletRequest;
    -import lombok.NonNull;
    -import org.springframework.core.MethodParameter;
    -import org.springframework.web.bind.support.WebDataBinderFactory;
    -import org.springframework.web.context.request.NativeWebRequest;
    -import org.springframework.web.method.support.HandlerMethodArgumentResolver;
    -import org.springframework.web.method.support.ModelAndViewContainer;
    -
    -<span class="nc" id="L13">public class AuthInfoArgumentResolver implements HandlerMethodArgumentResolver {</span>
    -
    -    @Override
    -    public boolean supportsParameter(MethodParameter parameter) {
    -<span class="nc bnc" id="L17" title="All 2 branches missed.">        return parameter.getParameterAnnotation(AuthInfo.class) != null</span>
    -<span class="nc bnc" id="L18" title="All 2 branches missed.">                &amp;&amp; parameter.getParameterType().equals(Integer.class);</span>
    -    }
    -
    -    @Override
    -<span class="nc bnc" id="L22" title="All 2 branches missed.">    public Object resolveArgument(@NonNull MethodParameter parameter, ModelAndViewContainer mavContainer, NativeWebRequest webRequest, WebDataBinderFactory binderFactory) {</span>
    -<span class="nc" id="L23">        HttpServletRequest req = (HttpServletRequest) webRequest.getNativeRequest();</span>
    -<span class="nc" id="L24">        JwtClaimsDto jwtClaimsDto = (JwtClaimsDto) req.getAttribute(&quot;jwtClaims&quot;);</span>
    -<span class="nc bnc" id="L25" title="All 2 branches missed.">        if (jwtClaimsDto == null) {</span>
    -<span class="nc" id="L26">            return null;</span>
    -        }
    -<span class="nc" id="L28">        return jwtClaimsDto.getId();</span>
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.annotation.argumentresolver/index.html b/jacoco/jacocoHtml/com.softeer.backend.global.annotation.argumentresolver/index.html
    deleted file mode 100644
    index deb0f0e9..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.annotation.argumentresolver/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.annotation.argumentresolver</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.annotation.argumentresolver</span></div><h1>com.softeer.backend.global.annotation.argumentresolver</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">40 of 40</td><td class="ctr2">0%</td><td class="bar">8 of 8</td><td class="ctr2">0%</td><td class="ctr1">7</td><td class="ctr2">7</td><td class="ctr1">9</td><td class="ctr2">9</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="AuthInfoArgumentResolver.html" class="el_class">AuthInfoArgumentResolver</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="40" alt="40"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="8" alt="8"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">7</td><td class="ctr2" id="g0">7</td><td class="ctr1" id="h0">9</td><td class="ctr2" id="i0">9</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k0">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.annotation.argumentresolver/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.global.annotation.argumentresolver/index.source.html
    deleted file mode 100644
    index 12a122d7..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.annotation.argumentresolver/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.annotation.argumentresolver</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.annotation.argumentresolver</span></div><h1>com.softeer.backend.global.annotation.argumentresolver</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">40 of 40</td><td class="ctr2">0%</td><td class="bar">8 of 8</td><td class="ctr2">0%</td><td class="ctr1">7</td><td class="ctr2">7</td><td class="ctr1">9</td><td class="ctr2">9</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="AuthInfoArgumentResolver.java.html" class="el_source">AuthInfoArgumentResolver.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="40" alt="40"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="8" alt="8"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">7</td><td class="ctr2" id="g0">7</td><td class="ctr1" id="h0">9</td><td class="ctr2" id="i0">9</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k0">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/ErrorStatus.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/ErrorStatus.html
    deleted file mode 100644
    index 3773e45d..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/ErrorStatus.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ErrorStatus</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.common.code.status</a> &gt; <span class="el_class">ErrorStatus</span></div><h1>ErrorStatus</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">152 of 152</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">24</td><td class="ctr2">24</td><td class="ctr1">5</td><td class="ctr2">5</td></tr></tfoot><tbody><tr><td id="a4"><a href="ErrorStatus.java.html#L13" class="el_method">static {...}</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="129" alt="129"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">15</td><td class="ctr2" id="i0">15</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a3"><a href="ErrorStatus.java.html#L57" class="el_method">getReason()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="13" height="10" title="14" alt="14"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">6</td><td class="ctr2" id="i1">6</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="ErrorStatus.java.html#L72" class="el_method">getHttpStatus()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="2" height="10" title="3" alt="3"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a0"><a href="ErrorStatus.java.html#L82" class="el_method">getCode()</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="2" height="10" title="3" alt="3"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">1</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a1"><a href="ErrorStatus.java.html#L92" class="el_method">getErrorMsg()</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="2" height="10" title="3" alt="3"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">1</td><td class="ctr2" id="i4">1</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/ErrorStatus.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/ErrorStatus.java.html
    deleted file mode 100644
    index 547ede8c..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/ErrorStatus.java.html
    +++ /dev/null
    @@ -1,95 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ErrorStatus.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.common.code.status</a> &gt; <span class="el_source">ErrorStatus.java</span></div><h1>ErrorStatus.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.common.code.status;
    -
    -import com.softeer.backend.global.common.code.BaseErrorCode;
    -import com.softeer.backend.global.common.response.ResponseDto;
    -import lombok.Getter;
    -import lombok.RequiredArgsConstructor;
    -import org.springframework.http.HttpStatus;
    -
    -
    -/**
    - * 에러 응답 코드를 관리하는 Enum 클래스
    - */
    -<span class="nc" id="L13">@Getter</span>
    -@RequiredArgsConstructor
    -public enum ErrorStatus implements BaseErrorCode {
    -
    -    // Common Error &amp; Global Error
    -<span class="nc" id="L18">    _BAD_REQUEST(HttpStatus.BAD_REQUEST, &quot;G400&quot;, &quot;잘못된 요청입니다.&quot;),</span>
    -<span class="nc" id="L19">    _FORBIDDEN(HttpStatus.FORBIDDEN, &quot;G401&quot;, &quot;해당 요청에 대한 권한이 없습니다.&quot;),</span>
    -<span class="nc" id="L20">    _NOT_FOUND(HttpStatus.NOT_FOUND, &quot;G402&quot;, &quot;데이터를 찾지 못했습니다.&quot;),</span>
    -<span class="nc" id="L21">    _METHOD_NOT_ALLOWED(HttpStatus.METHOD_NOT_ALLOWED, &quot;G403&quot;, &quot;지원하지 않는 Http Method 입니다.&quot;),</span>
    -<span class="nc" id="L22">    _INTERNAL_SERVER_ERROR(HttpStatus.INTERNAL_SERVER_ERROR, &quot;G500&quot;, &quot;서버 에러가 발생했습니다.&quot;),</span>
    -
    -    // Validation Error
    -<span class="nc" id="L25">    _VALIDATION_ERROR(HttpStatus.BAD_REQUEST, &quot;V400&quot;, &quot;요청 필드에 대한 검증 예외가 발생했습니다.&quot;),</span>
    -
    -    // JWT Error
    -<span class="nc" id="L28">    _UNAUTHORIZED(HttpStatus.UNAUTHORIZED, &quot;J400&quot;, &quot;인증 과정에서 예외가 발생했습니다. JWT Token 재발급이 필요합니다.&quot;),</span>
    -<span class="nc" id="L29">    _REISSUE_ERROR(HttpStatus.UNAUTHORIZED, &quot;J401&quot;, &quot;JWT Token 재발급에서 예외가 발생했습니다. 로그인 요청이 필요합니다.&quot;),</span>
    -
    -    // User &amp; Auth Error
    -<span class="nc" id="L32">    _AUTH_CODE_NOT_EXIST(HttpStatus.BAD_REQUEST, &quot;A400&quot;, &quot;인증 코드 제한시간이 초과되었습니다. 인증 코드 발급 API를 호출하세요.&quot;),</span>
    -<span class="nc" id="L33">    _AUTH_CODE_NOT_MATCH(HttpStatus.BAD_REQUEST, &quot;A401&quot;, &quot;인증 코드가 일치하지 않습니다.&quot;),</span>
    -<span class="nc" id="L34">    _AUTH_CODE_ATTEMPTS_EXCEEDED(HttpStatus.BAD_REQUEST, &quot;A402&quot;,</span>
    -            &quot;인증 코드의 인증 횟수를 초과하였습니다. 인증 코드 발급 API를 호출하세요.&quot;),
    -<span class="nc" id="L36">    _AUTH_CODE_ISSUE_LIMIT_EXCEEDED(HttpStatus.BAD_REQUEST, &quot;A403&quot;,</span>
    -            &quot;인증 코드 발급 횟수를 초과하였습니다. 나중에 다시 시도하세요.&quot;),
    -<span class="nc" id="L38">    _AUTH_CODE_NOT_VERIFIED(HttpStatus.BAD_REQUEST, &quot;A404&quot;, &quot;인증되지 않은 상태에서 로그인 할 수 없습니다.&quot;),</span>
    -<span class="nc" id="L39">    _AUTH_USERNAME_NOT_MATCH(HttpStatus.BAD_REQUEST, &quot;A405&quot;, &quot;이미 등록된 번호입니다.&quot;);</span>
    -
    -    // 예외의 Http 상태값
    -    private final HttpStatus httpStatus;
    -
    -    // 예외의 커스텀 코드값
    -    private final String code;
    -
    -    // 예외 메시지
    -    private final String message;
    -
    -    /**
    -     * Error 정보를 갖고있는 ErrorReasonDto를 반환하는 메서드
    -     *
    -     * @return ErrorReasonDto 객체
    -     */
    -    @Override
    -    public ResponseDto.ErrorReasonDto getReason() {
    -<span class="nc" id="L57">        return ResponseDto.ErrorReasonDto.builder()</span>
    -<span class="nc" id="L58">                .httpStatus(this.httpStatus)</span>
    -<span class="nc" id="L59">                .isSuccess(false)</span>
    -<span class="nc" id="L60">                .code(this.code)</span>
    -<span class="nc" id="L61">                .message(this.message)</span>
    -<span class="nc" id="L62">                .build();</span>
    -    }
    -
    -    /**
    -     * HttpStatus를 반환하는 메서드
    -     *
    -     * @return HttpStatus 객체
    -     */
    -    @Override
    -    public HttpStatus getHttpStatus() {
    -<span class="nc" id="L72">        return httpStatus;</span>
    -    }
    -
    -    /**
    -     * 예외 코드를 반환하는 메서드
    -     *
    -     * @return 커스텀 코드값
    -     */
    -    @Override
    -    public String getCode() {
    -<span class="nc" id="L82">        return code;</span>
    -    }
    -
    -    /**
    -     * 예외 메시지를 반환하는 메서드
    -     *
    -     * @return 예외 메시지
    -     */
    -    @Override
    -    public String getErrorMsg() {
    -<span class="nc" id="L92">        return message;</span>
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/SuccessStatus.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/SuccessStatus.html
    deleted file mode 100644
    index 82c9fcfd..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/SuccessStatus.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>SuccessStatus</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.common.code.status</a> &gt; <span class="el_class">SuccessStatus</span></div><h1>SuccessStatus</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">32 of 32</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">10</td><td class="ctr2">10</td><td class="ctr1">4</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a2"><a href="SuccessStatus.java.html#L35" class="el_method">getReason()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="14" alt="14"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">6</td><td class="ctr2" id="i0">6</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a3"><a href="SuccessStatus.java.html#L12" class="el_method">static {...}</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="102" height="10" title="12" alt="12"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="SuccessStatus.java.html#L50" class="el_method">getCode()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="25" height="10" title="3" alt="3"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a1"><a href="SuccessStatus.java.html#L60" class="el_method">getMsg()</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="25" height="10" title="3" alt="3"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">1</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/SuccessStatus.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/SuccessStatus.java.html
    deleted file mode 100644
    index c8f4e1b4..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/SuccessStatus.java.html
    +++ /dev/null
    @@ -1,63 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>SuccessStatus.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.common.code.status</a> &gt; <span class="el_source">SuccessStatus.java</span></div><h1>SuccessStatus.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.common.code.status;
    -
    -import com.softeer.backend.global.common.code.BaseCode;
    -import com.softeer.backend.global.common.response.ResponseDto;
    -import lombok.Getter;
    -import lombok.RequiredArgsConstructor;
    -import org.springframework.http.HttpStatus;
    -
    -/**
    - * 성공 응답 코드를 관리하는 Enum 클래스
    - */
    -<span class="nc" id="L12">@Getter</span>
    -@RequiredArgsConstructor
    -public enum SuccessStatus implements BaseCode {
    -    // Success
    -<span class="nc" id="L16">    _OK(HttpStatus.OK, &quot;S200&quot;, &quot;요청 처리 성공&quot;);</span>
    -
    -    // 예외의 Http 상태값
    -    private final HttpStatus httpStatus;
    -
    -    // 예외의 커스텀 코드값
    -    private final String code;
    -
    -    // 예외 메시지
    -    private final String message;
    -
    -
    -    /**
    -     * 성공 응답 정보를 갖고있는 ReasonDto를 반환하는 메서드
    -     *
    -     * @return ReasonDto 객체
    -     */
    -    @Override
    -    public ResponseDto.ReasonDto getReason() {
    -<span class="nc" id="L35">        return ResponseDto.ReasonDto.builder()</span>
    -<span class="nc" id="L36">                .httpStatus(this.httpStatus)</span>
    -<span class="nc" id="L37">                .isSuccess(true)</span>
    -<span class="nc" id="L38">                .code(this.code)</span>
    -<span class="nc" id="L39">                .message(this.message)</span>
    -<span class="nc" id="L40">                .build();</span>
    -    }
    -
    -    /**
    -     * 성공 코드를 반환하는 메서드
    -     *
    -     * @return 커스텀 코드값
    -     */
    -    @Override
    -    public String getCode() {
    -<span class="nc" id="L50">        return this.code;</span>
    -    }
    -
    -    /**
    -     * 성공 메시지를 반환하는 메서드
    -     *
    -     * @return 예외 메시지
    -     */
    -    @Override
    -    public String getMsg() {
    -<span class="nc" id="L60">        return this.message;</span>
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/index.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/index.html
    deleted file mode 100644
    index bd1dc1c5..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.common.code.status</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.common.code.status</span></div><h1>com.softeer.backend.global.common.code.status</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">184 of 184</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">9</td><td class="ctr2">9</td><td class="ctr1">34</td><td class="ctr2">34</td><td class="ctr1">9</td><td class="ctr2">9</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="ErrorStatus.html" class="el_class">ErrorStatus</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="152" alt="152"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">5</td><td class="ctr2" id="g0">5</td><td class="ctr1" id="h0">24</td><td class="ctr2" id="i0">24</td><td class="ctr1" id="j0">5</td><td class="ctr2" id="k0">5</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a1"><a href="SuccessStatus.html" class="el_class">SuccessStatus</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="25" height="10" title="32" alt="32"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">4</td><td class="ctr2" id="g1">4</td><td class="ctr1" id="h1">10</td><td class="ctr2" id="i1">10</td><td class="ctr1" id="j1">4</td><td class="ctr2" id="k1">4</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/index.source.html
    deleted file mode 100644
    index 4cc13f24..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.common.code.status</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.common.code.status</span></div><h1>com.softeer.backend.global.common.code.status</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">184 of 184</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">9</td><td class="ctr2">9</td><td class="ctr1">34</td><td class="ctr2">34</td><td class="ctr1">9</td><td class="ctr2">9</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="ErrorStatus.java.html" class="el_source">ErrorStatus.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="152" alt="152"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">5</td><td class="ctr2" id="g0">5</td><td class="ctr1" id="h0">24</td><td class="ctr2" id="i0">24</td><td class="ctr1" id="j0">5</td><td class="ctr2" id="k0">5</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a1"><a href="SuccessStatus.java.html" class="el_source">SuccessStatus.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="25" height="10" title="32" alt="32"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">4</td><td class="ctr2" id="g1">4</td><td class="ctr1" id="h1">10</td><td class="ctr2" id="i1">10</td><td class="ctr1" id="j1">4</td><td class="ctr2" id="k1">4</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/RedisKeyPrefix.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/RedisKeyPrefix.html
    deleted file mode 100644
    index 0804cbc6..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/RedisKeyPrefix.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>RedisKeyPrefix</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.common.constant</a> &gt; <span class="el_class">RedisKeyPrefix</span></div><h1>RedisKeyPrefix</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">67 of 67</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="RedisKeyPrefix.java.html#L5" class="el_method">static {...}</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="59" alt="59"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">9</td><td class="ctr2" id="i0">9</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="RedisKeyPrefix.java.html#L24" class="el_method">RedisKeyPrefix(String, int, String)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="16" height="10" title="8" alt="8"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">3</td><td class="ctr2" id="i1">3</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/RedisKeyPrefix.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/RedisKeyPrefix.java.html
    deleted file mode 100644
    index 01c43b38..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/RedisKeyPrefix.java.html
    +++ /dev/null
    @@ -1,28 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>RedisKeyPrefix.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.common.constant</a> &gt; <span class="el_source">RedisKeyPrefix.java</span></div><h1>RedisKeyPrefix.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.common.constant;
    -
    -import lombok.Getter;
    -
    -<span class="nc" id="L5">@Getter</span>
    -public enum RedisKeyPrefix {
    -    // 선착순
    -<span class="nc" id="L8">    FCFS_USERID_PREFIX(&quot;FCFS_WINNER_&quot;),</span>
    -<span class="nc" id="L9">    FCFS_CODE_PREFIX(&quot;FCFS_CODE_&quot;),</span>
    -<span class="nc" id="L10">    FCFS_CODE_USERID_PREFIX(&quot;FCFS_CODE_USERID_&quot;),</span>
    -<span class="nc" id="L11">    FCFS_PARTICIPANT_COUNT_PREFIX(&quot;FCFS_PARTICIPANT_COUNT&quot;),</span>
    -
    -    // 추첨
    -<span class="nc" id="L14">    DRAW_LOCK_PREFIX(&quot;LOCK:DRAW_WINNER&quot;),</span>
    -<span class="nc" id="L15">    DRAW_WINNER_LIST_PREFIX(&quot;LOCK:DRAW_WINNER_LIST_&quot;),</span>
    -<span class="nc" id="L16">    DRAW_PARTICIPANT_COUNT_PREFIX(&quot;DRAW_PARTICIPANT_COUNT&quot;),</span>
    -
    -    // 사이트 방문자 수
    -<span class="nc" id="L19">    TOTAL_VISITORS_COUNT_PREFIX(&quot;TOTAL_VISITORS_COUNT_&quot;);</span>
    -
    -
    -    private final String prefix;
    -
    -<span class="nc" id="L24">    RedisKeyPrefix(String prefix) {</span>
    -<span class="nc" id="L25">        this.prefix = prefix;</span>
    -<span class="nc" id="L26">    }</span>
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/RoleType.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/RoleType.html
    deleted file mode 100644
    index 2ca41327..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/RoleType.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>RoleType</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.common.constant</a> &gt; <span class="el_class">RoleType</span></div><h1>RoleType</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">25 of 25</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">6</td><td class="ctr2">6</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="RoleType.java.html#L9" class="el_method">static {...}</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="17" alt="17"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">3</td><td class="ctr2" id="i0">3</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="RoleType.java.html#L18" class="el_method">RoleType(String, int, String)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="56" height="10" title="8" alt="8"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">3</td><td class="ctr2" id="i1">3</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/RoleType.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/RoleType.java.html
    deleted file mode 100644
    index f8e98e78..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/RoleType.java.html
    +++ /dev/null
    @@ -1,23 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>RoleType.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.common.constant</a> &gt; <span class="el_source">RoleType.java</span></div><h1>RoleType.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.common.constant;
    -
    -import lombok.Getter;
    -import lombok.RequiredArgsConstructor;
    -
    -/**
    - * 유저의 권한 정보
    - */
    -<span class="nc" id="L9">@Getter</span>
    -@RequiredArgsConstructor
    -public enum RoleType {
    -
    -<span class="nc" id="L13">    ROLE_USER(&quot;USER_&quot;), // 일반 유저</span>
    -<span class="nc" id="L14">    ROLE_ADMIN(&quot;ADMIN_&quot;); // 관리자 유저</span>
    -
    -    String redisKeyPrefix;
    -
    -<span class="nc" id="L18">    RoleType(String redisKeyPrefix) {</span>
    -<span class="nc" id="L19">        this.redisKeyPrefix = redisKeyPrefix;</span>
    -<span class="nc" id="L20">    }</span>
    -
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/ValidationConstant.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/ValidationConstant.html
    deleted file mode 100644
    index 0f3c836c..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/ValidationConstant.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ValidationConstant</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.common.constant</a> &gt; <span class="el_class">ValidationConstant</span></div><h1>ValidationConstant</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">3 of 3</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="ValidationConstant.java.html#L5" class="el_method">ValidationConstant()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="3" alt="3"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">1</td><td class="ctr2" id="i0">1</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/ValidationConstant.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/ValidationConstant.java.html
    deleted file mode 100644
    index 5264e566..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/ValidationConstant.java.html
    +++ /dev/null
    @@ -1,27 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ValidationConstant.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.common.constant</a> &gt; <span class="el_source">ValidationConstant.java</span></div><h1>ValidationConstant.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.common.constant;
    -
    -import lombok.Getter;
    -
    -<span class="nc" id="L5">public class ValidationConstant {</span>
    -    public static final String PHONE_NUMBER_REGEX = &quot;^01[016789]\\d{8}$&quot;;
    -    public static final String PHONE_NUMBER_MSG = &quot;잘못된 전화번호 형식입니다.&quot;;
    -
    -    public static final String VERIFICATION_CODE_REGEX = &quot;^[a-zA-Z0-9]{6}$&quot;;
    -    public static final String VERIFICATION_CODE_MSG = &quot;잘못된 인증코드 형식입니다.&quot;;
    -
    -    // 최소 4자에서 최대 20자까지 허용
    -    // 영어 대문자, 소문자, 숫자 허용
    -    public static final String ADMIN_ACCOUNT_REGEX = &quot;^[a-zA-Z0-9]{4,20}$&quot;;
    -    public static final String ADMIN_ACCOUNT_MSG = &quot;잘못된 아이디 형식입니다.&quot;;
    -
    -    // 최소 8자에서 최대 20자까지 허용
    -    // 적어도 하나의 대문자, 소문자, 숫자, 특수문자 포함
    -    // 허용할 특수문자: @, #, $, %, &amp;, *, !, ^
    -    public static final String ADMIN_PASSWORD_REGEX = &quot;^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[@#$%^&amp;*!])[A-Za-z\\d@#$%^&amp;*!]{8,20}$&quot;;
    -    public static final String ADMIN_PASSWORD_MSG = &quot;잘못된 비밀번호 형식입니다.&quot;;
    -
    -    public static final String MIN_VALUE_MSG = &quot;값은 최소 {value}이어야 합니다.&quot;;
    -    public static final String MAX_VALUE_MSG = &quot;값은 최대 {value}이어야 합니다.&quot;;
    -
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/index.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/index.html
    deleted file mode 100644
    index b342d38c..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.common.constant</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.common.constant</span></div><h1>com.softeer.backend.global.common.constant</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">95 of 95</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">19</td><td class="ctr2">19</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a0"><a href="RedisKeyPrefix.html" class="el_class">RedisKeyPrefix</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="67" alt="67"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">12</td><td class="ctr2" id="i0">12</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a1"><a href="RoleType.html" class="el_class">RoleType</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="44" height="10" title="25" alt="25"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">2</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h1">6</td><td class="ctr2" id="i1">6</td><td class="ctr1" id="j1">2</td><td class="ctr2" id="k1">2</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a2"><a href="ValidationConstant.html" class="el_class">ValidationConstant</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="5" height="10" title="3" alt="3"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/index.source.html
    deleted file mode 100644
    index 81c57535..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.common.constant</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.common.constant</span></div><h1>com.softeer.backend.global.common.constant</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">95 of 95</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">19</td><td class="ctr2">19</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a0"><a href="RedisKeyPrefix.java.html" class="el_source">RedisKeyPrefix.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="67" alt="67"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">12</td><td class="ctr2" id="i0">12</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a1"><a href="RoleType.java.html" class="el_source">RoleType.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="44" height="10" title="25" alt="25"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">2</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h1">6</td><td class="ctr2" id="i1">6</td><td class="ctr1" id="j1">2</td><td class="ctr2" id="k1">2</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a2"><a href="ValidationConstant.java.html" class="el_source">ValidationConstant.java</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="5" height="10" title="3" alt="3"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/ExceptionAdvice.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/ExceptionAdvice.html
    deleted file mode 100644
    index afa4af82..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/ExceptionAdvice.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ExceptionAdvice</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.common.exception</a> &gt; <span class="el_class">ExceptionAdvice</span></div><h1>ExceptionAdvice</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">207 of 207</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">17</td><td class="ctr2">17</td><td class="ctr1">43</td><td class="ctr2">43</td><td class="ctr1">16</td><td class="ctr2">16</td></tr></tfoot><tbody><tr><td id="a5"><a href="ExceptionAdvice.java.html#L135" class="el_method">handleEventLockExceptionInternal(EventLockException, HttpHeaders, WebRequest)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="26" alt="26"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">7</td><td class="ctr2" id="i0">7</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a7"><a href="ExceptionAdvice.java.html#L119" class="el_method">handleGeneralExceptionInternal(Exception, ResponseDto.ErrorReasonDto, HttpHeaders, WebRequest)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="92" height="10" title="20" alt="20"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">4</td><td class="ctr2" id="i1">4</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="ExceptionAdvice.java.html#L158" class="el_method">handleConstraintExceptionInternal(Exception, ErrorStatus, HttpHeaders, WebRequest, List)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="92" height="10" title="20" alt="20"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">4</td><td class="ctr2" id="i2">4</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a1"><a href="ExceptionAdvice.java.html#L173" class="el_method">handleArgsExceptionInternal(Exception, HttpHeaders, ErrorStatus, WebRequest, Map)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="92" height="10" title="20" alt="20"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">4</td><td class="ctr2" id="i3">4</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a9"><a href="ExceptionAdvice.java.html#L188" class="el_method">handleGlobalExceptionInternal(Exception, ErrorStatus, HttpHeaders, HttpStatus, WebRequest, String)</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="87" height="10" title="19" alt="19"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h7">3</td><td class="ctr2" id="i7">3</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a10"><a href="ExceptionAdvice.java.html#L81" class="el_method">handleMethodArgumentNotValid(MethodArgumentNotValidException, HttpHeaders, HttpStatusCode, WebRequest)</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="83" height="10" title="18" alt="18"/></td><td class="ctr2" id="c5">0%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">1</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h4">4</td><td class="ctr2" id="i4">4</td><td class="ctr1" id="j5">1</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a13"><a href="ExceptionAdvice.java.html#L85" class="el_method">lambda$handleMethodArgumentNotValid$2(Map, FieldError)</a></td><td class="bar" id="b6"><img src="../jacoco-resources/redbar.gif" width="78" height="10" title="17" alt="17"/></td><td class="ctr2" id="c6">0%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">1</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h5">4</td><td class="ctr2" id="i5">4</td><td class="ctr1" id="j6">1</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a11"><a href="ExceptionAdvice.java.html#L57" class="el_method">handleValidationException(ConstraintViolationException, WebRequest)</a></td><td class="bar" id="b7"><img src="../jacoco-resources/redbar.gif" width="69" height="10" title="15" alt="15"/></td><td class="ctr2" id="c7">0%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">1</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h6">4</td><td class="ctr2" id="i6">4</td><td class="ctr1" id="j7">1</td><td class="ctr2" id="k7">1</td></tr><tr><td id="a8"><a href="ExceptionAdvice.java.html#L104" class="el_method">handleGlobalException(Exception, WebRequest)</a></td><td class="bar" id="b8"><img src="../jacoco-resources/redbar.gif" width="50" height="10" title="11" alt="11"/></td><td class="ctr2" id="c8">0%</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f8">1</td><td class="ctr2" id="g8">1</td><td class="ctr1" id="h10">1</td><td class="ctr2" id="i10">1</td><td class="ctr1" id="j8">1</td><td class="ctr2" id="k8">1</td></tr><tr><td id="a6"><a href="ExceptionAdvice.java.html#L38" class="el_method">handleGeneralException(GeneralException, WebRequest)</a></td><td class="bar" id="b9"><img src="../jacoco-resources/redbar.gif" width="46" height="10" title="10" alt="10"/></td><td class="ctr2" id="c9">0%</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f9">1</td><td class="ctr2" id="g9">1</td><td class="ctr1" id="h8">2</td><td class="ctr2" id="i8">2</td><td class="ctr1" id="j9">1</td><td class="ctr2" id="k9">1</td></tr><tr><td id="a3"><a href="ExceptionAdvice.java.html#L112" class="el_method">handleDataAccessException(DataAccessException)</a></td><td class="bar" id="b10"><img src="../jacoco-resources/redbar.gif" width="32" height="10" title="7" alt="7"/></td><td class="ctr2" id="c10">0%</td><td class="bar" id="d10"/><td class="ctr2" id="e10">n/a</td><td class="ctr1" id="f10">1</td><td class="ctr2" id="g10">1</td><td class="ctr1" id="h9">2</td><td class="ctr2" id="i9">2</td><td class="ctr1" id="j10">1</td><td class="ctr2" id="k10">1</td></tr><tr><td id="a14"><a href="ExceptionAdvice.java.html#L58" class="el_method">lambda$handleValidationException$0(ConstraintViolation)</a></td><td class="bar" id="b11"><img src="../jacoco-resources/redbar.gif" width="32" height="10" title="7" alt="7"/></td><td class="ctr2" id="c11">0%</td><td class="bar" id="d11"/><td class="ctr2" id="e11">n/a</td><td class="ctr1" id="f11">1</td><td class="ctr2" id="g11">1</td><td class="ctr1" id="h11">1</td><td class="ctr2" id="i11">1</td><td class="ctr1" id="j11">1</td><td class="ctr2" id="k11">1</td></tr><tr><td id="a4"><a href="ExceptionAdvice.java.html#L44" class="el_method">handleEventLockException(EventLockException, WebRequest)</a></td><td class="bar" id="b12"><img src="../jacoco-resources/redbar.gif" width="27" height="10" title="6" alt="6"/></td><td class="ctr2" id="c12">0%</td><td class="bar" id="d12"/><td class="ctr2" id="e12">n/a</td><td class="ctr1" id="f12">1</td><td class="ctr2" id="g12">1</td><td class="ctr1" id="h12">1</td><td class="ctr2" id="i12">1</td><td class="ctr1" id="j12">1</td><td class="ctr2" id="k12">1</td></tr><tr><td id="a12"><a href="ExceptionAdvice.java.html#L88" class="el_method">lambda$handleMethodArgumentNotValid$1(String, String)</a></td><td class="bar" id="b13"><img src="../jacoco-resources/redbar.gif" width="18" height="10" title="4" alt="4"/></td><td class="ctr2" id="c13">0%</td><td class="bar" id="d13"/><td class="ctr2" id="e13">n/a</td><td class="ctr1" id="f13">1</td><td class="ctr2" id="g13">1</td><td class="ctr1" id="h13">1</td><td class="ctr2" id="i13">1</td><td class="ctr1" id="j13">1</td><td class="ctr2" id="k13">1</td></tr><tr><td id="a15"><a href="ExceptionAdvice.java.html#L25" class="el_method">static {...}</a></td><td class="bar" id="b14"><img src="../jacoco-resources/redbar.gif" width="18" height="10" title="4" alt="4"/></td><td class="ctr2" id="c14">0%</td><td class="bar" id="d14"/><td class="ctr2" id="e14">n/a</td><td class="ctr1" id="f14">1</td><td class="ctr2" id="g14">1</td><td class="ctr1" id="h14">1</td><td class="ctr2" id="i14">1</td><td class="ctr1" id="j14">1</td><td class="ctr2" id="k14">1</td></tr><tr><td id="a0"><a href="ExceptionAdvice.java.html#L27" class="el_method">ExceptionAdvice()</a></td><td class="bar" id="b15"><img src="../jacoco-resources/redbar.gif" width="13" height="10" title="3" alt="3"/></td><td class="ctr2" id="c15">0%</td><td class="bar" id="d15"/><td class="ctr2" id="e15">n/a</td><td class="ctr1" id="f15">1</td><td class="ctr2" id="g15">1</td><td class="ctr1" id="h15">1</td><td class="ctr2" id="i15">1</td><td class="ctr1" id="j15">1</td><td class="ctr2" id="k15">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/ExceptionAdvice.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/ExceptionAdvice.java.html
    deleted file mode 100644
    index 80b4eb80..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/ExceptionAdvice.java.html
    +++ /dev/null
    @@ -1,200 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ExceptionAdvice.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.common.exception</a> &gt; <span class="el_source">ExceptionAdvice.java</span></div><h1>ExceptionAdvice.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.common.exception;
    -
    -import com.softeer.backend.global.common.code.status.ErrorStatus;
    -import com.softeer.backend.global.common.response.ResponseDto;
    -import jakarta.validation.ConstraintViolationException;
    -import lombok.extern.slf4j.Slf4j;
    -import org.springframework.dao.DataAccessException;
    -import org.springframework.http.HttpHeaders;
    -import org.springframework.http.HttpStatus;
    -import org.springframework.http.HttpStatusCode;
    -import org.springframework.http.ResponseEntity;
    -import org.springframework.web.bind.MethodArgumentNotValidException;
    -import org.springframework.web.bind.annotation.ExceptionHandler;
    -import org.springframework.web.bind.annotation.RestControllerAdvice;
    -import org.springframework.web.context.request.WebRequest;
    -import org.springframework.web.servlet.ModelAndView;
    -import org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExceptionHandler;
    -
    -import java.util.*;
    -
    -
    -/**
    - * 예외를 한 곳에서 처리하는 클래스
    - */
    -<span class="nc" id="L25">@Slf4j</span>
    -@RestControllerAdvice
    -<span class="nc" id="L27">public class ExceptionAdvice extends ResponseEntityExceptionHandler {</span>
    -
    -    /**
    -     * GeneralException을 처리하는 메서드
    -     *
    -     * @param generalException 커스텀 예외의 최고 조상 클래스
    -     * @param webRequest       client 요청 객체
    -     * @return client 응답 객체
    -     */
    -    @ExceptionHandler
    -    public ResponseEntity&lt;Object&gt; handleGeneralException(GeneralException generalException, WebRequest webRequest) {
    -<span class="nc" id="L38">        ResponseDto.ErrorReasonDto errorReasonHttpStatus = generalException.getErrorReason();</span>
    -<span class="nc" id="L39">        return handleGeneralExceptionInternal(generalException, errorReasonHttpStatus, HttpHeaders.EMPTY, webRequest);</span>
    -    }
    -
    -    @ExceptionHandler
    -    public ModelAndView handleEventLockException(EventLockException eventLockException, WebRequest webRequest) {
    -<span class="nc" id="L44">        return handleEventLockExceptionInternal(eventLockException, HttpHeaders.EMPTY, webRequest);</span>
    -    }
    -
    -    /**
    -     * ConstraintViolationException을 처리하는 메서드
    -     *
    -     * @param constraintViolationException 검증 예외
    -     * @param request                      client 요청 객체
    -     * @return client 응답 객체
    -     */
    -    @ExceptionHandler
    -    public ResponseEntity&lt;Object&gt; handleValidationException(ConstraintViolationException constraintViolationException, WebRequest request) {
    -
    -<span class="nc" id="L57">        List&lt;String&gt; errorMessages = constraintViolationException.getConstraintViolations().stream()</span>
    -<span class="nc" id="L58">                .map(violation -&gt; Optional.ofNullable(violation.getMessage()).orElse(&quot;&quot;))</span>
    -<span class="nc" id="L59">                .toList();</span>
    -
    -<span class="nc" id="L61">        return handleConstraintExceptionInternal(constraintViolationException, ErrorStatus._VALIDATION_ERROR, HttpHeaders.EMPTY, request,</span>
    -                errorMessages);
    -    }
    -
    -    /**
    -     * MethodArgumentNotValidException을 처리하는 메서드
    -     * &lt;p&gt;
    -     * ResponseEntityExceptionHandler의 메서드를 오버라이딩하여 사용한다.
    -     *
    -     * @param methodArgumentNotValidException 컨트롤러 메서드의 파라미터 객체에 대한 검증 예외
    -     * @param headers                         헤더 객체
    -     * @param status                          HttpStatusCode 값
    -     * @param request                         client 요청 객체
    -     * @return client 응답 객체
    -     */
    -    @Override
    -    public ResponseEntity&lt;Object&gt; handleMethodArgumentNotValid(
    -            MethodArgumentNotValidException methodArgumentNotValidException,
    -            HttpHeaders headers, HttpStatusCode status, WebRequest request) {
    -
    -<span class="nc" id="L81">        Map&lt;String, String&gt; errors = new LinkedHashMap&lt;&gt;();</span>
    -
    -<span class="nc" id="L83">        methodArgumentNotValidException.getBindingResult().getFieldErrors()</span>
    -<span class="nc" id="L84">                .forEach(fieldError -&gt; {</span>
    -<span class="nc" id="L85">                    String fieldName = fieldError.getField();</span>
    -<span class="nc" id="L86">                    String errorMessage = Optional.ofNullable(fieldError.getDefaultMessage()).orElse(&quot;&quot;);</span>
    -<span class="nc" id="L87">                    errors.merge(fieldName, errorMessage, (existingErrorMessage, newErrorMessage)</span>
    -<span class="nc" id="L88">                            -&gt; existingErrorMessage + &quot;, &quot; + newErrorMessage);</span>
    -<span class="nc" id="L89">                });</span>
    -
    -<span class="nc" id="L91">        return handleArgsExceptionInternal(methodArgumentNotValidException, HttpHeaders.EMPTY, ErrorStatus._VALIDATION_ERROR, request, errors);</span>
    -    }
    -
    -    /**
    -     * 나머지 모든 예외들을 처리하는 메서드
    -     *
    -     * @param e       Exception을 상속한 예외 객체
    -     * @param request client 요청 객체
    -     * @return client 응답 객체
    -     */
    -    @ExceptionHandler
    -    public ResponseEntity&lt;Object&gt; handleGlobalException(Exception e, WebRequest request) {
    -
    -<span class="nc" id="L104">        return handleGlobalExceptionInternal(e, ErrorStatus._INTERNAL_SERVER_ERROR, HttpHeaders.EMPTY, ErrorStatus._INTERNAL_SERVER_ERROR.getHttpStatus(), request, e.getMessage());</span>
    -    }
    -
    -    /**
    -     * DB 관련 예외 처리
    -     */
    -    @ExceptionHandler
    -    public void handleDataAccessException(DataAccessException e) {
    -<span class="nc" id="L112">        log.error(&quot;DataAccessException occurred: {}&quot;, e.getMessage(), e);</span>
    -<span class="nc" id="L113">    }</span>
    -
    -    // GeneralException에 대한 client 응답 객체를 생성하는 메서드
    -    private ResponseEntity&lt;Object&gt; handleGeneralExceptionInternal(Exception e, ResponseDto.ErrorReasonDto reason,
    -                                                                  HttpHeaders headers, WebRequest webRequest) {
    -
    -<span class="nc" id="L119">        log.error(&quot;GeneralException captured in ExceptionAdvice&quot;, e);</span>
    -
    -<span class="nc" id="L121">        ResponseDto&lt;Object&gt; body = ResponseDto.onFailure(reason.getCode(), reason.getMessage(), null);</span>
    -
    -<span class="nc" id="L123">        return super.handleExceptionInternal(</span>
    -                e,
    -                body,
    -                headers,
    -<span class="nc" id="L127">                reason.getHttpStatus(),</span>
    -                webRequest
    -        );
    -    }
    -
    -    // EventLockException에 대한 client 응답 객체를 생성하는 메서드
    -    private ModelAndView handleEventLockExceptionInternal(EventLockException e, HttpHeaders headers, WebRequest webRequest) {
    -
    -<span class="nc" id="L135">        log.error(&quot;EventLockException captured in ExceptionAdvice&quot;, e);</span>
    -
    -<span class="nc" id="L137">        String redissonKeyName = e.getRedissonKeyName();</span>
    -
    -<span class="nc" id="L139">        ModelAndView modelAndView = new ModelAndView();</span>
    -
    -<span class="nc bnc" id="L141" title="All 2 branches missed.">        if (redissonKeyName.contains(&quot;FCFS&quot;)){</span>
    -
    -<span class="nc" id="L143">            modelAndView.setViewName(&quot;redirect:/fcfs/result&quot;);</span>
    -<span class="nc" id="L144">            modelAndView.addObject(&quot;fcfsWin&quot;, false);</span>
    -        }
    -
    -        //TODO
    -        // DRAW 관련 예외일 경우, body 구성하는 코드 필요
    -
    -<span class="nc" id="L150">        return modelAndView;</span>
    -    }
    -
    -    // ConstraintViolationException에 대한 client 응답 객체를 생성하는 메서드
    -    private ResponseEntity&lt;Object&gt; handleConstraintExceptionInternal(Exception e, ErrorStatus errorCommonStatus,
    -                                                                     HttpHeaders headers, WebRequest request,
    -                                                                     List&lt;String&gt; errorMessages) {
    -
    -<span class="nc" id="L158">        log.error(&quot;ConstraintViolationException captured in ExceptionAdvice&quot;, e);</span>
    -
    -<span class="nc" id="L160">        ResponseDto&lt;Object&gt; body = ResponseDto.onFailure(errorCommonStatus.getCode(), errorCommonStatus.getMessage(), errorMessages);</span>
    -<span class="nc" id="L161">        return super.handleExceptionInternal(</span>
    -                e,
    -                body,
    -                headers,
    -<span class="nc" id="L165">                errorCommonStatus.getHttpStatus(),</span>
    -                request
    -        );
    -    }
    -
    -    // MethodArgumentNotValidException에 대한 client 응답 객체를 생성하는 메서드
    -    private ResponseEntity&lt;Object&gt; handleArgsExceptionInternal(Exception e, HttpHeaders headers, ErrorStatus errorCommonStatus,
    -                                                               WebRequest request, Map&lt;String, String&gt; errorArgs) {
    -<span class="nc" id="L173">        log.error(&quot;MethodArgumentNotValidException captured in ExceptionAdvice&quot;, e);</span>
    -
    -<span class="nc" id="L175">        ResponseDto&lt;Object&gt; body = ResponseDto.onFailure(errorCommonStatus.getCode(), errorCommonStatus.getMessage(), errorArgs);</span>
    -<span class="nc" id="L176">        return super.handleExceptionInternal(</span>
    -                e,
    -                body,
    -                headers,
    -<span class="nc" id="L180">                errorCommonStatus.getHttpStatus(),</span>
    -                request
    -        );
    -    }
    -
    -    // 나머지 모든 예외에 대한 client 응답 객체를 생성하는 메서드
    -    private ResponseEntity&lt;Object&gt; handleGlobalExceptionInternal(Exception e, ErrorStatus errorCommonStatus,
    -                                                                 HttpHeaders headers, HttpStatus status, WebRequest request, String errorPoint) {
    -<span class="nc" id="L188">        log.error(&quot;Exception captured in ExceptionAdvice&quot;, e);</span>
    -
    -<span class="nc" id="L190">        ResponseDto&lt;Object&gt; body = ResponseDto.onFailure(errorCommonStatus.getCode(), errorCommonStatus.getMessage(), errorPoint);</span>
    -<span class="nc" id="L191">        return super.handleExceptionInternal(</span>
    -                e,
    -                body,
    -                headers,
    -                status,
    -                request
    -        );
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/GeneralException.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/GeneralException.html
    deleted file mode 100644
    index 6e4f6702..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/GeneralException.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>GeneralException</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.common.exception</a> &gt; <span class="el_class">GeneralException</span></div><h1>GeneralException</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="GeneralException.java.html#L23" class="el_method">getErrorReason()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">1</td><td class="ctr2" id="i0">1</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/GeneralException.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/GeneralException.java.html
    deleted file mode 100644
    index 71e418ba..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/GeneralException.java.html
    +++ /dev/null
    @@ -1,27 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>GeneralException.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.common.exception</a> &gt; <span class="el_source">GeneralException.java</span></div><h1>GeneralException.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.common.exception;
    -
    -import com.softeer.backend.global.common.code.BaseErrorCode;
    -import com.softeer.backend.global.common.response.ResponseDto;
    -import lombok.AllArgsConstructor;
    -import lombok.Getter;
    -
    -/**
    - * 커스텀 예외의 최고 조상 클래스
    - */
    -@Getter
    -@AllArgsConstructor
    -public class GeneralException extends RuntimeException {
    -
    -    private final BaseErrorCode code;
    -
    -    /**
    -     * Error 정보를 갖고있는 ErrorReasonDto를 반환하는 메서드
    -     *
    -     * @return ErrorReasonDto 객체
    -     */
    -    public ResponseDto.ErrorReasonDto getErrorReason() {
    -<span class="nc" id="L23">        return this.code.getReason();</span>
    -    }
    -
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/JwtAuthenticationException.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/JwtAuthenticationException.html
    deleted file mode 100644
    index ae54edd3..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/JwtAuthenticationException.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>JwtAuthenticationException</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.common.exception</a> &gt; <span class="el_class">JwtAuthenticationException</span></div><h1>JwtAuthenticationException</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="JwtAuthenticationException.java.html#L12" class="el_method">JwtAuthenticationException(BaseErrorCode)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/JwtAuthenticationException.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/JwtAuthenticationException.java.html
    deleted file mode 100644
    index cf066fcb..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/JwtAuthenticationException.java.html
    +++ /dev/null
    @@ -1,15 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>JwtAuthenticationException.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.common.exception</a> &gt; <span class="el_source">JwtAuthenticationException.java</span></div><h1>JwtAuthenticationException.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.common.exception;
    -
    -
    -import com.softeer.backend.global.common.code.BaseErrorCode;
    -
    -/**
    - * JWT 인증 예외 클래스
    - */
    -public class JwtAuthenticationException extends GeneralException {
    -
    -    public JwtAuthenticationException(BaseErrorCode code) {
    -<span class="nc" id="L12">        super(code);</span>
    -<span class="nc" id="L13">    }</span>
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/JwtAuthorizationException.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/JwtAuthorizationException.html
    deleted file mode 100644
    index 0f9203fe..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/JwtAuthorizationException.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>JwtAuthorizationException</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.common.exception</a> &gt; <span class="el_class">JwtAuthorizationException</span></div><h1>JwtAuthorizationException</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="JwtAuthorizationException.java.html#L11" class="el_method">JwtAuthorizationException(BaseErrorCode)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/JwtAuthorizationException.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/JwtAuthorizationException.java.html
    deleted file mode 100644
    index 6ebbb304..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/JwtAuthorizationException.java.html
    +++ /dev/null
    @@ -1,14 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>JwtAuthorizationException.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.common.exception</a> &gt; <span class="el_source">JwtAuthorizationException.java</span></div><h1>JwtAuthorizationException.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.common.exception;
    -
    -import com.softeer.backend.global.common.code.BaseErrorCode;
    -
    -/**
    - * JWT 인가 예외 클래스
    - */
    -public class JwtAuthorizationException extends GeneralException {
    -
    -    public JwtAuthorizationException(BaseErrorCode code) {
    -<span class="nc" id="L11">        super(code);</span>
    -<span class="nc" id="L12">    }</span>
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/index.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/index.html
    deleted file mode 100644
    index 0494feb0..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.common.exception</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.common.exception</span></div><h1>com.softeer.backend.global.common.exception</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">219 of 219</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">20</td><td class="ctr2">20</td><td class="ctr1">48</td><td class="ctr2">48</td><td class="ctr1">19</td><td class="ctr2">19</td><td class="ctr1">4</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a0"><a href="ExceptionAdvice.html" class="el_class">ExceptionAdvice</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="207" alt="207"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">17</td><td class="ctr2" id="g0">17</td><td class="ctr1" id="h0">43</td><td class="ctr2" id="i0">43</td><td class="ctr1" id="j0">16</td><td class="ctr2" id="k0">16</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a3"><a href="JwtAuthorizationException.html" class="el_class">JwtAuthorizationException</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="2" height="10" title="4" alt="4"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a2"><a href="JwtAuthenticationException.html" class="el_class">JwtAuthenticationException</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="2" height="10" title="4" alt="4"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">2</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a1"><a href="GeneralException.html" class="el_class">GeneralException</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="2" height="10" title="4" alt="4"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">1</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td><td class="ctr1" id="l3">1</td><td class="ctr2" id="m3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/index.source.html
    deleted file mode 100644
    index da825254..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.common.exception</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.common.exception</span></div><h1>com.softeer.backend.global.common.exception</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">219 of 219</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">20</td><td class="ctr2">20</td><td class="ctr1">48</td><td class="ctr2">48</td><td class="ctr1">19</td><td class="ctr2">19</td><td class="ctr1">4</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a0"><a href="ExceptionAdvice.java.html" class="el_source">ExceptionAdvice.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="207" alt="207"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">17</td><td class="ctr2" id="g0">17</td><td class="ctr1" id="h0">43</td><td class="ctr2" id="i0">43</td><td class="ctr1" id="j0">16</td><td class="ctr2" id="k0">16</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a2"><a href="JwtAuthenticationException.java.html" class="el_source">JwtAuthenticationException.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="2" height="10" title="4" alt="4"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a1"><a href="GeneralException.java.html" class="el_source">GeneralException.java</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="2" height="10" title="4" alt="4"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h3">1</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a3"><a href="JwtAuthorizationException.java.html" class="el_source">JwtAuthorizationException.java</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="2" height="10" title="4" alt="4"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h2">2</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td><td class="ctr1" id="l3">1</td><td class="ctr2" id="m3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.response/ResponseDto.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.response/ResponseDto.html
    deleted file mode 100644
    index 324293a9..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.common.response/ResponseDto.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ResponseDto</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.common.response</a> &gt; <span class="el_class">ResponseDto</span></div><h1>ResponseDto</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">53 of 53</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">5</td><td class="ctr2">5</td></tr></tfoot><tbody><tr><td id="a2"><a href="ResponseDto.java.html#L40" class="el_method">onSuccess()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="11" alt="11"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">1</td><td class="ctr2" id="i0">1</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a4"><a href="ResponseDto.java.html#L51" class="el_method">onSuccess(Object)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="11" alt="11"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a3"><a href="ResponseDto.java.html#L63" class="el_method">onSuccess(BaseCode, Object)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="11" alt="11"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a0"><a href="ResponseDto.java.html#L74" class="el_method">onFailure(BaseErrorCode)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="11" alt="11"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">1</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a1"><a href="ResponseDto.java.html#L87" class="el_method">onFailure(String, String, Object)</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="98" height="10" title="9" alt="9"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">1</td><td class="ctr2" id="i4">1</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.response/ResponseDto.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.response/ResponseDto.java.html
    deleted file mode 100644
    index 283df28c..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.common.response/ResponseDto.java.html
    +++ /dev/null
    @@ -1,114 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ResponseDto.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.common.response</a> &gt; <span class="el_source">ResponseDto.java</span></div><h1>ResponseDto.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.common.response;
    -
    -import com.fasterxml.jackson.annotation.JsonInclude;
    -import com.fasterxml.jackson.annotation.JsonProperty;
    -import com.fasterxml.jackson.annotation.JsonPropertyOrder;
    -import com.softeer.backend.global.common.code.BaseCode;
    -import com.softeer.backend.global.common.code.BaseErrorCode;
    -import com.softeer.backend.global.common.code.status.SuccessStatus;
    -import lombok.AllArgsConstructor;
    -import lombok.Builder;
    -import lombok.Getter;
    -import org.springframework.http.HttpStatus;
    -
    -/**
    - * Client 응답 객체 클래스
    - *
    - * @param &lt;T&gt; 응답에 담을 객체 타입
    - */
    -@Getter
    -@AllArgsConstructor
    -@JsonPropertyOrder({&quot;isSuccess&quot;, &quot;code&quot;, &quot;message&quot;, &quot;result&quot;})
    -public class ResponseDto&lt;T&gt; {
    -
    -    // client 요청 처리 성공 여부값
    -    @JsonProperty(&quot;isSuccess&quot;)
    -    private final Boolean isSuccess;
    -    // 커스텀 상태 코드값
    -    private final String code;
    -    // 응답 메시지
    -    private final String message;
    -
    -    // 응답에 담을 객체
    -    @JsonInclude(JsonInclude.Include.NON_NULL)
    -    private final T result;
    -
    -    /**
    -     * 요청 처리에는 성공했지만, 보낼 데이터가 없을 경우 사용하는 메서드
    -     */
    -    public static &lt;T&gt; ResponseDto&lt;T&gt; onSuccess() {
    -<span class="nc" id="L40">        return new ResponseDto&lt;&gt;(true, SuccessStatus._OK.getCode(), SuccessStatus._OK.getMessage(), null);</span>
    -    }
    -
    -    /**
    -     * client 요청 처리 성공 시의 응답값을 생성하는 메서드
    -     *
    -     * @param result client 응답에 넣을 객체
    -     * @param &lt;T&gt;    응답에 담을 객체 타입
    -     * @return client 응답 객체
    -     */
    -    public static &lt;T&gt; ResponseDto&lt;T&gt; onSuccess(T result) {
    -<span class="nc" id="L51">        return new ResponseDto&lt;&gt;(true, SuccessStatus._OK.getCode(), SuccessStatus._OK.getMessage(), result);</span>
    -    }
    -
    -    /**
    -     * client 요청 처리 성공 시의 응답값을 생성하는 메서드
    -     *
    -     * @param code   성공 응답 코드
    -     * @param result client 응답에 넣을 객체
    -     * @param &lt;T&gt;    응답에 담을 객체 타입
    -     * @return client 응답 객체
    -     */
    -    public static &lt;T&gt; ResponseDto&lt;T&gt; onSuccess(BaseCode code, T result) {
    -<span class="nc" id="L63">        return new ResponseDto&lt;&gt;(true, code.getCode(), code.getMsg(), result);</span>
    -    }
    -
    -    /**
    -     * client 요청 처리 실패 시의 응답값을 생성하는 메서드
    -     *
    -     * @param code 실패 응답 코드
    -     * @param &lt;T&gt;  응답에 담을 객체 타입
    -     * @return client 응답 객체
    -     */
    -    public static &lt;T&gt; ResponseDto&lt;T&gt; onFailure(BaseErrorCode code) {
    -<span class="nc" id="L74">        return new ResponseDto&lt;&gt;(false, code.getCode(), code.getErrorMsg(), null);</span>
    -    }
    -
    -    /**
    -     * client 요청 처리 실패 시의 응답값을 생성하는 메서드
    -     *
    -     * @param code    code 실패 응답 코드
    -     * @param message 실패 응답 메시지
    -     * @param result  client 응답에 넣을 객체
    -     * @param &lt;T&gt;     응답에 담을 객체 타입
    -     * @return client 응답 객체
    -     */
    -    public static &lt;T&gt; ResponseDto&lt;T&gt; onFailure(String code, String message, T result) {
    -<span class="nc" id="L87">        return new ResponseDto&lt;&gt;(false, code, message, result);</span>
    -    }
    -
    -    /**
    -     * Error 정보를 갖고 있는 내부 클래스
    -     */
    -    @Getter
    -    @Builder
    -    public static class ErrorReasonDto {
    -        private HttpStatus httpStatus;
    -        private final boolean isSuccess;
    -        private final String code;
    -        private final String message;
    -    }
    -
    -    /**
    -     * 성공 응답 정보를 갖고 있는 내부 클래스
    -     */
    -    @Getter
    -    @Builder
    -    public static class ReasonDto {
    -        private HttpStatus httpStatus;
    -        private final boolean isSuccess;
    -        private final String code;
    -        private final String message;
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.response/index.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.response/index.html
    deleted file mode 100644
    index 7781e211..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.common.response/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.common.response</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.common.response</span></div><h1>com.softeer.backend.global.common.response</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">53 of 53</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="ResponseDto.html" class="el_class">ResponseDto</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="53" alt="53"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">5</td><td class="ctr2" id="g0">5</td><td class="ctr1" id="h0">5</td><td class="ctr2" id="i0">5</td><td class="ctr1" id="j0">5</td><td class="ctr2" id="k0">5</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.response/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.response/index.source.html
    deleted file mode 100644
    index 486a0d3f..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.common.response/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.common.response</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.common.response</span></div><h1>com.softeer.backend.global.common.response</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">53 of 53</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="ResponseDto.java.html" class="el_source">ResponseDto.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="53" alt="53"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">5</td><td class="ctr2" id="g0">5</td><td class="ctr1" id="h0">5</td><td class="ctr2" id="i0">5</td><td class="ctr1" id="j0">5</td><td class="ctr2" id="k0">5</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.swagger/SwaggerController.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.swagger/SwaggerController.html
    deleted file mode 100644
    index 09fd055f..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.common.swagger/SwaggerController.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>SwaggerController</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.common.swagger</a> &gt; <span class="el_class">SwaggerController</span></div><h1>SwaggerController</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">5 of 5</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="SwaggerController.java.html#L7" class="el_method">SwaggerController()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="3" alt="3"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">1</td><td class="ctr2" id="i0">1</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="SwaggerController.java.html#L11" class="el_method">getRedirectUrl()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="80" height="10" title="2" alt="2"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.swagger/SwaggerController.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.swagger/SwaggerController.java.html
    deleted file mode 100644
    index d7796586..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.common.swagger/SwaggerController.java.html
    +++ /dev/null
    @@ -1,14 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>SwaggerController.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.common.swagger</a> &gt; <span class="el_source">SwaggerController.java</span></div><h1>SwaggerController.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.common.swagger;
    -
    -import org.springframework.stereotype.Controller;
    -import org.springframework.web.bind.annotation.RequestMapping;
    -
    -@Controller
    -<span class="nc" id="L7">public class SwaggerController {</span>
    -
    -    @RequestMapping(&quot;/swagger&quot;)
    -    public String getRedirectUrl() {
    -<span class="nc" id="L11">        return &quot;redirect:swagger-ui/index.html&quot;;</span>
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.swagger/index.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.swagger/index.html
    deleted file mode 100644
    index 58308a40..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.common.swagger/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.common.swagger</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.common.swagger</span></div><h1>com.softeer.backend.global.common.swagger</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">5 of 5</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="SwaggerController.html" class="el_class">SwaggerController</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="5" alt="5"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.swagger/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.swagger/index.source.html
    deleted file mode 100644
    index 76234594..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.common.swagger/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.common.swagger</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.common.swagger</span></div><h1>com.softeer.backend.global.common.swagger</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">5 of 5</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="SwaggerController.java.html" class="el_source">SwaggerController.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="5" alt="5"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.cache/CacheConfig.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.cache/CacheConfig.html
    deleted file mode 100644
    index 04eb493b..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.config.cache/CacheConfig.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>CacheConfig</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.config.cache</a> &gt; <span class="el_class">CacheConfig</span></div><h1>CacheConfig</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">45 of 45</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">4</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a1"><a href="CacheConfig.java.html#L22" class="el_method">cacheManager()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="20" alt="20"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">10</td><td class="ctr2" id="i0">10</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="CacheConfig.java.html#L30" class="el_method">lambda$cacheManager$0(Object, Object, RemovalCause)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="108" height="10" title="18" alt="18"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a3"><a href="CacheConfig.java.html#L15" class="el_method">static {...}</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="24" height="10" title="4" alt="4"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a0"><a href="CacheConfig.java.html#L18" class="el_method">CacheConfig()</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="18" height="10" title="3" alt="3"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">1</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.cache/CacheConfig.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.cache/CacheConfig.java.html
    deleted file mode 100644
    index 89472093..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.config.cache/CacheConfig.java.html
    +++ /dev/null
    @@ -1,35 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>CacheConfig.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.config.cache</a> &gt; <span class="el_source">CacheConfig.java</span></div><h1>CacheConfig.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.config.cache;
    -
    -import com.github.benmanes.caffeine.cache.Caffeine;
    -import lombok.extern.slf4j.Slf4j;
    -import org.springframework.cache.CacheManager;
    -import org.springframework.cache.annotation.EnableCaching;
    -import org.springframework.cache.caffeine.CaffeineCacheManager;
    -import org.springframework.cache.concurrent.ConcurrentMapCacheManager;
    -import org.springframework.context.annotation.Bean;
    -import org.springframework.context.annotation.Configuration;
    -
    -import java.util.List;
    -import java.util.concurrent.TimeUnit;
    -
    -<span class="nc" id="L15">@Slf4j</span>
    -@Configuration
    -@EnableCaching
    -<span class="nc" id="L18">public class CacheConfig {</span>
    -
    -    @Bean
    -    public CacheManager cacheManager() {
    -<span class="nc" id="L22">        CaffeineCacheManager cacheManager = new CaffeineCacheManager();</span>
    -<span class="nc" id="L23">        cacheManager.setCaffeine(</span>
    -<span class="nc" id="L24">                Caffeine.newBuilder()</span>
    -<span class="nc" id="L25">                        .expireAfterAccess(1, TimeUnit.DAYS) //첫 번재 접근 후 1일 경과 후, 제거</span>
    -<span class="nc" id="L26">                        .initialCapacity(200) //초기 크기 설정</span>
    -<span class="nc" id="L27">                        .softValues() // 값 객체에 대한 부드러움 참조: 메모리가 부족할 때만 GC가 일어남. GC가 수집 대상으로 판단하더라도 GC가 일어나지 않음</span>
    -<span class="nc" id="L28">                        .maximumSize(1000) // 최대 크기 설정</span>
    -<span class="nc" id="L29">                        .recordStats() // 캐시 지표 기록</span>
    -<span class="nc" id="L30">                        .removalListener((key ,value, cause) -&gt; log.debug(&quot;key: {}, value: {}가 제거 되었습니다. cause: {}&quot;, key, value, cause))</span>
    -        );
    -<span class="nc" id="L32">        return cacheManager;</span>
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.cache/index.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.cache/index.html
    deleted file mode 100644
    index 5f673827..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.config.cache/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.config.cache</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.config.cache</span></div><h1>com.softeer.backend.global.config.cache</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">45 of 45</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="CacheConfig.html" class="el_class">CacheConfig</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="45" alt="45"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">12</td><td class="ctr2" id="i0">12</td><td class="ctr1" id="j0">4</td><td class="ctr2" id="k0">4</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.cache/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.cache/index.source.html
    deleted file mode 100644
    index 47612f26..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.config.cache/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.config.cache</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.config.cache</span></div><h1>com.softeer.backend.global.config.cache</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">45 of 45</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="CacheConfig.java.html" class="el_source">CacheConfig.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="45" alt="45"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">12</td><td class="ctr2" id="i0">12</td><td class="ctr1" id="j0">4</td><td class="ctr2" id="k0">4</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.docs/SwaggerConfig.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.docs/SwaggerConfig.html
    deleted file mode 100644
    index 6070f9cd..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.config.docs/SwaggerConfig.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>SwaggerConfig</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.config.docs</a> &gt; <span class="el_class">SwaggerConfig</span></div><h1>SwaggerConfig</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">70 of 70</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">24</td><td class="ctr2">24</td><td class="ctr1">4</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a3"><a href="SwaggerConfig.java.html#L46" class="el_method">getOpenApi()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="28" alt="28"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">9</td><td class="ctr2" id="i0">9</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="SwaggerConfig.java.html#L59" class="el_method">getJwtSecurityScheme()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="68" height="10" title="16" alt="16"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">6</td><td class="ctr2" id="i1">6</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="SwaggerConfig.java.html#L36" class="el_method">chatOpenApi()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="60" height="10" title="14" alt="14"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">5</td><td class="ctr2" id="i2">5</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a1"><a href="SwaggerConfig.java.html#L68" class="el_method">getJwtRefreshSecurityScheme()</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="51" height="10" title="12" alt="12"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">4</td><td class="ctr2" id="i3">4</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.docs/SwaggerConfig.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.docs/SwaggerConfig.java.html
    deleted file mode 100644
    index c628de15..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.config.docs/SwaggerConfig.java.html
    +++ /dev/null
    @@ -1,74 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>SwaggerConfig.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.config.docs</a> &gt; <span class="el_source">SwaggerConfig.java</span></div><h1>SwaggerConfig.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.config.docs;
    -
    -import com.softeer.backend.global.config.properties.JwtProperties;
    -import io.swagger.v3.oas.annotations.OpenAPIDefinition;
    -import io.swagger.v3.oas.annotations.info.Info;
    -import io.swagger.v3.oas.annotations.servers.Server;
    -import io.swagger.v3.oas.models.Components;
    -import io.swagger.v3.oas.models.OpenAPI;
    -import io.swagger.v3.oas.models.security.SecurityRequirement;
    -import io.swagger.v3.oas.models.security.SecurityScheme;
    -import lombok.RequiredArgsConstructor;
    -import org.springdoc.core.models.GroupedOpenApi;
    -import org.springframework.context.annotation.Bean;
    -import org.springframework.context.annotation.Configuration;
    -
    -/**
    - * Swagger 설정 클래스
    - */
    -@OpenAPIDefinition(
    -        info = @Info(title = &quot;T라미숙해&quot;,
    -                description = &quot;T라미숙해 api명세&quot;,
    -                version = &quot;v1&quot;),
    -        servers = {
    -                @Server(url = &quot;https://softeer.shop&quot;),
    -                @Server(url = &quot;http://localhost:5000&quot;)
    -        }
    -)
    -@RequiredArgsConstructor
    -@Configuration
    -public class SwaggerConfig {
    -
    -    private final JwtProperties jwtProperties;
    -
    -    @Bean
    -    public GroupedOpenApi chatOpenApi() {
    -<span class="nc" id="L36">        String[] paths = {&quot;/**&quot;};</span>
    -
    -<span class="nc" id="L38">        return GroupedOpenApi.builder()</span>
    -<span class="nc" id="L39">                .group(&quot;T라미숙해 API v1&quot;)</span>
    -<span class="nc" id="L40">                .pathsToMatch(paths)</span>
    -<span class="nc" id="L41">                .build();</span>
    -    }
    -
    -    @Bean
    -    public OpenAPI getOpenApi() {
    -<span class="nc" id="L46">        Components components = new Components()</span>
    -<span class="nc" id="L47">                .addSecuritySchemes(&quot;AccessToken&quot;, getJwtSecurityScheme())</span>
    -<span class="nc" id="L48">                .addSecuritySchemes(&quot;RefreshToken&quot;, getJwtRefreshSecurityScheme());</span>
    -<span class="nc" id="L49">        SecurityRequirement securityItem = new SecurityRequirement()</span>
    -<span class="nc" id="L50">                .addList(&quot;AccessToken&quot;)</span>
    -<span class="nc" id="L51">                .addList(&quot;RefreshToken&quot;);</span>
    -
    -<span class="nc" id="L53">        return new OpenAPI()</span>
    -<span class="nc" id="L54">                .components(components)</span>
    -<span class="nc" id="L55">                .addSecurityItem(securityItem);</span>
    -    }
    -
    -    private SecurityScheme getJwtSecurityScheme() {
    -<span class="nc" id="L59">        return new SecurityScheme()</span>
    -<span class="nc" id="L60">                .type(SecurityScheme.Type.HTTP)</span>
    -<span class="nc" id="L61">                .scheme(&quot;bearer&quot;)</span>
    -<span class="nc" id="L62">                .bearerFormat(&quot;JWT&quot;)</span>
    -<span class="nc" id="L63">                .in(SecurityScheme.In.HEADER)</span>
    -<span class="nc" id="L64">                .name(jwtProperties.getAccessHeader());</span>
    -    }
    -
    -    private SecurityScheme getJwtRefreshSecurityScheme() {
    -<span class="nc" id="L68">        return new SecurityScheme()</span>
    -<span class="nc" id="L69">                .type(SecurityScheme.Type.APIKEY)</span>
    -<span class="nc" id="L70">                .in(SecurityScheme.In.HEADER)</span>
    -<span class="nc" id="L71">                .name(jwtProperties.getRefreshHeader());</span>
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.docs/index.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.docs/index.html
    deleted file mode 100644
    index 369ffe69..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.config.docs/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.config.docs</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.config.docs</span></div><h1>com.softeer.backend.global.config.docs</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">70 of 70</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">24</td><td class="ctr2">24</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="SwaggerConfig.html" class="el_class">SwaggerConfig</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="70" alt="70"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">24</td><td class="ctr2" id="i0">24</td><td class="ctr1" id="j0">4</td><td class="ctr2" id="k0">4</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.docs/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.docs/index.source.html
    deleted file mode 100644
    index 33948ed0..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.config.docs/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.config.docs</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.config.docs</span></div><h1>com.softeer.backend.global.config.docs</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">70 of 70</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">24</td><td class="ctr2">24</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="SwaggerConfig.java.html" class="el_source">SwaggerConfig.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="70" alt="70"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">24</td><td class="ctr2" id="i0">24</td><td class="ctr1" id="j0">4</td><td class="ctr2" id="k0">4</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.properties/JwtProperties.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.properties/JwtProperties.html
    deleted file mode 100644
    index a2c42548..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.config.properties/JwtProperties.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>JwtProperties</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.config.properties</a> &gt; <span class="el_class">JwtProperties</span></div><h1>JwtProperties</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">21 of 21</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">8</td><td class="ctr2">8</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="JwtProperties.java.html#L29" class="el_method">JwtProperties(String, String, String, String, Long, Long)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="21" alt="21"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">8</td><td class="ctr2" id="i0">8</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.properties/JwtProperties.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.properties/JwtProperties.java.html
    deleted file mode 100644
    index 913c50df..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.config.properties/JwtProperties.java.html
    +++ /dev/null
    @@ -1,38 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>JwtProperties.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.config.properties</a> &gt; <span class="el_source">JwtProperties.java</span></div><h1>JwtProperties.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.config.properties;
    -
    -import lombok.Getter;
    -import org.springframework.boot.context.properties.ConfigurationProperties;
    -import org.springframework.boot.context.properties.bind.ConstructorBinding;
    -
    -/**
    - * JWT 속성 관리 클래스
    - * &lt;p&gt;
    - * bearer: JWT 토큰 타입
    - * secret: JWT 비밀 키
    - * accessHeader: Access Token 헤더 이름
    - * refreshHeader: Refresh Token 헤더 이름
    - * accessExpiration: Access Token 유효 기간
    - * refreshExpiration: Refresh Token 유효 기간
    - */
    -@Getter
    -@ConfigurationProperties(&quot;jwt&quot;)
    -public class JwtProperties {
    -    private final String bearer;
    -    private final String secret;
    -    private final String accessHeader;
    -    private final String refreshHeader;
    -    private final Long accessExpiration;
    -    private final Long refreshExpiration;
    -
    -    @ConstructorBinding
    -    public JwtProperties(String bearer, String secret, String accessHeader, String refreshHeader,
    -<span class="nc" id="L29">                         Long accessExpiration, Long refreshExpiration) {</span>
    -<span class="nc" id="L30">        this.bearer = bearer;</span>
    -<span class="nc" id="L31">        this.secret = secret;</span>
    -<span class="nc" id="L32">        this.accessHeader = accessHeader;</span>
    -<span class="nc" id="L33">        this.refreshHeader = refreshHeader;</span>
    -<span class="nc" id="L34">        this.accessExpiration = accessExpiration;</span>
    -<span class="nc" id="L35">        this.refreshExpiration = refreshExpiration;</span>
    -<span class="nc" id="L36">    }</span>
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.properties/RedisProperties.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.properties/RedisProperties.html
    deleted file mode 100644
    index 3538406a..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.config.properties/RedisProperties.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>RedisProperties</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.config.properties</a> &gt; <span class="el_class">RedisProperties</span></div><h1>RedisProperties</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">9 of 9</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="RedisProperties.java.html#L20" class="el_method">RedisProperties(String, Integer)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="9" alt="9"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">4</td><td class="ctr2" id="i0">4</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.properties/RedisProperties.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.properties/RedisProperties.java.html
    deleted file mode 100644
    index 2740aac6..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.config.properties/RedisProperties.java.html
    +++ /dev/null
    @@ -1,25 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>RedisProperties.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.config.properties</a> &gt; <span class="el_source">RedisProperties.java</span></div><h1>RedisProperties.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.config.properties;
    -
    -import lombok.Getter;
    -import org.springframework.boot.context.properties.ConfigurationProperties;
    -import org.springframework.boot.context.properties.bind.ConstructorBinding;
    -
    -/**
    - * Redis 속성 관리 클래스
    - * &lt;p&gt;
    - * host: Redis host 정보
    - * port: Redis 포트 정보
    - */
    -@Getter
    -@ConfigurationProperties(&quot;spring.data.redis&quot;)
    -public class RedisProperties {
    -    private final String host;
    -    private final Integer port;
    -
    -    @ConstructorBinding
    -<span class="nc" id="L20">    public RedisProperties(String host, Integer port) {</span>
    -<span class="nc" id="L21">        this.host = host;</span>
    -<span class="nc" id="L22">        this.port = port;</span>
    -<span class="nc" id="L23">    }</span>
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.properties/index.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.properties/index.html
    deleted file mode 100644
    index 1b6eea94..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.config.properties/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.config.properties</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.config.properties</span></div><h1>com.softeer.backend.global.config.properties</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">30 of 30</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="JwtProperties.html" class="el_class">JwtProperties</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="21" alt="21"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">8</td><td class="ctr2" id="i0">8</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a1"><a href="RedisProperties.html" class="el_class">RedisProperties</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="51" height="10" title="9" alt="9"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">4</td><td class="ctr2" id="i1">4</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.properties/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.properties/index.source.html
    deleted file mode 100644
    index a99eb421..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.config.properties/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.config.properties</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.config.properties</span></div><h1>com.softeer.backend.global.config.properties</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">30 of 30</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="JwtProperties.java.html" class="el_source">JwtProperties.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="21" alt="21"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">8</td><td class="ctr2" id="i0">8</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a1"><a href="RedisProperties.java.html" class="el_source">RedisProperties.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="51" height="10" title="9" alt="9"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">4</td><td class="ctr2" id="i1">4</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.redis/RedisConfig.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.redis/RedisConfig.html
    deleted file mode 100644
    index 9e1b4667..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.config.redis/RedisConfig.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>RedisConfig</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.config.redis</a> &gt; <span class="el_class">RedisConfig</span></div><h1>RedisConfig</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">60 of 60</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a2"><a href="RedisConfig.java.html#L33" class="el_method">redisTemplateForInteger(RedisConnectionFactory)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="31" alt="31"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">7</td><td class="ctr2" id="i0">7</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="RedisConfig.java.html#L55" class="el_method">redissonClient()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="69" height="10" title="18" alt="18"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">4</td><td class="ctr2" id="i1">4</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="RedisConfig.java.html#L28" class="el_method">redisConnectionFactory()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="42" height="10" title="11" alt="11"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.redis/RedisConfig.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.redis/RedisConfig.java.html
    deleted file mode 100644
    index 40a50369..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.config.redis/RedisConfig.java.html
    +++ /dev/null
    @@ -1,62 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>RedisConfig.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.config.redis</a> &gt; <span class="el_source">RedisConfig.java</span></div><h1>RedisConfig.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.config.redis;
    -
    -import com.softeer.backend.global.config.properties.RedisProperties;
    -import lombok.RequiredArgsConstructor;
    -import org.redisson.Redisson;
    -import org.redisson.api.RedissonClient;
    -import org.redisson.config.Config;
    -import org.springframework.context.annotation.Bean;
    -import org.springframework.context.annotation.Configuration;
    -import org.springframework.data.redis.connection.RedisConnectionFactory;
    -import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory;
    -import org.springframework.data.redis.core.RedisTemplate;
    -import org.springframework.data.redis.serializer.GenericToStringSerializer;
    -import org.springframework.data.redis.serializer.StringRedisSerializer;
    -
    -/**
    - * Redis 환경설정 클래스
    - */
    -@Configuration
    -@RequiredArgsConstructor
    -public class RedisConfig {
    -    private static final String REDISSON_HOST_PREFIX = &quot;redis://&quot;;
    -
    -    private final RedisProperties redisProperties;
    -
    -    @Bean
    -    public RedisConnectionFactory redisConnectionFactory() {
    -<span class="nc" id="L28">        return new LettuceConnectionFactory(redisProperties.getHost(), redisProperties.getPort());</span>
    -    }
    -
    -    @Bean
    -    public RedisTemplate&lt;String, Integer&gt; redisTemplateForInteger(RedisConnectionFactory connectionFactory) {
    -<span class="nc" id="L33">        RedisTemplate&lt;String, Integer&gt; template = new RedisTemplate&lt;&gt;();</span>
    -<span class="nc" id="L34">        template.setConnectionFactory(connectionFactory);</span>
    -
    -<span class="nc" id="L36">        template.setKeySerializer(new StringRedisSerializer());</span>
    -
    -<span class="nc" id="L38">        template.setValueSerializer(new GenericToStringSerializer&lt;&gt;(Integer.class));</span>
    -
    -<span class="nc" id="L40">        template.setHashKeySerializer(new StringRedisSerializer());</span>
    -
    -<span class="nc" id="L42">        template.setHashValueSerializer(new GenericToStringSerializer&lt;&gt;(Integer.class));</span>
    -
    -<span class="nc" id="L44">        return template;</span>
    -    }
    -
    -    /**
    -     * Redisson 설정
    -     *
    -     * @return RedissonClient 객체
    -     */
    -    @Bean
    -    public RedissonClient redissonClient() {
    -
    -<span class="nc" id="L55">        Config config = new Config();</span>
    -<span class="nc" id="L56">        config.useSingleServer().setAddress(</span>
    -<span class="nc" id="L57">                REDISSON_HOST_PREFIX + redisProperties.getHost() + &quot;:&quot; + redisProperties.getPort());</span>
    -
    -<span class="nc" id="L59">        return Redisson.create(config);</span>
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.redis/index.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.redis/index.html
    deleted file mode 100644
    index 6f9b9d7e..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.config.redis/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.config.redis</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.config.redis</span></div><h1>com.softeer.backend.global.config.redis</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">60 of 60</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="RedisConfig.html" class="el_class">RedisConfig</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="60" alt="60"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">12</td><td class="ctr2" id="i0">12</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k0">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.redis/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.redis/index.source.html
    deleted file mode 100644
    index b75b2cbf..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.config.redis/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.config.redis</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.config.redis</span></div><h1>com.softeer.backend.global.config.redis</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">60 of 60</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="RedisConfig.java.html" class="el_source">RedisConfig.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="60" alt="60"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">12</td><td class="ctr2" id="i0">12</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k0">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.schedular/SchedulerConfig.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.schedular/SchedulerConfig.html
    deleted file mode 100644
    index fe2a97d9..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.config.schedular/SchedulerConfig.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>SchedulerConfig</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.config.schedular</a> &gt; <span class="el_class">SchedulerConfig</span></div><h1>SchedulerConfig</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">15 of 15</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="SchedulerConfig.java.html#L11" class="el_method">taskScheduler()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="12" alt="12"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">4</td><td class="ctr2" id="i0">4</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="SchedulerConfig.java.html#L8" class="el_method">SchedulerConfig()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="30" height="10" title="3" alt="3"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.schedular/SchedulerConfig.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.schedular/SchedulerConfig.java.html
    deleted file mode 100644
    index b6766acc..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.config.schedular/SchedulerConfig.java.html
    +++ /dev/null
    @@ -1,17 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>SchedulerConfig.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.config.schedular</a> &gt; <span class="el_source">SchedulerConfig.java</span></div><h1>SchedulerConfig.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.config.schedular;
    -
    -import org.springframework.context.annotation.Bean;
    -import org.springframework.context.annotation.Configuration;
    -import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
    -
    -@Configuration
    -<span class="nc" id="L8">public class SchedulerConfig {</span>
    -    @Bean
    -    public ThreadPoolTaskScheduler taskScheduler() {
    -<span class="nc" id="L11">        ThreadPoolTaskScheduler taskScheduler = new ThreadPoolTaskScheduler();</span>
    -<span class="nc" id="L12">        taskScheduler.setPoolSize(2);</span>
    -<span class="nc" id="L13">        taskScheduler.setThreadNamePrefix(&quot;Scheduler-&quot;);</span>
    -<span class="nc" id="L14">        return taskScheduler;</span>
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.schedular/index.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.schedular/index.html
    deleted file mode 100644
    index 8a985653..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.config.schedular/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.config.schedular</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.config.schedular</span></div><h1>com.softeer.backend.global.config.schedular</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">15 of 15</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="SchedulerConfig.html" class="el_class">SchedulerConfig</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="15" alt="15"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">5</td><td class="ctr2" id="i0">5</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.schedular/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.schedular/index.source.html
    deleted file mode 100644
    index 0646f84f..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.config.schedular/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.config.schedular</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.config.schedular</span></div><h1>com.softeer.backend.global.config.schedular</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">15 of 15</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="SchedulerConfig.java.html" class="el_source">SchedulerConfig.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="15" alt="15"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">5</td><td class="ctr2" id="i0">5</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.web/WebMvcConfig.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.web/WebMvcConfig.html
    deleted file mode 100644
    index f9970646..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.config.web/WebMvcConfig.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>WebMvcConfig</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.config.web</a> &gt; <span class="el_class">WebMvcConfig</span></div><h1>WebMvcConfig</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">206 of 206</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">7</td><td class="ctr2">7</td><td class="ctr1">33</td><td class="ctr2">33</td><td class="ctr1">7</td><td class="ctr2">7</td></tr></tfoot><tbody><tr><td id="a1"><a href="WebMvcConfig.java.html#L66" class="el_method">addCorsMappings(CorsRegistry)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="77" alt="77"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">8</td><td class="ctr2" id="i0">8</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a4"><a href="WebMvcConfig.java.html#L93" class="el_method">jwtAuthenticationFilter()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="43" height="10" title="28" alt="28"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">5</td><td class="ctr2" id="i1">5</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="WebMvcConfig.java.html#L51" class="el_method">addInterceptors(InterceptorRegistry)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="38" height="10" title="25" alt="25"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">5</td><td class="ctr2" id="i2">5</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a3"><a href="WebMvcConfig.java.html#L81" class="el_method">exceptionHandleFilter()</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="37" height="10" title="24" alt="24"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">5</td><td class="ctr2" id="i3">5</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a6"><a href="WebMvcConfig.java.html#L114" class="el_method">shallowEtagHeaderFilter()</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="35" height="10" title="23" alt="23"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h5">3</td><td class="ctr2" id="i5">3</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a5"><a href="WebMvcConfig.java.html#L105" class="el_method">jwtAuthorizationFilter()</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="34" height="10" title="22" alt="22"/></td><td class="ctr2" id="c5">0%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">1</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h4">5</td><td class="ctr2" id="i4">5</td><td class="ctr1" id="j5">1</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a0"><a href="WebMvcConfig.java.html#L46" class="el_method">addArgumentResolvers(List)</a></td><td class="bar" id="b6"><img src="../jacoco-resources/redbar.gif" width="10" height="10" title="7" alt="7"/></td><td class="ctr2" id="c6">0%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">1</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h6">2</td><td class="ctr2" id="i6">2</td><td class="ctr1" id="j6">1</td><td class="ctr2" id="k6">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.web/WebMvcConfig.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.web/WebMvcConfig.java.html
    deleted file mode 100644
    index 567e78ff..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.config.web/WebMvcConfig.java.html
    +++ /dev/null
    @@ -1,121 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>WebMvcConfig.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.config.web</a> &gt; <span class="el_source">WebMvcConfig.java</span></div><h1>WebMvcConfig.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.config.web;
    -
    -import com.fasterxml.jackson.databind.ObjectMapper;
    -import com.softeer.backend.fo_domain.draw.interceptor.DrawTimeCheckInterceptor;
    -import com.softeer.backend.fo_domain.fcfs.interceptor.FcfsTimeCheckInterceptor;
    -import com.softeer.backend.global.annotation.argumentresolver.AuthInfoArgumentResolver;
    -import com.softeer.backend.global.config.properties.JwtProperties;
    -import com.softeer.backend.global.filter.ExceptionHandlingFilter;
    -import com.softeer.backend.global.filter.JwtAuthenticationFilter;
    -import com.softeer.backend.global.filter.JwtAuthorizationFilter;
    -import com.softeer.backend.global.util.JwtUtil;
    -import com.softeer.backend.global.util.StringRedisUtil;
    -import lombok.RequiredArgsConstructor;
    -import org.springframework.boot.web.servlet.FilterRegistrationBean;
    -import org.springframework.context.annotation.Bean;
    -import org.springframework.context.annotation.Configuration;
    -import org.springframework.web.filter.ShallowEtagHeaderFilter;
    -import org.springframework.web.method.support.HandlerMethodArgumentResolver;
    -import org.springframework.web.servlet.config.annotation.CorsRegistry;
    -import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
    -import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
    -
    -import java.util.List;
    -
    -/**
    - * WebMvc 설정 클래스
    - */
    -@Configuration
    -@RequiredArgsConstructor
    -public class WebMvcConfig implements WebMvcConfigurer {
    -
    -    private final ObjectMapper objectMapper;
    -    private final JwtUtil jwtUtil;
    -    private final StringRedisUtil stringRedisUtil;
    -    private final JwtProperties jwtProperties;
    -
    -    private final FcfsTimeCheckInterceptor fcfsTimeCheckInterceptor;
    -    private final DrawTimeCheckInterceptor drawTimeCheckInterceptor;
    -
    -    /**
    -     * AuthInfo 애노테이션에 대한 Argument Resolver 등록
    -     *
    -     * @param resolvers
    -     */
    -    public void addArgumentResolvers(List&lt;HandlerMethodArgumentResolver&gt; resolvers) {
    -<span class="nc" id="L46">        resolvers.add(new AuthInfoArgumentResolver());</span>
    -<span class="nc" id="L47">    }</span>
    -
    -    @Override
    -    public void addInterceptors(InterceptorRegistry registry) {
    -<span class="nc" id="L51">        registry.addInterceptor(fcfsTimeCheckInterceptor)</span>
    -<span class="nc" id="L52">                .addPathPatterns(&quot;/fcfs&quot;);</span>
    -
    -<span class="nc" id="L54">        registry.addInterceptor(drawTimeCheckInterceptor)</span>
    -<span class="nc" id="L55">                .addPathPatterns(&quot;/event/draw&quot;);</span>
    -<span class="nc" id="L56">    }</span>
    -
    -    /**
    -     * CORS 설정 메서드
    -     *
    -     * @param registry Cors 등록 객체
    -     */
    -    @Override
    -    public void addCorsMappings(CorsRegistry registry) {
    -
    -<span class="nc" id="L66">        registry.addMapping(&quot;/**&quot;)</span>
    -<span class="nc" id="L67">                .allowedOrigins(&quot;https://softeer.site&quot;, &quot;http://localhost:5173&quot;, &quot;https://softeer.shop&quot;,</span>
    -                        &quot;https://d3qmq1ffhp5il9.cloudfront.net&quot;) // 허용할 도메인 설정
    -<span class="nc" id="L69">                .allowedMethods(&quot;OPTIONS&quot;, &quot;GET&quot;, &quot;POST&quot;, &quot;PUT&quot;, &quot;DELETE&quot;) // 허용할 HTTP 메서드 설정</span>
    -<span class="nc" id="L70">                .allowedHeaders(&quot;Content-Type&quot;, &quot;Authorization&quot;, &quot;Authorization-Refresh&quot;) // 허용할 헤더 설정</span>
    -<span class="nc" id="L71">                .exposedHeaders(&quot;Authorization&quot;, &quot;Authorization-Refresh&quot;) // 클라이언트에 노출할 헤더 설정</span>
    -<span class="nc" id="L72">                .allowCredentials(true) // 자격 증명 허용</span>
    -<span class="nc" id="L73">                .maxAge(3600); // preflight 요청의 캐시 시간 설정 (초 단위)</span>
    -<span class="nc" id="L74">    }</span>
    -
    -    /**
    -     * ExceptionHandlingFilter를 필터에 등록
    -     */
    -    @Bean
    -    public FilterRegistrationBean&lt;ExceptionHandlingFilter&gt; exceptionHandleFilter() {
    -<span class="nc" id="L81">        FilterRegistrationBean&lt;ExceptionHandlingFilter&gt; registrationBean = new FilterRegistrationBean&lt;&gt;();</span>
    -<span class="nc" id="L82">        registrationBean.setFilter(new ExceptionHandlingFilter(objectMapper));</span>
    -<span class="nc" id="L83">        registrationBean.addUrlPatterns(&quot;/*&quot;);</span>
    -<span class="nc" id="L84">        registrationBean.setOrder(1);</span>
    -<span class="nc" id="L85">        return registrationBean;</span>
    -    }
    -
    -    /**
    -     * JwtAuthenticationFilter를 필터에 등록
    -     */
    -    @Bean
    -    public FilterRegistrationBean&lt;JwtAuthenticationFilter&gt; jwtAuthenticationFilter() {
    -<span class="nc" id="L93">        FilterRegistrationBean&lt;JwtAuthenticationFilter&gt; registrationBean = new FilterRegistrationBean&lt;&gt;();</span>
    -<span class="nc" id="L94">        registrationBean.setFilter(new JwtAuthenticationFilter(jwtUtil, stringRedisUtil, jwtProperties));</span>
    -<span class="nc" id="L95">        registrationBean.addUrlPatterns(&quot;/*&quot;);</span>
    -<span class="nc" id="L96">        registrationBean.setOrder(2);</span>
    -<span class="nc" id="L97">        return registrationBean;</span>
    -    }
    -
    -    /**
    -     * JwtAuthorizationFilter를 필터에 등록
    -     */
    -    @Bean
    -    public FilterRegistrationBean&lt;JwtAuthorizationFilter&gt; jwtAuthorizationFilter() {
    -<span class="nc" id="L105">        FilterRegistrationBean&lt;JwtAuthorizationFilter&gt; registrationBean = new FilterRegistrationBean&lt;&gt;();</span>
    -<span class="nc" id="L106">        registrationBean.setFilter(new JwtAuthorizationFilter());</span>
    -<span class="nc" id="L107">        registrationBean.addUrlPatterns(&quot;/admin/*&quot;);</span>
    -<span class="nc" id="L108">        registrationBean.setOrder(3);</span>
    -<span class="nc" id="L109">        return registrationBean;</span>
    -    }
    -
    -    @Bean
    -    public FilterRegistrationBean&lt;ShallowEtagHeaderFilter&gt; shallowEtagHeaderFilter() {
    -<span class="nc" id="L114">        FilterRegistrationBean&lt;ShallowEtagHeaderFilter&gt; filterRegistrationBean</span>
    -                = new FilterRegistrationBean&lt;&gt;(new ShallowEtagHeaderFilter());
    -<span class="nc" id="L116">        filterRegistrationBean.addUrlPatterns(&quot;/main/event/static&quot;, &quot;/main/car&quot;);</span>
    -<span class="nc" id="L117">        return filterRegistrationBean;</span>
    -    }
    -
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.web/index.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.web/index.html
    deleted file mode 100644
    index 7eaf93fa..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.config.web/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.config.web</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.config.web</span></div><h1>com.softeer.backend.global.config.web</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">206 of 206</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">7</td><td class="ctr2">7</td><td class="ctr1">33</td><td class="ctr2">33</td><td class="ctr1">7</td><td class="ctr2">7</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="WebMvcConfig.html" class="el_class">WebMvcConfig</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="206" alt="206"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">7</td><td class="ctr2" id="g0">7</td><td class="ctr1" id="h0">33</td><td class="ctr2" id="i0">33</td><td class="ctr1" id="j0">7</td><td class="ctr2" id="k0">7</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.web/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.web/index.source.html
    deleted file mode 100644
    index 02877261..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.config.web/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.config.web</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.config.web</span></div><h1>com.softeer.backend.global.config.web</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">206 of 206</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">7</td><td class="ctr2">7</td><td class="ctr1">33</td><td class="ctr2">33</td><td class="ctr1">7</td><td class="ctr2">7</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="WebMvcConfig.java.html" class="el_source">WebMvcConfig.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="206" alt="206"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">7</td><td class="ctr2" id="g0">7</td><td class="ctr1" id="h0">33</td><td class="ctr2" id="i0">33</td><td class="ctr1" id="j0">7</td><td class="ctr2" id="k0">7</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.filter/ExceptionHandlingFilter.html b/jacoco/jacocoHtml/com.softeer.backend.global.filter/ExceptionHandlingFilter.html
    deleted file mode 100644
    index 2f14de37..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.filter/ExceptionHandlingFilter.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ExceptionHandlingFilter</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.filter</a> &gt; <span class="el_class">ExceptionHandlingFilter</span></div><h1>ExceptionHandlingFilter</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">59 of 59</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">20</td><td class="ctr2">20</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a1"><a href="ExceptionHandlingFilter.java.html#L53" class="el_method">setErrorResponse(HttpServletResponse, BaseErrorCode)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="29" alt="29"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">10</td><td class="ctr2" id="i0">10</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="ExceptionHandlingFilter.java.html#L30" class="el_method">doFilterInternal(HttpServletRequest, HttpServletResponse, FilterChain)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="107" height="10" title="26" alt="26"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">9</td><td class="ctr2" id="i1">9</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="ExceptionHandlingFilter.java.html#L21" class="el_method">static {...}</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="16" height="10" title="4" alt="4"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.filter/ExceptionHandlingFilter.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.filter/ExceptionHandlingFilter.java.html
    deleted file mode 100644
    index 92151b3c..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.filter/ExceptionHandlingFilter.java.html
    +++ /dev/null
    @@ -1,68 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ExceptionHandlingFilter.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.filter</a> &gt; <span class="el_source">ExceptionHandlingFilter.java</span></div><h1>ExceptionHandlingFilter.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.filter;
    -
    -import com.fasterxml.jackson.databind.ObjectMapper;
    -import com.softeer.backend.global.common.code.BaseErrorCode;
    -import com.softeer.backend.global.common.code.status.ErrorStatus;
    -import com.softeer.backend.global.common.exception.JwtAuthenticationException;
    -import com.softeer.backend.global.common.response.ResponseDto;
    -import jakarta.servlet.FilterChain;
    -import jakarta.servlet.http.HttpServletRequest;
    -import jakarta.servlet.http.HttpServletResponse;
    -import lombok.RequiredArgsConstructor;
    -import lombok.extern.slf4j.Slf4j;
    -import org.springframework.web.filter.OncePerRequestFilter;
    -
    -import java.io.IOException;
    -import java.io.OutputStream;
    -
    -/**
    - * Jwt 예외를 처리하는 필터 클래스
    - */
    -<span class="nc" id="L21">@Slf4j</span>
    -@RequiredArgsConstructor
    -public class ExceptionHandlingFilter extends OncePerRequestFilter {
    -
    -    private final ObjectMapper objectMapper;
    -
    -    @Override
    -    protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) {
    -        try {
    -<span class="nc" id="L30">            filterChain.doFilter(request, response);</span>
    -            // Jwt 인증 예외 처리
    -<span class="nc" id="L32">        } catch (JwtAuthenticationException jwtAuthenticationException) {</span>
    -
    -<span class="nc" id="L34">            log.error(&quot;JwtAuthenticationException occurs in ExceptionHandlingFilter&quot;,</span>
    -                    jwtAuthenticationException);
    -
    -<span class="nc" id="L37">            setErrorResponse(response, jwtAuthenticationException.getCode());</span>
    -
    -            // 나머지 예외 처리
    -<span class="nc" id="L40">        } catch (Exception e) {</span>
    -
    -<span class="nc" id="L42">            log.error(&quot;Exception occurs in ExceptionHandlingFilter&quot;, e);</span>
    -
    -<span class="nc" id="L44">            setErrorResponse(response, ErrorStatus._INTERNAL_SERVER_ERROR);</span>
    -<span class="nc" id="L45">        }</span>
    -<span class="nc" id="L46">    }</span>
    -
    -    // 인증 예외 처리 메서드
    -    private void setErrorResponse(HttpServletResponse response,
    -                                  BaseErrorCode errorCode) {
    -
    -
    -<span class="nc" id="L53">        response.setStatus(errorCode.getHttpStatus().value());</span>
    -<span class="nc" id="L54">        response.setContentType(&quot;application/json&quot;);</span>
    -<span class="nc" id="L55">        response.setCharacterEncoding(&quot;UTF-8&quot;);</span>
    -
    -<span class="nc" id="L57">        try (OutputStream os = response.getOutputStream()) {</span>
    -
    -<span class="nc" id="L59">            objectMapper.writeValue(os, ResponseDto.onFailure(errorCode));</span>
    -<span class="nc" id="L60">            os.flush();</span>
    -
    -<span class="nc" id="L62">        } catch (IOException e) {</span>
    -
    -<span class="nc" id="L64">            log.error(&quot;IOException occurs in ExceptionHandlingFilter&quot;, e);</span>
    -<span class="nc" id="L65">        }</span>
    -<span class="nc" id="L66">    }</span>
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.filter/JwtAuthenticationFilter.html b/jacoco/jacocoHtml/com.softeer.backend.global.filter/JwtAuthenticationFilter.html
    deleted file mode 100644
    index 7e534881..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.filter/JwtAuthenticationFilter.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>JwtAuthenticationFilter</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.filter</a> &gt; <span class="el_class">JwtAuthenticationFilter</span></div><h1>JwtAuthenticationFilter</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">298 of 298</td><td class="ctr2">0%</td><td class="bar">18 of 18</td><td class="ctr2">0%</td><td class="ctr1">25</td><td class="ctr2">25</td><td class="ctr1">74</td><td class="ctr2">74</td><td class="ctr1">16</td><td class="ctr2">16</td></tr></tfoot><tbody><tr><td id="a2"><a href="JwtAuthenticationFilter.java.html#L59" class="el_method">doFilterInternal(HttpServletRequest, HttpServletResponse, FilterChain)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="67" alt="67"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="10" alt="10"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">6</td><td class="ctr2" id="g0">6</td><td class="ctr1" id="h0">16</td><td class="ctr2" id="i0">16</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a3"><a href="JwtAuthenticationFilter.java.html#L145" class="el_method">isRefreshTokenMatch(String)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="57" height="10" title="32" alt="32"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="48" height="10" title="4" alt="4"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f1">3</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h3">6</td><td class="ctr2" id="i3">6</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a10"><a href="JwtAuthenticationFilter.java.html#L189" class="el_method">makeResultResponse(HttpServletResponse, JwtTokenResponseDto)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="55" height="10" title="31" alt="31"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h1">9</td><td class="ctr2" id="i1">9</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a12"><a href="JwtAuthenticationFilter.java.html#L162" class="el_method">reIssueRefreshToken(JwtClaimsDto)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="46" height="10" title="26" alt="26"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">1</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h6">4</td><td class="ctr2" id="i6">4</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a11"><a href="JwtAuthenticationFilter.java.html#L112" class="el_method">reissueAccessTokenAndRefreshToken(HttpServletResponse, String, String)</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="44" height="10" title="25" alt="25"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">1</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h4">5</td><td class="ctr2" id="i4">5</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a9"><a href="JwtAuthenticationFilter.java.html#L177" class="el_method">makeAndSendAccessTokenAndRefreshToken(HttpServletResponse, String, String)</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="41" height="10" title="23" alt="23"/></td><td class="ctr2" id="c5">0%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">1</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h2">8</td><td class="ctr2" id="i2">8</td><td class="ctr1" id="j5">1</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a0"><a href="JwtAuthenticationFilter.java.html#L203" class="el_method">checkAccessToken(HttpServletRequest)</a></td><td class="bar" id="b6"><img src="../jacoco-resources/redbar.gif" width="32" height="10" title="18" alt="18"/></td><td class="ctr2" id="c6">0%</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f8">1</td><td class="ctr2" id="g8">1</td><td class="ctr1" id="h5">5</td><td class="ctr2" id="i5">5</td><td class="ctr1" id="j6">1</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a14"><a href="JwtAuthenticationFilter.java.html#L131" class="el_method">validateAccessToken(String)</a></td><td class="bar" id="b7"><img src="../jacoco-resources/redbar.gif" width="25" height="10" title="14" alt="14"/></td><td class="ctr2" id="c7">0%</td><td class="bar" id="d2"><img src="../jacoco-resources/redbar.gif" width="24" height="10" title="2" alt="2"/></td><td class="ctr2" id="e2">0%</td><td class="ctr1" id="f2">2</td><td class="ctr2" id="g2">2</td><td class="ctr1" id="h7">4</td><td class="ctr2" id="i7">4</td><td class="ctr1" id="j7">1</td><td class="ctr2" id="k7">1</td></tr><tr><td id="a15"><a href="JwtAuthenticationFilter.java.html#L138" class="el_method">validateRefreshToken(String)</a></td><td class="bar" id="b8"><img src="../jacoco-resources/redbar.gif" width="25" height="10" title="14" alt="14"/></td><td class="ctr2" id="c8">0%</td><td class="bar" id="d3"><img src="../jacoco-resources/redbar.gif" width="24" height="10" title="2" alt="2"/></td><td class="ctr2" id="e3">0%</td><td class="ctr1" id="f3">2</td><td class="ctr2" id="g3">2</td><td class="ctr1" id="h8">4</td><td class="ctr2" id="i8">4</td><td class="ctr1" id="j8">1</td><td class="ctr2" id="k8">1</td></tr><tr><td id="a1"><a href="JwtAuthenticationFilter.java.html#L125" class="el_method">checkAllConditions(String, String)</a></td><td class="bar" id="b9"><img src="../jacoco-resources/redbar.gif" width="17" height="10" title="10" alt="10"/></td><td class="ctr2" id="c9">0%</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f9">1</td><td class="ctr2" id="g9">1</td><td class="ctr1" id="h9">4</td><td class="ctr2" id="i9">4</td><td class="ctr1" id="j9">1</td><td class="ctr2" id="k9">1</td></tr><tr><td id="a6"><a href="JwtAuthenticationFilter.java.html#L205" class="el_method">lambda$checkAccessToken$2()</a></td><td class="bar" id="b10"><img src="../jacoco-resources/redbar.gif" width="14" height="10" title="8" alt="8"/></td><td class="ctr2" id="c10">0%</td><td class="bar" id="d10"/><td class="ctr2" id="e10">n/a</td><td class="ctr1" id="f10">1</td><td class="ctr2" id="g10">1</td><td class="ctr1" id="h10">2</td><td class="ctr2" id="i10">2</td><td class="ctr1" id="j10">1</td><td class="ctr2" id="k10">1</td></tr><tr><td id="a8"><a href="JwtAuthenticationFilter.java.html#L80" class="el_method">lambda$doFilterInternal$1()</a></td><td class="bar" id="b11"><img src="../jacoco-resources/redbar.gif" width="14" height="10" title="8" alt="8"/></td><td class="ctr2" id="c11">0%</td><td class="bar" id="d11"/><td class="ctr2" id="e11">n/a</td><td class="ctr1" id="f11">1</td><td class="ctr2" id="g11">1</td><td class="ctr1" id="h11">2</td><td class="ctr2" id="i11">2</td><td class="ctr1" id="j11">1</td><td class="ctr2" id="k11">1</td></tr><tr><td id="a7"><a href="JwtAuthenticationFilter.java.html#L76" class="el_method">lambda$doFilterInternal$0()</a></td><td class="bar" id="b12"><img src="../jacoco-resources/redbar.gif" width="14" height="10" title="8" alt="8"/></td><td class="ctr2" id="c12">0%</td><td class="bar" id="d12"/><td class="ctr2" id="e12">n/a</td><td class="ctr1" id="f12">1</td><td class="ctr2" id="g12">1</td><td class="ctr1" id="h12">2</td><td class="ctr2" id="i12">2</td><td class="ctr1" id="j12">1</td><td class="ctr2" id="k12">1</td></tr><tr><td id="a5"><a href="JwtAuthenticationFilter.java.html#L98" class="el_method">isUriInWhiteList(String)</a></td><td class="bar" id="b13"><img src="../jacoco-resources/redbar.gif" width="8" height="10" title="5" alt="5"/></td><td class="ctr2" id="c13">0%</td><td class="bar" id="d13"/><td class="ctr2" id="e13">n/a</td><td class="ctr1" id="f13">1</td><td class="ctr2" id="g13">1</td><td class="ctr1" id="h13">1</td><td class="ctr2" id="i13">1</td><td class="ctr1" id="j13">1</td><td class="ctr2" id="k13">1</td></tr><tr><td id="a4"><a href="JwtAuthenticationFilter.java.html#L102" class="el_method">isUriInOptionalAuthList(String)</a></td><td class="bar" id="b14"><img src="../jacoco-resources/redbar.gif" width="8" height="10" title="5" alt="5"/></td><td class="ctr2" id="c14">0%</td><td class="bar" id="d14"/><td class="ctr2" id="e14">n/a</td><td class="ctr1" id="f14">1</td><td class="ctr2" id="g14">1</td><td class="ctr1" id="h14">1</td><td class="ctr2" id="i14">1</td><td class="ctr1" id="j14">1</td><td class="ctr2" id="k14">1</td></tr><tr><td id="a13"><a href="JwtAuthenticationFilter.java.html#L31" class="el_method">static {...}</a></td><td class="bar" id="b15"><img src="../jacoco-resources/redbar.gif" width="7" height="10" title="4" alt="4"/></td><td class="ctr2" id="c15">0%</td><td class="bar" id="d15"/><td class="ctr2" id="e15">n/a</td><td class="ctr1" id="f15">1</td><td class="ctr2" id="g15">1</td><td class="ctr1" id="h15">1</td><td class="ctr2" id="i15">1</td><td class="ctr1" id="j15">1</td><td class="ctr2" id="k15">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.filter/JwtAuthenticationFilter.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.filter/JwtAuthenticationFilter.java.html
    deleted file mode 100644
    index 362fae6a..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.filter/JwtAuthenticationFilter.java.html
    +++ /dev/null
    @@ -1,215 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>JwtAuthenticationFilter.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.filter</a> &gt; <span class="el_source">JwtAuthenticationFilter.java</span></div><h1>JwtAuthenticationFilter.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.filter;
    -
    -import com.fasterxml.jackson.databind.ObjectMapper;
    -import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
    -import com.softeer.backend.global.common.code.status.ErrorStatus;
    -import com.softeer.backend.global.common.dto.JwtClaimsDto;
    -import com.softeer.backend.global.common.exception.JwtAuthenticationException;
    -import com.softeer.backend.global.common.response.ResponseDto;
    -import com.softeer.backend.global.config.properties.JwtProperties;
    -import com.softeer.backend.global.util.JwtUtil;
    -import com.softeer.backend.global.util.StringRedisUtil;
    -import com.softeer.backend.global.common.dto.JwtTokenResponseDto;
    -import jakarta.servlet.FilterChain;
    -import jakarta.servlet.ServletException;
    -import jakarta.servlet.http.HttpServletRequest;
    -import jakarta.servlet.http.HttpServletResponse;
    -import lombok.RequiredArgsConstructor;
    -import lombok.extern.slf4j.Slf4j;
    -import org.springframework.http.HttpStatus;
    -import org.springframework.util.PatternMatchUtils;
    -import org.springframework.web.cors.CorsUtils;
    -import org.springframework.web.filter.OncePerRequestFilter;
    -
    -import java.io.IOException;
    -import java.io.OutputStream;
    -import java.time.LocalDateTime;
    -
    -/**
    - * Jwt 인증을 처리하는 필터 클래스
    - */
    -<span class="nc" id="L31">@Slf4j</span>
    -@RequiredArgsConstructor
    -public class JwtAuthenticationFilter extends OncePerRequestFilter {
    -
    -    // 인증검사를 하지 않는 url 설정
    -    private final String[] whiteListUrls = {
    -            &quot;/swagger-ui/**&quot;, &quot;/swagger&quot;, &quot;/v3/**&quot;, &quot;/error/**&quot;,
    -            &quot;/verification/send&quot;, &quot;/verification/confirm&quot;, &quot;/verification/send/test&quot;,
    -            &quot;/login&quot;,
    -            &quot;/main/event/static&quot;, &quot;/main/event/info&quot;, &quot;/main/car&quot;,
    -            &quot;/admin/login&quot;, &quot;/admin/signup&quot;,
    -            &quot;/share/**&quot;
    -    };
    -
    -    // Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정
    -    private final String[] optionalAuthUrls = {
    -            &quot;/comment&quot;,
    -            &quot;/share-shorten-url&quot;
    -    };
    -
    -    private final JwtUtil jwtUtil;
    -    private final StringRedisUtil stringRedisUtil;
    -    private final JwtProperties jwtProperties;
    -
    -    @Override
    -    protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException {
    -
    -        // preflight 요청 또는 whitelist에 있는 요청은 인증 검사 x
    -<span class="nc bnc" id="L59" title="All 4 branches missed.">        if (CorsUtils.isPreFlightRequest(request) || isUriInWhiteList(request.getRequestURI())) {</span>
    -<span class="nc" id="L60">            filterChain.doFilter(request, response);</span>
    -<span class="nc" id="L61">            return;</span>
    -        }
    -
    -        // optionalAuthUrls에 등록된 url 중, access token이 header에 없으면 인증 x
    -<span class="nc bnc" id="L65" title="All 2 branches missed.">        if (isUriInOptionalAuthList(request.getRequestURI()) &amp;&amp;</span>
    -<span class="nc bnc" id="L66" title="All 2 branches missed.">                jwtUtil.extractAccessToken(request).isEmpty()) {</span>
    -
    -<span class="nc" id="L68">            filterChain.doFilter(request, response);</span>
    -<span class="nc" id="L69">            return;</span>
    -        }
    -
    -
    -        // Case 01) Access Token 재발급인 경우(Authorization Header Access Token 유효성 x)
    -<span class="nc bnc" id="L74" title="All 2 branches missed.">        if (request.getRequestURI().contains(&quot;/reissue&quot;)) {</span>
    -<span class="nc" id="L75">            String accessToken = jwtUtil.extractAccessToken(request).orElseThrow(() -&gt; {</span>
    -<span class="nc" id="L76">                log.error(&quot;Access Token is missing in the Authorization header during the '/reissue' process.&quot;);</span>
    -<span class="nc" id="L77">                return new JwtAuthenticationException(ErrorStatus._REISSUE_ERROR);</span>
    -            });
    -<span class="nc" id="L79">            String refreshToken = jwtUtil.extractRefreshToken(request).orElseThrow(() -&gt; {</span>
    -<span class="nc" id="L80">                log.error(&quot;Refresh Token is missing in the Authorization header during the '/reissue' process.&quot;);</span>
    -<span class="nc" id="L81">                return new JwtAuthenticationException(ErrorStatus._REISSUE_ERROR);</span>
    -            });
    -
    -<span class="nc" id="L84">            this.reissueAccessTokenAndRefreshToken(response, accessToken, refreshToken);</span>
    -<span class="nc" id="L85">        }</span>
    -        // Case 02) 일반 API 요청인 경우
    -        else {
    -<span class="nc" id="L88">            checkAccessToken(request);</span>
    -<span class="nc" id="L89">            log.info(&quot;jwtAuthentication filter is finished&quot;);</span>
    -
    -            // Authentication Exception 없이 정상 인증처리 된 경우
    -            // 기존 필터 체인 호출
    -<span class="nc" id="L93">            filterChain.doFilter(request, response);</span>
    -        }
    -<span class="nc" id="L95">    }</span>
    -
    -    private boolean isUriInWhiteList(String url) {
    -<span class="nc" id="L98">        return PatternMatchUtils.simpleMatch(whiteListUrls, url);</span>
    -    }
    -
    -    private boolean isUriInOptionalAuthList(String url) {
    -<span class="nc" id="L102">        return PatternMatchUtils.simpleMatch(optionalAuthUrls, url);</span>
    -    }
    -
    -    private void reissueAccessTokenAndRefreshToken(HttpServletResponse response,
    -                                                   String accessToken, String refreshToken) throws IOException {
    -        /**
    -         * 1. refresh token 유효성 검증
    -         * 2. access token 유효성 검증(유효하지 않아야 함)
    -         * 3. redis refresh 와 일치 여부 확인
    -         */
    -<span class="nc" id="L112">        checkAllConditions(accessToken, refreshToken);</span>
    -<span class="nc" id="L113">        String newAccessToken = jwtUtil.createAccessToken(jwtUtil.getJwtClaimsFromRefreshToken(refreshToken));</span>
    -<span class="nc" id="L114">        String newRefreshToken = reIssueRefreshToken(jwtUtil.getJwtClaimsFromRefreshToken(refreshToken));</span>
    -<span class="nc" id="L115">        makeAndSendAccessTokenAndRefreshToken(response, newAccessToken, newRefreshToken);</span>
    -<span class="nc" id="L116">    }</span>
    -
    -    // Access Token + Refresh Token 재발급 메소드
    -    private void checkAllConditions(String accessToken, String refreshToken) {
    -        /**
    -         * 1. access Token 유효하지 않은지 확인
    -         * 2. refresh Token 유효한지 확인
    -         * 3. refresh Token 일치하는지 확인
    -         **/
    -<span class="nc" id="L125">        validateAccessToken(accessToken);</span>
    -<span class="nc" id="L126">        validateRefreshToken(refreshToken);</span>
    -<span class="nc" id="L127">        isRefreshTokenMatch(refreshToken);</span>
    -<span class="nc" id="L128">    }</span>
    -
    -    private void validateAccessToken(String accessToken) {
    -<span class="nc bnc" id="L131" title="All 2 branches missed.">        if (jwtUtil.validateToken(accessToken)) {</span>
    -<span class="nc" id="L132">            log.error(&quot;JWT Access Token is valid during the '/reissue' process.&quot;);</span>
    -<span class="nc" id="L133">            throw new JwtAuthenticationException(ErrorStatus._REISSUE_ERROR);</span>
    -        }
    -<span class="nc" id="L135">    }</span>
    -
    -    private void validateRefreshToken(String refreshToken) {
    -<span class="nc bnc" id="L138" title="All 2 branches missed.">        if (!this.jwtUtil.validateToken(refreshToken)) {</span>
    -<span class="nc" id="L139">            log.error(&quot;JWT Refresh Token is invalid during the '/reissue' process.&quot;);</span>
    -<span class="nc" id="L140">            throw new JwtAuthenticationException(ErrorStatus._REISSUE_ERROR);</span>
    -        }
    -<span class="nc" id="L142">    }</span>
    -
    -    private void isRefreshTokenMatch(String refreshToken) {
    -<span class="nc" id="L145">        JwtClaimsDto jwtClaimsDto = jwtUtil.getJwtClaimsFromRefreshToken(refreshToken);</span>
    -
    -<span class="nc bnc" id="L147" title="All 2 branches missed.">        if (stringRedisUtil.getData(stringRedisUtil.getRedisKeyForJwt(jwtClaimsDto)) == null ||</span>
    -<span class="nc bnc" id="L148" title="All 2 branches missed.">                !refreshToken.equals(stringRedisUtil.getData(stringRedisUtil.getRedisKeyForJwt(jwtClaimsDto)))) {</span>
    -
    -<span class="nc" id="L150">            log.error(&quot;WT Refresh Token is either missing in Redis or does not match the token in Redis.&quot;);</span>
    -<span class="nc" id="L151">            throw new JwtAuthenticationException(ErrorStatus._REISSUE_ERROR);</span>
    -        }
    -<span class="nc" id="L153">    }</span>
    -
    -    /**
    -     * refresh token 재발급 하는 메소드
    -     * 1. 새로운 Refresh Token 발급
    -     * 2. 해당 Key 에 해당하는 Redis Value 업데이트
    -     **/
    -    private String reIssueRefreshToken(JwtClaimsDto jwtClaimsDto) {
    -        // 기존 refresh token 삭제
    -<span class="nc" id="L162">        stringRedisUtil.deleteData(stringRedisUtil.getRedisKeyForJwt(jwtClaimsDto));</span>
    -<span class="nc" id="L163">        String reIssuedRefreshToken = jwtUtil.createRefreshToken(jwtClaimsDto);</span>
    -        // refresh token 저장
    -<span class="nc" id="L165">        stringRedisUtil.setDataExpire(stringRedisUtil.getRedisKeyForJwt(jwtClaimsDto), reIssuedRefreshToken, jwtProperties.getRefreshExpiration());</span>
    -<span class="nc" id="L166">        return reIssuedRefreshToken;</span>
    -    }
    -
    -    /**
    -     * 재발급한 refresh &amp; access token 응답으로 보내는 메소드
    -     * 1. 상태 코드 설정
    -     * 2. 응답 헤더에 설정 (jwtProperties 에서 정보 가져옴)
    -     **/
    -    private void makeAndSendAccessTokenAndRefreshToken(HttpServletResponse response,
    -                                                       String accessToken,
    -                                                       String refreshToken) throws IOException {
    -<span class="nc" id="L177">        LocalDateTime expireTime = LocalDateTime.now().plusSeconds(this.jwtProperties.getAccessExpiration() / 1000);</span>
    -        // refresh token, access token 을 응답 본문에 넣어 응답
    -<span class="nc" id="L179">        JwtTokenResponseDto jwtTokenResponseDto = JwtTokenResponseDto.builder()</span>
    -<span class="nc" id="L180">                .accessToken(accessToken)</span>
    -<span class="nc" id="L181">                .refreshToken(refreshToken)</span>
    -<span class="nc" id="L182">                .expiredTime(expireTime)</span>
    -<span class="nc" id="L183">                .build();</span>
    -<span class="nc" id="L184">        makeResultResponse(response, jwtTokenResponseDto);</span>
    -<span class="nc" id="L185">    }</span>
    -
    -    private void makeResultResponse(HttpServletResponse response,
    -                                    JwtTokenResponseDto jwtTokenResponseDto) throws IOException {
    -<span class="nc" id="L189">        response.setStatus(HttpStatus.OK.value());</span>
    -<span class="nc" id="L190">        response.setContentType(&quot;application/json&quot;);</span>
    -<span class="nc" id="L191">        response.setCharacterEncoding(&quot;UTF-8&quot;);</span>
    -
    -<span class="nc" id="L193">        try (OutputStream os = response.getOutputStream()) {</span>
    -<span class="nc" id="L194">            ObjectMapper objectMapper = new ObjectMapper().registerModule(new JavaTimeModule());</span>
    -<span class="nc" id="L195">            ResponseDto&lt;JwtTokenResponseDto&gt; responseDto = ResponseDto.onSuccess(jwtTokenResponseDto);</span>
    -<span class="nc" id="L196">            objectMapper.writeValue(os, responseDto);</span>
    -<span class="nc" id="L197">            os.flush();</span>
    -        }
    -<span class="nc" id="L199">    }</span>
    -
    -    private void checkAccessToken(HttpServletRequest request) {
    -
    -<span class="nc" id="L203">        String accessToken = jwtUtil.extractAccessToken(request)</span>
    -<span class="nc" id="L204">                .orElseThrow(() -&gt; {</span>
    -<span class="nc" id="L205">                    log.error(&quot;Access Token is missing in the Authorization header.&quot;);</span>
    -<span class="nc" id="L206">                    return new JwtAuthenticationException(ErrorStatus._UNAUTHORIZED);</span>
    -                });
    -
    -<span class="nc" id="L209">        JwtClaimsDto jwtClaimsDto = jwtUtil.getJwtClaimsFromAccessToken(accessToken);</span>
    -
    -<span class="nc" id="L211">        request.setAttribute(&quot;jwtClaims&quot;, jwtClaimsDto);</span>
    -<span class="nc" id="L212">    }</span>
    -
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.filter/JwtAuthorizationFilter.html b/jacoco/jacocoHtml/com.softeer.backend.global.filter/JwtAuthorizationFilter.html
    deleted file mode 100644
    index 13458218..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.filter/JwtAuthorizationFilter.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>JwtAuthorizationFilter</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.filter</a> &gt; <span class="el_class">JwtAuthorizationFilter</span></div><h1>JwtAuthorizationFilter</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">46 of 46</td><td class="ctr2">0%</td><td class="bar">8 of 8</td><td class="ctr2">0%</td><td class="ctr1">7</td><td class="ctr2">7</td><td class="ctr1">11</td><td class="ctr2">11</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a0"><a href="JwtAuthorizationFilter.java.html#L34" class="el_method">doFilterInternal(HttpServletRequest, HttpServletResponse, FilterChain)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="37" alt="37"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="8" alt="8"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">5</td><td class="ctr2" id="g0">5</td><td class="ctr1" id="h0">9</td><td class="ctr2" id="i0">9</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="JwtAuthorizationFilter.java.html#L52" class="el_method">isUriInWhiteList(String)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="16" height="10" title="5" alt="5"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="JwtAuthorizationFilter.java.html#L22" class="el_method">static {...}</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="12" height="10" title="4" alt="4"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.filter/JwtAuthorizationFilter.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.filter/JwtAuthorizationFilter.java.html
    deleted file mode 100644
    index 44c3045f..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.filter/JwtAuthorizationFilter.java.html
    +++ /dev/null
    @@ -1,56 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>JwtAuthorizationFilter.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.filter</a> &gt; <span class="el_source">JwtAuthorizationFilter.java</span></div><h1>JwtAuthorizationFilter.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.filter;
    -
    -import com.softeer.backend.global.common.code.status.ErrorStatus;
    -import com.softeer.backend.global.common.constant.RoleType;
    -import com.softeer.backend.global.common.dto.JwtClaimsDto;
    -import com.softeer.backend.global.common.exception.JwtAuthorizationException;
    -import jakarta.servlet.FilterChain;
    -import jakarta.servlet.ServletException;
    -import jakarta.servlet.http.HttpServletRequest;
    -import jakarta.servlet.http.HttpServletResponse;
    -import lombok.NoArgsConstructor;
    -import lombok.extern.slf4j.Slf4j;
    -import org.springframework.util.PatternMatchUtils;
    -import org.springframework.web.cors.CorsUtils;
    -import org.springframework.web.filter.OncePerRequestFilter;
    -
    -import java.io.IOException;
    -
    -/**
    - * 유저의 권한을 검증하는 필터 클래스
    - */
    -<span class="nc" id="L22">@Slf4j</span>
    -@NoArgsConstructor
    -public class JwtAuthorizationFilter extends OncePerRequestFilter {
    -
    -    // 인가검사를 하지 않는 url 설정
    -    private final String[] whiteListUrls = {
    -            &quot;/admin/login&quot;, &quot;/admin/signup&quot;
    -    };
    -
    -    @Override
    -    protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException {
    -
    -<span class="nc bnc" id="L34" title="All 4 branches missed.">        if(CorsUtils.isPreFlightRequest(request) || isUriInWhiteList(request.getRequestURI())){</span>
    -<span class="nc" id="L35">            filterChain.doFilter(request, response);</span>
    -<span class="nc" id="L36">            return;</span>
    -        }
    -
    -
    -<span class="nc" id="L40">        JwtClaimsDto jwtClaimsDto = (JwtClaimsDto) request.getAttribute(&quot;jwtClaims&quot;);</span>
    -
    -<span class="nc bnc" id="L42" title="All 4 branches missed.">        if (jwtClaimsDto == null || jwtClaimsDto.getRoleType() != RoleType.ROLE_ADMIN) {</span>
    -
    -<span class="nc" id="L44">            log.error(&quot;JwtAuthorizationException has occurred&quot;);</span>
    -<span class="nc" id="L45">            throw new JwtAuthorizationException(ErrorStatus._FORBIDDEN);</span>
    -        }
    -
    -<span class="nc" id="L48">        filterChain.doFilter(request, response);</span>
    -<span class="nc" id="L49">    }</span>
    -
    -    private boolean isUriInWhiteList(String url) {
    -<span class="nc" id="L52">        return PatternMatchUtils.simpleMatch(whiteListUrls, url);</span>
    -    }
    -
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.filter/index.html b/jacoco/jacocoHtml/com.softeer.backend.global.filter/index.html
    deleted file mode 100644
    index cc7ab49a..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.filter/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.filter</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.filter</span></div><h1>com.softeer.backend.global.filter</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">403 of 403</td><td class="ctr2">0%</td><td class="bar">26 of 26</td><td class="ctr2">0%</td><td class="ctr1">35</td><td class="ctr2">35</td><td class="ctr1">105</td><td class="ctr2">105</td><td class="ctr1">22</td><td class="ctr2">22</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a1"><a href="JwtAuthenticationFilter.html" class="el_class">JwtAuthenticationFilter</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="298" alt="298"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="18" alt="18"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">25</td><td class="ctr2" id="g0">25</td><td class="ctr1" id="h0">74</td><td class="ctr2" id="i0">74</td><td class="ctr1" id="j0">16</td><td class="ctr2" id="k0">16</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="ExceptionHandlingFilter.html" class="el_class">ExceptionHandlingFilter</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="23" height="10" title="59" alt="59"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">3</td><td class="ctr2" id="g2">3</td><td class="ctr1" id="h1">20</td><td class="ctr2" id="i1">20</td><td class="ctr1" id="j1">3</td><td class="ctr2" id="k1">3</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a2"><a href="JwtAuthorizationFilter.html" class="el_class">JwtAuthorizationFilter</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="18" height="10" title="46" alt="46"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="53" height="10" title="8" alt="8"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f1">7</td><td class="ctr2" id="g1">7</td><td class="ctr1" id="h2">11</td><td class="ctr2" id="i2">11</td><td class="ctr1" id="j2">3</td><td class="ctr2" id="k2">3</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.filter/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.global.filter/index.source.html
    deleted file mode 100644
    index 396d3605..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.filter/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.filter</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.filter</span></div><h1>com.softeer.backend.global.filter</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">403 of 403</td><td class="ctr2">0%</td><td class="bar">26 of 26</td><td class="ctr2">0%</td><td class="ctr1">35</td><td class="ctr2">35</td><td class="ctr1">105</td><td class="ctr2">105</td><td class="ctr1">22</td><td class="ctr2">22</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a1"><a href="JwtAuthenticationFilter.java.html" class="el_source">JwtAuthenticationFilter.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="298" alt="298"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="18" alt="18"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">25</td><td class="ctr2" id="g0">25</td><td class="ctr1" id="h0">74</td><td class="ctr2" id="i0">74</td><td class="ctr1" id="j0">16</td><td class="ctr2" id="k0">16</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="ExceptionHandlingFilter.java.html" class="el_source">ExceptionHandlingFilter.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="23" height="10" title="59" alt="59"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">3</td><td class="ctr2" id="g2">3</td><td class="ctr1" id="h1">20</td><td class="ctr2" id="i1">20</td><td class="ctr1" id="j1">3</td><td class="ctr2" id="k1">3</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a2"><a href="JwtAuthorizationFilter.java.html" class="el_source">JwtAuthorizationFilter.java</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="18" height="10" title="46" alt="46"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="53" height="10" title="8" alt="8"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f1">7</td><td class="ctr2" id="g1">7</td><td class="ctr1" id="h2">11</td><td class="ctr2" id="i2">11</td><td class="ctr1" id="j2">3</td><td class="ctr2" id="k2">3</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.scheduler/DbInsertScheduler.html b/jacoco/jacocoHtml/com.softeer.backend.global.scheduler/DbInsertScheduler.html
    deleted file mode 100644
    index b456b2a4..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.scheduler/DbInsertScheduler.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DbInsertScheduler</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.scheduler</a> &gt; <span class="el_class">DbInsertScheduler</span></div><h1>DbInsertScheduler</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">262 of 262</td><td class="ctr2">0%</td><td class="bar">14 of 14</td><td class="ctr2">0%</td><td class="ctr1">15</td><td class="ctr2">15</td><td class="ctr1">63</td><td class="ctr2">63</td><td class="ctr1">8</td><td class="ctr2">8</td></tr></tfoot><tbody><tr><td id="a1"><a href="DbInsertScheduler.java.html#L64" class="el_method">insertData()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="198" alt="198"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="12" alt="12"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">7</td><td class="ctr2" id="g0">7</td><td class="ctr1" id="h0">43</td><td class="ctr2" id="i0">43</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a3"><a href="DbInsertScheduler.java.html#L83" class="el_method">lambda$insertData$1(int, String, Integer)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="13" height="10" title="23" alt="23"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h1">9</td><td class="ctr2" id="i1">9</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a5"><a href="DbInsertScheduler.java.html#L59" class="el_method">scheduleTask()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="7" height="10" title="12" alt="12"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">2</td><td class="ctr2" id="i3">2</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a7"><a href="DbInsertScheduler.java.html#L150" class="el_method">stopScheduler()</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="5" height="10" title="9" alt="9"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="20" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f1">2</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h2">3</td><td class="ctr2" id="i2">3</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a2"><a href="DbInsertScheduler.java.html#L85" class="el_method">lambda$insertData$0()</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="4" height="10" title="8" alt="8"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">2</td><td class="ctr2" id="i4">2</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a4"><a href="DbInsertScheduler.java.html#L120" class="el_method">lambda$insertData$2()</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="3" height="10" title="5" alt="5"/></td><td class="ctr2" id="c5">0%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">1</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h6">1</td><td class="ctr2" id="i6">1</td><td class="ctr1" id="j5">1</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a6"><a href="DbInsertScheduler.java.html#L33" class="el_method">static {...}</a></td><td class="bar" id="b6"><img src="../jacoco-resources/redbar.gif" width="2" height="10" title="4" alt="4"/></td><td class="ctr2" id="c6">0%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">1</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h7">1</td><td class="ctr2" id="i7">1</td><td class="ctr1" id="j6">1</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a0"><a href="DbInsertScheduler.java.html#L54" class="el_method">init()</a></td><td class="bar" id="b7"><img src="../jacoco-resources/redbar.gif" width="1" height="10" title="3" alt="3"/></td><td class="ctr2" id="c7">0%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">1</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h5">2</td><td class="ctr2" id="i5">2</td><td class="ctr1" id="j7">1</td><td class="ctr2" id="k7">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.scheduler/DbInsertScheduler.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.scheduler/DbInsertScheduler.java.html
    deleted file mode 100644
    index bd3dc99f..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.scheduler/DbInsertScheduler.java.html
    +++ /dev/null
    @@ -1,155 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DbInsertScheduler.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.scheduler</a> &gt; <span class="el_source">DbInsertScheduler.java</span></div><h1>DbInsertScheduler.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.scheduler;
    -
    -import com.softeer.backend.bo_domain.eventparticipation.domain.EventParticipation;
    -import com.softeer.backend.bo_domain.eventparticipation.repository.EventParticipationRepository;
    -import com.softeer.backend.fo_domain.draw.domain.Draw;
    -import com.softeer.backend.fo_domain.draw.repository.DrawRepository;
    -import com.softeer.backend.fo_domain.draw.service.DrawSettingManager;
    -import com.softeer.backend.fo_domain.fcfs.domain.Fcfs;
    -import com.softeer.backend.fo_domain.fcfs.repository.FcfsRepository;
    -import com.softeer.backend.fo_domain.fcfs.service.FcfsSettingManager;
    -import com.softeer.backend.fo_domain.user.domain.User;
    -import com.softeer.backend.fo_domain.user.exception.UserException;
    -import com.softeer.backend.fo_domain.user.repository.UserRepository;
    -import com.softeer.backend.global.common.code.status.ErrorStatus;
    -import com.softeer.backend.global.common.constant.RedisKeyPrefix;
    -import com.softeer.backend.global.util.DrawRedisUtil;
    -import com.softeer.backend.global.util.EventLockRedisUtil;
    -import com.softeer.backend.global.util.FcfsRedisUtil;
    -import jakarta.annotation.PostConstruct;
    -import lombok.RequiredArgsConstructor;
    -import lombok.extern.slf4j.Slf4j;
    -import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
    -import org.springframework.scheduling.support.CronTrigger;
    -import org.springframework.stereotype.Component;
    -import org.springframework.transaction.annotation.Transactional;
    -
    -import java.time.LocalDate;
    -import java.time.LocalDateTime;
    -import java.util.Map;
    -import java.util.Set;
    -import java.util.concurrent.ScheduledFuture;
    -
    -<span class="nc" id="L33">@Slf4j</span>
    -@Component
    -@RequiredArgsConstructor
    -public class DbInsertScheduler {
    -
    -    private final ThreadPoolTaskScheduler taskScheduler;
    -    private final EventLockRedisUtil eventLockRedisUtil;
    -    private final FcfsRedisUtil fcfsRedisUtil;
    -    private final DrawRedisUtil drawRedisUtil;
    -    private final FcfsSettingManager fcfsSettingManager;
    -    private final DrawSettingManager drawSettingManager;
    -    private final EventParticipationRepository eventParticipationRepository;
    -    private final UserRepository userRepository;
    -    private final FcfsRepository fcfsRepository;
    -    private final DrawRepository drawRepository;
    -
    -
    -    private ScheduledFuture&lt;?&gt; scheduledFuture;
    -
    -    @PostConstruct
    -    public void init() {
    -<span class="nc" id="L54">        scheduleTask();</span>
    -
    -<span class="nc" id="L56">    }</span>
    -
    -    public void scheduleTask() {
    -<span class="nc" id="L59">        scheduledFuture = taskScheduler.schedule(this::insertData, new CronTrigger(&quot;0 0 2 * * *&quot;));</span>
    -<span class="nc" id="L60">    }</span>
    -
    -    @Transactional
    -    protected void insertData() {
    -<span class="nc" id="L64">        LocalDate now = LocalDate.now();</span>
    -<span class="nc bnc" id="L65" title="All 2 branches missed.">        if (now.isBefore(drawSettingManager.getStartDate().plusDays(1)))</span>
    -<span class="nc" id="L66">            return;</span>
    -
    -<span class="nc bnc" id="L68" title="All 2 branches missed.">        if (now.isAfter(drawSettingManager.getEndDate().plusDays(1)))</span>
    -<span class="nc" id="L69">            stopScheduler();</span>
    -
    -<span class="nc" id="L71">        int totalVisitorsCount = eventLockRedisUtil.getData(RedisKeyPrefix.TOTAL_VISITORS_COUNT_PREFIX.getPrefix());</span>
    -<span class="nc" id="L72">        eventLockRedisUtil.deleteData(RedisKeyPrefix.TOTAL_VISITORS_COUNT_PREFIX.getPrefix());</span>
    -
    -<span class="nc" id="L74">        int fcfsParticipantCount = 0;</span>
    -
    -<span class="nc bnc" id="L76" title="All 2 branches missed.">        if (fcfsSettingManager.getRoundForScheduler(now) != -1) {</span>
    -<span class="nc" id="L77">            fcfsSettingManager.setFcfsClosed(false);</span>
    -
    -<span class="nc" id="L79">            int round = fcfsSettingManager.getRoundForScheduler(now);</span>
    -
    -<span class="nc" id="L81">            Map&lt;String, Integer&gt; participantIds = fcfsRedisUtil.getHashEntries(RedisKeyPrefix.FCFS_CODE_USERID_PREFIX.getPrefix() + round);</span>
    -<span class="nc" id="L82">            participantIds.forEach((code, userId) -&gt; {</span>
    -<span class="nc" id="L83">                User user = userRepository.findById(userId)</span>
    -<span class="nc" id="L84">                        .orElseThrow(() -&gt; {</span>
    -<span class="nc" id="L85">                            log.error(&quot;user not found in saveFcfsWinners method.&quot;);</span>
    -<span class="nc" id="L86">                            return new UserException(ErrorStatus._NOT_FOUND);</span>
    -                        });
    -
    -<span class="nc" id="L89">                Fcfs fcfs = Fcfs.builder()</span>
    -<span class="nc" id="L90">                        .user(user)</span>
    -<span class="nc" id="L91">                        .round(round)</span>
    -<span class="nc" id="L92">                        .code(code)</span>
    -<span class="nc" id="L93">                        .build();</span>
    -<span class="nc" id="L94">                fcfsRepository.save(fcfs);</span>
    -<span class="nc" id="L95">            });</span>
    -
    -<span class="nc" id="L97">            fcfsParticipantCount += fcfsRedisUtil.getValue(RedisKeyPrefix.FCFS_PARTICIPANT_COUNT_PREFIX.getPrefix() + round);</span>
    -
    -<span class="nc" id="L99">            fcfsRedisUtil.clearValue(RedisKeyPrefix.FCFS_PARTICIPANT_COUNT_PREFIX.getPrefix() + round);</span>
    -<span class="nc" id="L100">            fcfsRedisUtil.clearIntegerSet(RedisKeyPrefix.FCFS_USERID_PREFIX.getPrefix() + round);</span>
    -<span class="nc" id="L101">            fcfsRedisUtil.clearStringSet(RedisKeyPrefix.FCFS_CODE_PREFIX.getPrefix() + round);</span>
    -<span class="nc" id="L102">            fcfsRedisUtil.clearHash(RedisKeyPrefix.FCFS_CODE_USERID_PREFIX.getPrefix() + round);</span>
    -        }
    -
    -        // drawParticipantCount에 추첨 이벤트 참가자 수 할당하기
    -<span class="nc" id="L106">        int drawParticipantCount = drawRedisUtil.getDrawParticipantCount();</span>
    -        // redis에서 추첨 참가자 수 삭제
    -<span class="nc" id="L108">        drawRedisUtil.deleteDrawParticipantCount();</span>
    -
    -        // 추첨 당첨자 DB에 insert
    -        String drawWinnerKey;
    -<span class="nc bnc" id="L112" title="All 2 branches missed.">        for (int ranking = 1; ranking &lt; 4; ranking++) {</span>
    -<span class="nc" id="L113">            drawWinnerKey = RedisKeyPrefix.DRAW_WINNER_LIST_PREFIX.getPrefix() + ranking;</span>
    -<span class="nc" id="L114">            Set&lt;Integer&gt; winnerSet = drawRedisUtil.getAllDataAsSet(drawWinnerKey);</span>
    -
    -<span class="nc" id="L116">            LocalDate winningDate = LocalDate.now().minusDays(1);</span>
    -
    -<span class="nc bnc" id="L118" title="All 2 branches missed.">            for (Integer userId : winnerSet) {</span>
    -<span class="nc" id="L119">                User user = userRepository.findById(userId).orElseThrow(</span>
    -<span class="nc" id="L120">                        () -&gt; new UserException(ErrorStatus._NOT_FOUND));</span>
    -
    -<span class="nc" id="L122">                Draw draw = Draw.builder()</span>
    -<span class="nc" id="L123">                        .user(user)</span>
    -<span class="nc" id="L124">                        .rank(ranking)</span>
    -<span class="nc" id="L125">                        .winningDate(winningDate)</span>
    -<span class="nc" id="L126">                        .build();</span>
    -
    -<span class="nc" id="L128">                drawRepository.save(draw);</span>
    -<span class="nc" id="L129">            }</span>
    -        }
    -
    -        // redis에서 추첨 당첨자 목록 삭제
    -<span class="nc bnc" id="L133" title="All 2 branches missed.">        for (int ranking = 1; ranking &lt; 4; ranking++) {</span>
    -<span class="nc" id="L134">            drawWinnerKey = RedisKeyPrefix.DRAW_WINNER_LIST_PREFIX.getPrefix() + ranking;</span>
    -<span class="nc" id="L135">            drawRedisUtil.deleteAllSetData(drawWinnerKey);</span>
    -        }
    -
    -<span class="nc" id="L138">        eventParticipationRepository.save(EventParticipation.builder()</span>
    -<span class="nc" id="L139">                .visitorCount(totalVisitorsCount)</span>
    -<span class="nc" id="L140">                .fcfsParticipantCount(fcfsParticipantCount)</span>
    -<span class="nc" id="L141">                .drawParticipantCount(drawParticipantCount)</span>
    -<span class="nc" id="L142">                .eventDate(now.minusDays(1))</span>
    -<span class="nc" id="L143">                .build());</span>
    -<span class="nc" id="L144">    }</span>
    -
    -    /**
    -     * Scheduler의 작업을 비활성화 시키는 메서드
    -     */
    -    public void stopScheduler() {
    -<span class="nc bnc" id="L150" title="All 2 branches missed.">        if (scheduledFuture != null) {</span>
    -<span class="nc" id="L151">            scheduledFuture.cancel(false);</span>
    -        }
    -<span class="nc" id="L153">    }</span>
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.scheduler/EventSettingScheduler.html b/jacoco/jacocoHtml/com.softeer.backend.global.scheduler/EventSettingScheduler.html
    deleted file mode 100644
    index 06cd23f8..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.scheduler/EventSettingScheduler.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>EventSettingScheduler</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.scheduler</a> &gt; <span class="el_class">EventSettingScheduler</span></div><h1>EventSettingScheduler</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">57 of 57</td><td class="ctr2">0%</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a2"><a href="EventSettingScheduler.java.html#L46" class="el_method">updateEventSetting()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="42" alt="42"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">8</td><td class="ctr2" id="i0">8</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="EventSettingScheduler.java.html#L41" class="el_method">scheduleTask()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="34" height="10" title="12" alt="12"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="EventSettingScheduler.java.html#L36" class="el_method">init()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="8" height="10" title="3" alt="3"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">2</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.scheduler/EventSettingScheduler.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.scheduler/EventSettingScheduler.java.html
    deleted file mode 100644
    index 36b4c90b..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.scheduler/EventSettingScheduler.java.html
    +++ /dev/null
    @@ -1,59 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>EventSettingScheduler.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.scheduler</a> &gt; <span class="el_source">EventSettingScheduler.java</span></div><h1>EventSettingScheduler.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.scheduler;
    -
    -import com.softeer.backend.fo_domain.draw.domain.DrawSetting;
    -import com.softeer.backend.fo_domain.draw.repository.DrawSettingRepository;
    -import com.softeer.backend.fo_domain.draw.service.DrawSettingManager;
    -import com.softeer.backend.fo_domain.fcfs.domain.FcfsSetting;
    -import com.softeer.backend.fo_domain.fcfs.repository.FcfsSettingRepository;
    -import com.softeer.backend.fo_domain.fcfs.service.FcfsSettingManager;
    -import jakarta.annotation.PostConstruct;
    -import lombok.RequiredArgsConstructor;
    -import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
    -import org.springframework.scheduling.support.CronTrigger;
    -import org.springframework.stereotype.Component;
    -import org.springframework.transaction.annotation.Transactional;
    -
    -import java.time.LocalDate;
    -import java.time.LocalDateTime;
    -import java.util.List;
    -import java.util.concurrent.ScheduledFuture;
    -
    -@Component
    -@RequiredArgsConstructor
    -public class EventSettingScheduler {
    -
    -    private final ThreadPoolTaskScheduler taskScheduler;
    -
    -    private final FcfsSettingManager fcfsSettingManager;
    -    private final DrawSettingManager drawSettingManager;
    -    private final FcfsSettingRepository fcfsSettingRepository;
    -    private final DrawSettingRepository drawSettingRepository;
    -
    -    private ScheduledFuture&lt;?&gt; scheduledFuture;
    -
    -    @PostConstruct
    -    public void init() {
    -<span class="nc" id="L36">        scheduleTask();</span>
    -
    -<span class="nc" id="L38">    }</span>
    -
    -    public void scheduleTask() {
    -<span class="nc" id="L41">        scheduledFuture = taskScheduler.schedule(this::updateEventSetting, new CronTrigger(&quot;0 0 1 * * *&quot;));</span>
    -<span class="nc" id="L42">    }</span>
    -
    -    @Transactional(readOnly = true)
    -    protected void updateEventSetting() {
    -<span class="nc" id="L46">        LocalDateTime now = LocalDateTime.now();</span>
    -<span class="nc bnc" id="L47" title="All 2 branches missed.">        if (now.isBefore(LocalDateTime.of(drawSettingManager.getStartDate(), drawSettingManager.getStartTime()))</span>
    -<span class="nc bnc" id="L48" title="All 2 branches missed.">        || now.isAfter(LocalDateTime.of(drawSettingManager.getEndDate(), drawSettingManager.getEndTime()))){</span>
    -
    -<span class="nc" id="L50">            List&lt;FcfsSetting&gt; fcfsSettings = fcfsSettingRepository.findAll();</span>
    -<span class="nc" id="L51">            DrawSetting drawSetting = drawSettingRepository.findAll().get(0);</span>
    -
    -<span class="nc" id="L53">            fcfsSettingManager.setFcfsSettingList(fcfsSettings);</span>
    -<span class="nc" id="L54">            drawSettingManager.setDrawSetting(drawSetting);</span>
    -        }
    -<span class="nc" id="L56">    }</span>
    -
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.scheduler/index.html b/jacoco/jacocoHtml/com.softeer.backend.global.scheduler/index.html
    deleted file mode 100644
    index 488a403c..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.scheduler/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.scheduler</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.scheduler</span></div><h1>com.softeer.backend.global.scheduler</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">319 of 319</td><td class="ctr2">0%</td><td class="bar">18 of 18</td><td class="ctr2">0%</td><td class="ctr1">20</td><td class="ctr2">20</td><td class="ctr1">75</td><td class="ctr2">75</td><td class="ctr1">11</td><td class="ctr2">11</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="DbInsertScheduler.html" class="el_class">DbInsertScheduler</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="262" alt="262"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="14" alt="14"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">15</td><td class="ctr2" id="g0">15</td><td class="ctr1" id="h0">63</td><td class="ctr2" id="i0">63</td><td class="ctr1" id="j0">8</td><td class="ctr2" id="k0">8</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a1"><a href="EventSettingScheduler.html" class="el_class">EventSettingScheduler</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="26" height="10" title="57" alt="57"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="34" height="10" title="4" alt="4"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f1">5</td><td class="ctr2" id="g1">5</td><td class="ctr1" id="h1">12</td><td class="ctr2" id="i1">12</td><td class="ctr1" id="j1">3</td><td class="ctr2" id="k1">3</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.scheduler/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.global.scheduler/index.source.html
    deleted file mode 100644
    index ebd10184..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.scheduler/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.scheduler</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.scheduler</span></div><h1>com.softeer.backend.global.scheduler</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">319 of 319</td><td class="ctr2">0%</td><td class="bar">18 of 18</td><td class="ctr2">0%</td><td class="ctr1">20</td><td class="ctr2">20</td><td class="ctr1">75</td><td class="ctr2">75</td><td class="ctr1">11</td><td class="ctr2">11</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="DbInsertScheduler.java.html" class="el_source">DbInsertScheduler.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="262" alt="262"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="14" alt="14"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">15</td><td class="ctr2" id="g0">15</td><td class="ctr1" id="h0">63</td><td class="ctr2" id="i0">63</td><td class="ctr1" id="j0">8</td><td class="ctr2" id="k0">8</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a1"><a href="EventSettingScheduler.java.html" class="el_source">EventSettingScheduler.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="26" height="10" title="57" alt="57"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="34" height="10" title="4" alt="4"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f1">5</td><td class="ctr2" id="g1">5</td><td class="ctr1" id="h1">12</td><td class="ctr2" id="i1">12</td><td class="ctr1" id="j1">3</td><td class="ctr2" id="k1">3</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/S3FileName.html b/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/S3FileName.html
    deleted file mode 100644
    index 3728d3a5..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/S3FileName.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>S3FileName</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.staticresources.constant</a> &gt; <span class="el_class">S3FileName</span></div><h1>S3FileName</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">201 of 201</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">34</td><td class="ctr2">34</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="S3FileName.java.html#L3" class="el_method">static {...}</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="201" alt="201"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">34</td><td class="ctr2" id="i0">34</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/S3FileName.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/S3FileName.java.html
    deleted file mode 100644
    index 7c923784..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/S3FileName.java.html
    +++ /dev/null
    @@ -1,38 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>S3FileName.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.staticresources.constant</a> &gt; <span class="el_source">S3FileName.java</span></div><h1>S3FileName.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.staticresources.constant;
    -
    -<span class="nc" id="L3">public enum S3FileName {</span>
    -<span class="nc" id="L4">    CHARGING_BACKGROUND_IMAGE,</span>
    -<span class="nc" id="L5">    CHARGING_FAST_IMAGE,</span>
    -<span class="nc" id="L6">    CHARGING_THUMBNAIL_IMAGE,</span>
    -<span class="nc" id="L7">    CHARGING_V2L_IMAGE,</span>
    -<span class="nc" id="L8">    DRAW_REWARD_IMAGE_1,</span>
    -<span class="nc" id="L9">    DRAW_REWARD_IMAGE_2,</span>
    -<span class="nc" id="L10">    DRAW_REWARD_IMAGE_3,</span>
    -<span class="nc" id="L11">    FCFS_REWARD_IMAGE_1,</span>
    -<span class="nc" id="L12">    FCFS_REWARD_IMAGE_2,</span>
    -<span class="nc" id="L13">    INTERIOR_BACKGROUND_IMAGE,</span>
    -<span class="nc" id="L14">    INTERIOR_OPENNESS_IMAGE,</span>
    -<span class="nc" id="L15">    INTERIOR_THUMBNAIL_IMAGE,</span>
    -<span class="nc" id="L16">    INTERIOR_WELLNESS_IMAGE,</span>
    -<span class="nc" id="L17">    IONIQ_VIDEO,</span>
    -<span class="nc" id="L18">    MAIN_BACKGROUND_IMAGE,</span>
    -<span class="nc" id="L19">    MAIN_THUMBNAIL_IMAGE,</span>
    -<span class="nc" id="L20">    PERFORMANCE_BACKGROUND_IMAGE,</span>
    -<span class="nc" id="L21">    PERFORMANCE_BRAKING_IMAGE,</span>
    -<span class="nc" id="L22">    PERFORMANCE_DRIVING_IMAGE,</span>
    -<span class="nc" id="L23">    PERFORMANCE_THUMBNAIL_IMAGE,</span>
    -<span class="nc" id="L24">    SAFE_ADVANCED_IMAGE,</span>
    -<span class="nc" id="L25">    SAFE_BACKGROUND_IMAGE,</span>
    -<span class="nc" id="L26">    SAFE_DRIVING_IMAGE,</span>
    -<span class="nc" id="L27">    SAFE_THUMBNAIL_IMAGE,</span>
    -<span class="nc" id="L28">    BARCODE_IMAGE,</span>
    -<span class="nc" id="L29">    SEVENTH_COMPLETE_IMAGE,</span>
    -<span class="nc" id="L30">    SEVENTH_NOT_YET_IMAGE,</span>
    -<span class="nc" id="L31">    ATTENDANCE_REWARD_IMAGE,</span>
    -<span class="nc" id="L32">    DRAW_BLOCK_DOWN_IMAGE,</span>
    -<span class="nc" id="L33">    DRAW_BLOCK_LEFT_IMAGE,</span>
    -<span class="nc" id="L34">    DRAW_BLOCK_RIGHT_IMAGE,</span>
    -<span class="nc" id="L35">    DRAW_BLOCK_UP_IMAGE,</span>
    -<span class="nc" id="L36">    DRAW_REWARD_IMAGE_2_3</span>
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/StaticTextName.html b/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/StaticTextName.html
    deleted file mode 100644
    index 0b2625e2..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/StaticTextName.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>StaticTextName</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.staticresources.constant</a> &gt; <span class="el_class">StaticTextName</span></div><h1>StaticTextName</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">423 of 423</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">71</td><td class="ctr2">71</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="StaticTextName.java.html#L5" class="el_method">static {...}</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="423" alt="423"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">71</td><td class="ctr2" id="i0">71</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/StaticTextName.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/StaticTextName.java.html
    deleted file mode 100644
    index 054656eb..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/StaticTextName.java.html
    +++ /dev/null
    @@ -1,99 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>StaticTextName.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.staticresources.constant</a> &gt; <span class="el_source">StaticTextName.java</span></div><h1>StaticTextName.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.staticresources.constant;
    -
    -import lombok.Getter;
    -
    -<span class="nc" id="L5">public enum StaticTextName {</span>
    -<span class="nc" id="L6">    EVENT_TITLE,</span>
    -<span class="nc" id="L7">    EVENT_DESCRIPTION,</span>
    -
    -<span class="nc" id="L9">    FCFS_INFO,</span>
    -<span class="nc" id="L10">    FCFS_TITLE,</span>
    -<span class="nc" id="L11">    FCFS_CONTENT,</span>
    -
    -<span class="nc" id="L13">    TOTAL_DRAW_WINNER,</span>
    -<span class="nc" id="L14">    REMAIN_DRAW_COUNT,</span>
    -<span class="nc" id="L15">    DRAW_TITLE,</span>
    -<span class="nc" id="L16">    DRAW_CONTENT,</span>
    -
    -<span class="nc" id="L18">    MAIN_TITLE,</span>
    -<span class="nc" id="L19">    MAIN_SUBTITLE,</span>
    -
    -<span class="nc" id="L21">    INTERIOR_TITLE,</span>
    -<span class="nc" id="L22">    INTERIOR_SUBTITLE,</span>
    -<span class="nc" id="L23">    INTERIOR_IMAGE_TITLE,</span>
    -<span class="nc" id="L24">    INTERIOR_IMAGE_CONTENT,</span>
    -<span class="nc" id="L25">    INTERIOR_OPENNESS_TITLE,</span>
    -<span class="nc" id="L26">    INTERIOR_OPENNESS_SUBTITLE,</span>
    -<span class="nc" id="L27">    INTERIOR_OPENNESS_CONTENT,</span>
    -
    -<span class="nc" id="L29">    INTERIOR_WELLNESS_TITLE,</span>
    -<span class="nc" id="L30">    INTERIOR_WELLNESS_SUBTITLE,</span>
    -<span class="nc" id="L31">    INTERIOR_WELLNESS_CONTENT,</span>
    -
    -<span class="nc" id="L33">    PERFORMANCE_TITLE,</span>
    -<span class="nc" id="L34">    PERFORMANCE_SUBTITLE,</span>
    -<span class="nc" id="L35">    PERFORMANCE_IMAGE_TITLE,</span>
    -<span class="nc" id="L36">    PERFORMANCE_IMAGE_CONTENT,</span>
    -<span class="nc" id="L37">    PERFORMANCE_BRAKING_TITLE,</span>
    -<span class="nc" id="L38">    PERFORMANCE_BRAKING_SUBTITLE,</span>
    -<span class="nc" id="L39">    PERFORMANCE_BRAKING_CONTENT,</span>
    -
    -<span class="nc" id="L41">    PERFORMANCE_DRIVING_TITLE,</span>
    -<span class="nc" id="L42">    PERFORMANCE_DRIVING_SUBTITLE,</span>
    -<span class="nc" id="L43">    PERFORMANCE_DRIVING_CONTENT,</span>
    -
    -<span class="nc" id="L45">    CHARGING_TITLE,</span>
    -<span class="nc" id="L46">    CHARGING_SUBTITLE,</span>
    -<span class="nc" id="L47">    CHARGING_IMAGE_TITLE,</span>
    -<span class="nc" id="L48">    CHARGING_IMAGE_CONTENT,</span>
    -<span class="nc" id="L49">    CHARGING_FAST_TITLE,</span>
    -<span class="nc" id="L50">    CHARGING_FAST_SUBTITLE,</span>
    -<span class="nc" id="L51">    CHARGING_FAST_CONTENT,</span>
    -
    -<span class="nc" id="L53">    CHARGING_V2L_TITLE,</span>
    -<span class="nc" id="L54">    CHARGING_V2L_SUBTITLE,</span>
    -<span class="nc" id="L55">    CHARGING_V2L_CONTENT,</span>
    -
    -<span class="nc" id="L57">    SAFE_TITLE,</span>
    -<span class="nc" id="L58">    SAFE_SUBTITLE,</span>
    -<span class="nc" id="L59">    SAFE_IMAGE_TITLE,</span>
    -<span class="nc" id="L60">    SAFE_IMAGE_CONTENT,</span>
    -<span class="nc" id="L61">    SAFE_DRIVING_TITLE,</span>
    -<span class="nc" id="L62">    SAFE_DRIVING_SUBTITLE,</span>
    -<span class="nc" id="L63">    SAFE_DRIVING_CONTENT,</span>
    -
    -<span class="nc" id="L65">    SAFE_ADVANCED_TITLE,</span>
    -<span class="nc" id="L66">    SAFE_ADVANCED_SUBTITLE,</span>
    -<span class="nc" id="L67">    SAFE_ADVANCED_CONTENT,</span>
    -
    -    // 7일 연속 출석 모달
    -<span class="nc" id="L70">    FULL_ATTEND_MODAL_TITLE,</span>
    -<span class="nc" id="L71">    FULL_ATTEND_MODAL_SUBTITLE,</span>
    -<span class="nc" id="L72">    FULL_ATTEND_MODAL_DESCRIPTION,</span>
    -
    -    // 추첨 당첨 모달
    -<span class="nc" id="L75">    DRAW_WINNER_MODAL_TITLE,</span>
    -<span class="nc" id="L76">    DRAW_FIRST_WINNER_SUBTITLE,</span>
    -<span class="nc" id="L77">    DRAW_SECOND_WINNER_SUBTITLE,</span>
    -<span class="nc" id="L78">    DRAW_THIRD_WINNER_SUBTITLE,</span>
    -<span class="nc" id="L79">    DRAW_WINNER_MODAL_DESCRIPTION,</span>
    -
    -    // 공유 url
    -<span class="nc" id="L82">    BASE_URL,</span>
    -<span class="nc" id="L83">    NON_USER_SHARE_URL,</span>
    -
    -    // 선착순
    -<span class="nc" id="L86">    FCFS_QUIZ_DESCRIPTION,</span>
    -
    -<span class="nc" id="L88">    FCFS_WINNER_TITLE,</span>
    -<span class="nc" id="L89">    FCFS_WINNER_SUBTITLE,</span>
    -<span class="nc" id="L90">    FCFS_WINNER_CODE_WORD,</span>
    -<span class="nc" id="L91">    FCFS_WINNER_EXPIRY_DATE,</span>
    -<span class="nc" id="L92">    FCFS_WINNER_CAUTION,</span>
    -
    -<span class="nc" id="L94">    FCFS_LOSER_TITLE,</span>
    -<span class="nc" id="L95">    FCFS_LOSER_SUBTITLE,</span>
    -<span class="nc" id="L96">    FCFS_LOSER_CAUTION;</span>
    -
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/index.html b/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/index.html
    deleted file mode 100644
    index 653e0f84..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.staticresources.constant</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.staticresources.constant</span></div><h1>com.softeer.backend.global.staticresources.constant</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">624 of 624</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">105</td><td class="ctr2">105</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="StaticTextName.html" class="el_class">StaticTextName</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="423" alt="423"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">71</td><td class="ctr2" id="i0">71</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="S3FileName.html" class="el_class">S3FileName</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="57" height="10" title="201" alt="201"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">34</td><td class="ctr2" id="i1">34</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/index.source.html
    deleted file mode 100644
    index 379437d2..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.staticresources.constant</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.staticresources.constant</span></div><h1>com.softeer.backend.global.staticresources.constant</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">624 of 624</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">105</td><td class="ctr2">105</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="StaticTextName.java.html" class="el_source">StaticTextName.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="423" alt="423"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">71</td><td class="ctr2" id="i0">71</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="S3FileName.java.html" class="el_source">S3FileName.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="57" height="10" title="201" alt="201"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">34</td><td class="ctr2" id="i1">34</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.util/StaticResourceUtil.html b/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.util/StaticResourceUtil.html
    deleted file mode 100644
    index b8222e17..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.util/StaticResourceUtil.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>StaticResourceUtil</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.staticresources.util</a> &gt; <span class="el_class">StaticResourceUtil</span></div><h1>StaticResourceUtil</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">61 of 61</td><td class="ctr2">0%</td><td class="bar">8 of 8</td><td class="ctr2">0%</td><td class="ctr1">13</td><td class="ctr2">13</td><td class="ctr1">17</td><td class="ctr2">17</td><td class="ctr1">6</td><td class="ctr2">6</td></tr></tfoot><tbody><tr><td id="a1"><a href="StaticResourceUtil.java.html#L41" class="el_method">getKoreanDayOfWeek(DayOfWeek)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="27" alt="27"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="8" alt="8"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">8</td><td class="ctr2" id="g0">8</td><td class="ctr1" id="h0">10</td><td class="ctr2" id="i0">10</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a3"><a href="StaticResourceUtil.java.html#L26" class="el_method">getTextContentMap()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="44" height="10" title="10" alt="10"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="StaticResourceUtil.java.html#L32" class="el_method">getS3ContentMap()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="44" height="10" title="10" alt="10"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">2</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a4"><a href="StaticResourceUtil.java.html#L28" class="el_method">lambda$getTextContentMap$0(TextContent)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="26" height="10" title="6" alt="6"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">1</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a0"><a href="StaticResourceUtil.java.html#L37" class="el_method">format(String, Object[])</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="17" height="10" title="4" alt="4"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">1</td><td class="ctr2" id="i4">1</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a5"><a href="StaticResourceUtil.java.html#L17" class="el_method">static {...}</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="17" height="10" title="4" alt="4"/></td><td class="ctr2" id="c5">0%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">1</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">1</td><td class="ctr2" id="i5">1</td><td class="ctr1" id="j5">1</td><td class="ctr2" id="k5">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.util/StaticResourceUtil.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.util/StaticResourceUtil.java.html
    deleted file mode 100644
    index dbec07db..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.util/StaticResourceUtil.java.html
    +++ /dev/null
    @@ -1,62 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>StaticResourceUtil.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.staticresources.util</a> &gt; <span class="el_source">StaticResourceUtil.java</span></div><h1>StaticResourceUtil.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.staticresources.util;
    -
    -import com.softeer.backend.global.common.code.status.ErrorStatus;
    -import com.softeer.backend.global.common.exception.GeneralException;
    -import com.softeer.backend.global.staticresources.domain.S3Content;
    -import com.softeer.backend.global.staticresources.domain.TextContent;
    -import com.softeer.backend.global.staticresources.repository.S3ContentRepository;
    -import com.softeer.backend.global.staticresources.repository.TextContentRepository;
    -import lombok.RequiredArgsConstructor;
    -import lombok.extern.slf4j.Slf4j;
    -import org.springframework.stereotype.Component;
    -
    -import java.time.DayOfWeek;
    -import java.util.Map;
    -import java.util.stream.Collectors;
    -
    -<span class="nc" id="L17">@Slf4j</span>
    -@Component
    -@RequiredArgsConstructor
    -public class StaticResourceUtil {
    -
    -    private final TextContentRepository textContentRepository;
    -    private final S3ContentRepository s3ContentRepository;
    -
    -    public Map&lt;String, String&gt; getTextContentMap() {
    -<span class="nc" id="L26">        return textContentRepository.findAll().stream()</span>
    -<span class="nc" id="L27">                .collect(Collectors.toMap(TextContent::getTextName,</span>
    -<span class="nc" id="L28">                        textContent -&gt; textContent.getContent().replace(&quot;\\n&quot;, &quot;\n&quot;)));</span>
    -    }
    -
    -    public Map&lt;String, String&gt; getS3ContentMap() {
    -<span class="nc" id="L32">        return s3ContentRepository.findAll().stream()</span>
    -<span class="nc" id="L33">                .collect(Collectors.toMap(S3Content::getFileName, S3Content::getFileUrl));</span>
    -    }
    -
    -    public String format(String text, Object... args) {
    -<span class="nc" id="L37">        return String.format(text, args);</span>
    -    }
    -
    -    public String getKoreanDayOfWeek(DayOfWeek dayOfWeek) {
    -<span class="nc bnc" id="L41" title="All 8 branches missed.">        switch (dayOfWeek) {</span>
    -            case MONDAY:
    -<span class="nc" id="L43">                return &quot;월&quot;;</span>
    -            case TUESDAY:
    -<span class="nc" id="L45">                return &quot;화&quot;;</span>
    -            case WEDNESDAY:
    -<span class="nc" id="L47">                return &quot;수&quot;;</span>
    -            case THURSDAY:
    -<span class="nc" id="L49">                return &quot;목&quot;;</span>
    -            case FRIDAY:
    -<span class="nc" id="L51">                return &quot;금&quot;;</span>
    -            case SATURDAY:
    -<span class="nc" id="L53">                return &quot;토&quot;;</span>
    -            case SUNDAY:
    -<span class="nc" id="L55">                return &quot;일&quot;;</span>
    -            default:
    -<span class="nc" id="L57">                log.error(&quot;Korean day of week is not supported&quot;);</span>
    -<span class="nc" id="L58">                throw new GeneralException(ErrorStatus._INTERNAL_SERVER_ERROR);</span>
    -        }
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.util/index.html b/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.util/index.html
    deleted file mode 100644
    index 19048181..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.util/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.staticresources.util</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.staticresources.util</span></div><h1>com.softeer.backend.global.staticresources.util</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">61 of 61</td><td class="ctr2">0%</td><td class="bar">8 of 8</td><td class="ctr2">0%</td><td class="ctr1">13</td><td class="ctr2">13</td><td class="ctr1">17</td><td class="ctr2">17</td><td class="ctr1">6</td><td class="ctr2">6</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="StaticResourceUtil.html" class="el_class">StaticResourceUtil</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="61" alt="61"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="8" alt="8"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">13</td><td class="ctr2" id="g0">13</td><td class="ctr1" id="h0">17</td><td class="ctr2" id="i0">17</td><td class="ctr1" id="j0">6</td><td class="ctr2" id="k0">6</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.util/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.util/index.source.html
    deleted file mode 100644
    index 4f7520c0..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.util/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.staticresources.util</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.staticresources.util</span></div><h1>com.softeer.backend.global.staticresources.util</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">61 of 61</td><td class="ctr2">0%</td><td class="bar">8 of 8</td><td class="ctr2">0%</td><td class="ctr1">13</td><td class="ctr2">13</td><td class="ctr1">17</td><td class="ctr2">17</td><td class="ctr1">6</td><td class="ctr2">6</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="StaticResourceUtil.java.html" class="el_source">StaticResourceUtil.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="61" alt="61"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="8" alt="8"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">13</td><td class="ctr2" id="g0">13</td><td class="ctr1" id="h0">17</td><td class="ctr2" id="i0">17</td><td class="ctr1" id="j0">6</td><td class="ctr2" id="k0">6</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.util/DrawRedisUtil.html b/jacoco/jacocoHtml/com.softeer.backend.global.util/DrawRedisUtil.html
    deleted file mode 100644
    index 50de1d63..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.util/DrawRedisUtil.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DrawRedisUtil</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.util</a> &gt; <span class="el_class">DrawRedisUtil</span></div><h1>DrawRedisUtil</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">101 of 101</td><td class="ctr2">0%</td><td class="bar">6 of 6</td><td class="ctr2">0%</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">23</td><td class="ctr2">23</td><td class="ctr1">9</td><td class="ctr2">9</td></tr></tfoot><tbody><tr><td id="a5"><a href="DrawRedisUtil.java.html#L48" class="el_method">getRankingIfWinner(Integer)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="24" alt="24"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">6</td><td class="ctr2" id="i0">6</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a7"><a href="DrawRedisUtil.java.html#L60" class="el_method">isWinner(Integer, int, int)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="115" height="10" title="23" alt="23"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="60" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f1">2</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h1">6</td><td class="ctr2" id="i1">6</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a8"><a href="DrawRedisUtil.java.html#L33" class="el_method">setIntegerValueToSet(String, Integer)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="65" height="10" title="13" alt="13"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">2</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a6"><a href="DrawRedisUtil.java.html#L76" class="el_method">increaseDrawParticipationCount()</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="40" height="10" title="8" alt="8"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">2</td><td class="ctr2" id="i3">2</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a3"><a href="DrawRedisUtil.java.html#L81" class="el_method">getDrawParticipantCount()</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="40" height="10" title="8" alt="8"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h6">1</td><td class="ctr2" id="i6">1</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a1"><a href="DrawRedisUtil.java.html#L86" class="el_method">deleteDrawParticipantCount()</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="35" height="10" title="7" alt="7"/></td><td class="ctr2" id="c5">0%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">1</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h4">2</td><td class="ctr2" id="i4">2</td><td class="ctr1" id="j5">1</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a2"><a href="DrawRedisUtil.java.html#L24" class="el_method">getAllDataAsSet(String)</a></td><td class="bar" id="b6"><img src="../jacoco-resources/redbar.gif" width="30" height="10" title="6" alt="6"/></td><td class="ctr2" id="c6">0%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">1</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h7">1</td><td class="ctr2" id="i7">1</td><td class="ctr1" id="j6">1</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a4"><a href="DrawRedisUtil.java.html#L28" class="el_method">getIntegerSetSize(String)</a></td><td class="bar" id="b7"><img src="../jacoco-resources/redbar.gif" width="30" height="10" title="6" alt="6"/></td><td class="ctr2" id="c7">0%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">1</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h8">1</td><td class="ctr2" id="i8">1</td><td class="ctr1" id="j7">1</td><td class="ctr2" id="k7">1</td></tr><tr><td id="a0"><a href="DrawRedisUtil.java.html#L38" class="el_method">deleteAllSetData(String)</a></td><td class="bar" id="b8"><img src="../jacoco-resources/redbar.gif" width="30" height="10" title="6" alt="6"/></td><td class="ctr2" id="c8">0%</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f8">1</td><td class="ctr2" id="g8">1</td><td class="ctr1" id="h5">2</td><td class="ctr2" id="i5">2</td><td class="ctr1" id="j8">1</td><td class="ctr2" id="k8">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.util/DrawRedisUtil.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.util/DrawRedisUtil.java.html
    deleted file mode 100644
    index fd74bfae..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.util/DrawRedisUtil.java.html
    +++ /dev/null
    @@ -1,89 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DrawRedisUtil.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.util</a> &gt; <span class="el_source">DrawRedisUtil.java</span></div><h1>DrawRedisUtil.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.util;
    -
    -import com.softeer.backend.global.annotation.EventLock;
    -import com.softeer.backend.global.common.constant.RedisKeyPrefix;
    -import lombok.RequiredArgsConstructor;
    -import org.springframework.data.redis.core.RedisTemplate;
    -import org.springframework.stereotype.Component;
    -
    -import java.util.Set;
    -
    -/**
    - * 추첨 이벤트에서 사용할 레디스
    - */
    -@Component
    -@RequiredArgsConstructor
    -public class DrawRedisUtil {
    -    private final RedisTemplate&lt;String, Integer&gt; integerRedisTemplate;
    -
    -    // 추첨 당첨자 목록: DRAW_WINNER_LIST_{ranking}, Set&lt;Integer&gt;
    -    // 추첨 참여자 수:  DRAW_PARTICIPANT_COUNT, Integer
    -
    -    // ranking의 추첨 당첨자 목록 반환
    -    public Set&lt;Integer&gt; getAllDataAsSet(String key) {
    -<span class="nc" id="L24">        return integerRedisTemplate.opsForSet().members(key);</span>
    -    }
    -
    -    private Long getIntegerSetSize(String key) {
    -<span class="nc" id="L28">        return integerRedisTemplate.opsForSet().size(key);</span>
    -    }
    -
    -    // ranking의 당첨자 목록 업데이트
    -    public void setIntegerValueToSet(String key, Integer userId) {
    -<span class="nc" id="L33">        integerRedisTemplate.opsForSet().add(key, userId);</span>
    -<span class="nc" id="L34">    }</span>
    -
    -    // ranking의 Set 값 모두 삭제
    -    public void deleteAllSetData(String key) {
    -<span class="nc" id="L38">        integerRedisTemplate.delete(key);</span>
    -<span class="nc" id="L39">    }</span>
    -
    -    /**
    -     * userId가 당첨자 목록에 있으면 등수, 없으면 0 반환
    -     *
    -     * @param userId 사용자 아이디
    -     */
    -    public int getRankingIfWinner(Integer userId) {
    -        String drawWinnerKey;
    -<span class="nc bnc" id="L48" title="All 2 branches missed.">        for (int ranking = 1; ranking &lt; 4; ranking++) {</span>
    -<span class="nc" id="L49">            drawWinnerKey = RedisKeyPrefix.DRAW_WINNER_LIST_PREFIX.getPrefix() + ranking;</span>
    -<span class="nc" id="L50">            Set&lt;Integer&gt; drawTempSet = getAllDataAsSet(drawWinnerKey);</span>
    -<span class="nc bnc" id="L51" title="All 2 branches missed.">            if (drawTempSet.contains(userId)) {</span>
    -<span class="nc" id="L52">                return ranking;</span>
    -            }
    -        }
    -<span class="nc" id="L55">        return 0;</span>
    -    }
    -
    -    @EventLock(key = &quot;LOCK:DRAW_WINNER_LIST_#{#ranking}&quot;)
    -    public boolean isWinner(Integer userId, int ranking, int winnerNum) {
    -<span class="nc" id="L60">        String drawWinnerKey = RedisKeyPrefix.DRAW_WINNER_LIST_PREFIX.getPrefix() + ranking;</span>
    -<span class="nc" id="L61">        Long winnerSetSize = getIntegerSetSize(drawWinnerKey);</span>
    -
    -        // 레디스에서 해당 랭킹에 자리가 있는지 확인
    -<span class="nc bnc" id="L64" title="All 2 branches missed.">        if (winnerSetSize &lt; winnerNum) {</span>
    -            // 자리가 있다면 당첨 성공. 당첨자 리스트에 추가
    -<span class="nc" id="L66">            setIntegerValueToSet(drawWinnerKey, userId);</span>
    -<span class="nc" id="L67">            return true;</span>
    -        } else {
    -            // 이미 자리가 가득 차서 당첨 실패
    -<span class="nc" id="L70">            return false;</span>
    -        }
    -    }
    -
    -    // 추첨 참여자수 증가
    -    public void increaseDrawParticipationCount() {
    -<span class="nc" id="L76">        integerRedisTemplate.opsForValue().increment(RedisKeyPrefix.DRAW_PARTICIPANT_COUNT_PREFIX.getPrefix());</span>
    -<span class="nc" id="L77">    }</span>
    -
    -    // 추첨 참여인원수 조회
    -    public Integer getDrawParticipantCount() {
    -<span class="nc" id="L81">        return integerRedisTemplate.opsForValue().get(RedisKeyPrefix.DRAW_PARTICIPANT_COUNT_PREFIX.getPrefix());</span>
    -    }
    -
    -    // 추첨 참여인원수 삭제
    -    public void deleteDrawParticipantCount() {
    -<span class="nc" id="L86">        integerRedisTemplate.delete(RedisKeyPrefix.DRAW_PARTICIPANT_COUNT_PREFIX.getPrefix());</span>
    -<span class="nc" id="L87">    }</span>
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.util/EventLockRedisUtil.html b/jacoco/jacocoHtml/com.softeer.backend.global.util/EventLockRedisUtil.html
    deleted file mode 100644
    index 1253f0db..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.util/EventLockRedisUtil.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>EventLockRedisUtil</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.util</a> &gt; <span class="el_class">EventLockRedisUtil</span></div><h1>EventLockRedisUtil</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">85 of 85</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">19</td><td class="ctr2">19</td><td class="ctr1">12</td><td class="ctr2">12</td></tr></tfoot><tbody><tr><td id="a0"><a href="EventLockRedisUtil.java.html#L31" class="el_method">addValueToSet(String, Integer)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="12" alt="12"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a9"><a href="EventLockRedisUtil.java.html#L54" class="el_method">removeParticipantId(String, Integer)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="12" alt="12"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a11"><a href="EventLockRedisUtil.java.html#L36" class="el_method">setTTL(String, long)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="80" height="10" title="8" alt="8"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">2</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a8"><a href="EventLockRedisUtil.java.html#L50" class="el_method">isParticipantExists(String, Integer)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="80" height="10" title="8" alt="8"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h7">1</td><td class="ctr2" id="i7">1</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a10"><a href="EventLockRedisUtil.java.html#L26" class="el_method">setData(String, int)</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="70" height="10" title="7" alt="7"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h3">2</td><td class="ctr2" id="i3">2</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a7"><a href="EventLockRedisUtil.java.html#L42" class="el_method">incrementData(String)</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="70" height="10" title="7" alt="7"/></td><td class="ctr2" id="c5">0%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">1</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h4">2</td><td class="ctr2" id="i4">2</td><td class="ctr1" id="j5">1</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a4"><a href="EventLockRedisUtil.java.html#L21" class="el_method">getData(String)</a></td><td class="bar" id="b6"><img src="../jacoco-resources/redbar.gif" width="60" height="10" title="6" alt="6"/></td><td class="ctr2" id="c6">0%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">1</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h8">1</td><td class="ctr2" id="i8">1</td><td class="ctr1" id="j6">1</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a1"><a href="EventLockRedisUtil.java.html#L46" class="el_method">deleteData(String)</a></td><td class="bar" id="b7"><img src="../jacoco-resources/redbar.gif" width="60" height="10" title="6" alt="6"/></td><td class="ctr2" id="c7">0%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">1</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h5">2</td><td class="ctr2" id="i5">2</td><td class="ctr1" id="j7">1</td><td class="ctr2" id="k7">1</td></tr><tr><td id="a2"><a href="EventLockRedisUtil.java.html#L62" class="el_method">deleteTempWinnerList(String)</a></td><td class="bar" id="b8"><img src="../jacoco-resources/redbar.gif" width="60" height="10" title="6" alt="6"/></td><td class="ctr2" id="c8">0%</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f8">1</td><td class="ctr2" id="g8">1</td><td class="ctr1" id="h6">2</td><td class="ctr2" id="i6">2</td><td class="ctr1" id="j8">1</td><td class="ctr2" id="k8">1</td></tr><tr><td id="a3"><a href="EventLockRedisUtil.java.html#L58" class="el_method">getAllDataAsSet(String)</a></td><td class="bar" id="b9"><img src="../jacoco-resources/redbar.gif" width="50" height="10" title="5" alt="5"/></td><td class="ctr2" id="c9">0%</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f9">1</td><td class="ctr2" id="g9">1</td><td class="ctr1" id="h9">1</td><td class="ctr2" id="i9">1</td><td class="ctr1" id="j9">1</td><td class="ctr2" id="k9">1</td></tr><tr><td id="a5"><a href="EventLockRedisUtil.java.html#L68" class="el_method">getStringIntegerValueOperations()</a></td><td class="bar" id="b10"><img src="../jacoco-resources/redbar.gif" width="40" height="10" title="4" alt="4"/></td><td class="ctr2" id="c10">0%</td><td class="bar" id="d10"/><td class="ctr2" id="e10">n/a</td><td class="ctr1" id="f10">1</td><td class="ctr2" id="g10">1</td><td class="ctr1" id="h10">1</td><td class="ctr2" id="i10">1</td><td class="ctr1" id="j10">1</td><td class="ctr2" id="k10">1</td></tr><tr><td id="a6"><a href="EventLockRedisUtil.java.html#L72" class="el_method">getStringSetIntegerValueOperations()</a></td><td class="bar" id="b11"><img src="../jacoco-resources/redbar.gif" width="40" height="10" title="4" alt="4"/></td><td class="ctr2" id="c11">0%</td><td class="bar" id="d11"/><td class="ctr2" id="e11">n/a</td><td class="ctr1" id="f11">1</td><td class="ctr2" id="g11">1</td><td class="ctr1" id="h11">1</td><td class="ctr2" id="i11">1</td><td class="ctr1" id="j11">1</td><td class="ctr2" id="k11">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.util/EventLockRedisUtil.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.util/EventLockRedisUtil.java.html
    deleted file mode 100644
    index 2fd3778b..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.util/EventLockRedisUtil.java.html
    +++ /dev/null
    @@ -1,75 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>EventLockRedisUtil.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.util</a> &gt; <span class="el_source">EventLockRedisUtil.java</span></div><h1>EventLockRedisUtil.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.util;
    -
    -import lombok.RequiredArgsConstructor;
    -import org.springframework.data.redis.core.*;
    -import org.springframework.stereotype.Component;
    -
    -import java.time.Duration;
    -import java.util.Set;
    -
    -/**
    - * 선착순, 추첨 이벤트의 동기화를 위해 사용되는 RedisUtil 클래스
    - */
    -@Component
    -@RequiredArgsConstructor
    -public class EventLockRedisUtil {
    -
    -    private final RedisTemplate&lt;String, Integer&gt; integerRedisTemplate;
    -
    -    // key 에 해당하는 데이터 얻어오는 메서드
    -    public Integer getData(String key) {
    -<span class="nc" id="L21">        return getStringIntegerValueOperations().get(key);</span>
    -    }
    -
    -    // key - value 데이터 설정하는 메서드
    -    public void setData(String key, int value) {
    -<span class="nc" id="L26">        getStringIntegerValueOperations().set(key, value);</span>
    -<span class="nc" id="L27">    }</span>
    -
    -    // 참가자의 ID를 Set으로 저장하고 관리하는 메서드
    -    public void addValueToSet(String key, Integer userId) {
    -<span class="nc" id="L31">        getStringSetIntegerValueOperations().add(key, userId);</span>
    -<span class="nc" id="L32">    }</span>
    -
    -    // TTL 설정하는 메서드
    -    public void setTTL(String key, long seconds) {
    -<span class="nc" id="L36">        integerRedisTemplate.expire(key, Duration.ofSeconds(seconds));</span>
    -<span class="nc" id="L37">    }</span>
    -
    -    // key에 해당하는 데이터의 값을 1 더하는 메서드
    -    // 원자적으로 값을 증가시킨다.
    -    public void incrementData(String key) {
    -<span class="nc" id="L42">        getStringIntegerValueOperations().increment(key, 1);</span>
    -<span class="nc" id="L43">    }</span>
    -
    -    public void deleteData(String key) {
    -<span class="nc" id="L46">        integerRedisTemplate.delete(key);</span>
    -<span class="nc" id="L47">    }</span>
    -
    -    public boolean isParticipantExists(String key, Integer participantId) {
    -<span class="nc" id="L50">        return Boolean.TRUE.equals(getStringSetIntegerValueOperations().isMember(key, participantId));</span>
    -    }
    -
    -    public void removeParticipantId(String key, Integer participantId) {
    -<span class="nc" id="L54">        getStringSetIntegerValueOperations().remove(key, participantId);</span>
    -<span class="nc" id="L55">    }</span>
    -
    -    public Set&lt;Integer&gt; getAllDataAsSet(String key) {
    -<span class="nc" id="L58">        return getStringSetIntegerValueOperations().members(key);</span>
    -    }
    -
    -    public void deleteTempWinnerList(String key) {
    -<span class="nc" id="L62">        integerRedisTemplate.delete(key);</span>
    -<span class="nc" id="L63">    }</span>
    -
    -
    -
    -    private ValueOperations&lt;String, Integer&gt; getStringIntegerValueOperations() {
    -<span class="nc" id="L68">        return integerRedisTemplate.opsForValue();</span>
    -    }
    -
    -    private SetOperations&lt;String, Integer&gt; getStringSetIntegerValueOperations() {
    -<span class="nc" id="L72">        return integerRedisTemplate.opsForSet();</span>
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.util/FcfsRedisUtil.html b/jacoco/jacocoHtml/com.softeer.backend.global.util/FcfsRedisUtil.html
    deleted file mode 100644
    index 4a7b498b..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.util/FcfsRedisUtil.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>FcfsRedisUtil</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.util</a> &gt; <span class="el_class">FcfsRedisUtil</span></div><h1>FcfsRedisUtil</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">133 of 133</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">14</td><td class="ctr2">14</td><td class="ctr1">28</td><td class="ctr2">28</td><td class="ctr1">13</td><td class="ctr2">13</td></tr></tfoot><tbody><tr><td id="a7"><a href="FcfsRedisUtil.java.html#L46" class="el_method">getHashEntries(String)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="37" alt="37"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">8</td><td class="ctr2" id="i0">8</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="FcfsRedisUtil.java.html#L18" class="el_method">addToIntegerSet(String, Integer)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="42" height="10" title="13" alt="13"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="FcfsRedisUtil.java.html#L22" class="el_method">addToStringSet(String, String)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="42" height="10" title="13" alt="13"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">2</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a11"><a href="FcfsRedisUtil.java.html#L38" class="el_method">isValueInIntegerSet(String, Integer)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="29" height="10" title="9" alt="9"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h9">1</td><td class="ctr2" id="i9">1</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a12"><a href="FcfsRedisUtil.java.html#L42" class="el_method">isValueInStringSet(String, String)</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="29" height="10" title="9" alt="9"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h10">1</td><td class="ctr2" id="i10">1</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a0"><a href="FcfsRedisUtil.java.html#L26" class="el_method">addToHash(String, String, Integer)</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="25" height="10" title="8" alt="8"/></td><td class="ctr2" id="c5">0%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">1</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h3">2</td><td class="ctr2" id="i3">2</td><td class="ctr1" id="j5">1</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a10"><a href="FcfsRedisUtil.java.html#L30" class="el_method">incrementValue(String)</a></td><td class="bar" id="b6"><img src="../jacoco-resources/redbar.gif" width="22" height="10" title="7" alt="7"/></td><td class="ctr2" id="c6">0%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">1</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h4">2</td><td class="ctr2" id="i4">2</td><td class="ctr1" id="j6">1</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a9"><a href="FcfsRedisUtil.java.html#L59" class="el_method">getValue(String)</a></td><td class="bar" id="b7"><img src="../jacoco-resources/redbar.gif" width="22" height="10" title="7" alt="7"/></td><td class="ctr2" id="c7">0%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">1</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h11">1</td><td class="ctr2" id="i11">1</td><td class="ctr1" id="j7">1</td><td class="ctr2" id="k7">1</td></tr><tr><td id="a8"><a href="FcfsRedisUtil.java.html#L34" class="el_method">getIntegerSetSize(String)</a></td><td class="bar" id="b8"><img src="../jacoco-resources/redbar.gif" width="19" height="10" title="6" alt="6"/></td><td class="ctr2" id="c8">0%</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f8">1</td><td class="ctr2" id="g8">1</td><td class="ctr1" id="h12">1</td><td class="ctr2" id="i12">1</td><td class="ctr1" id="j8">1</td><td class="ctr2" id="k8">1</td></tr><tr><td id="a4"><a href="FcfsRedisUtil.java.html#L63" class="el_method">clearIntegerSet(String)</a></td><td class="bar" id="b9"><img src="../jacoco-resources/redbar.gif" width="19" height="10" title="6" alt="6"/></td><td class="ctr2" id="c9">0%</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f9">1</td><td class="ctr2" id="g9">1</td><td class="ctr1" id="h5">2</td><td class="ctr2" id="i5">2</td><td class="ctr1" id="j9">1</td><td class="ctr2" id="k9">1</td></tr><tr><td id="a5"><a href="FcfsRedisUtil.java.html#L67" class="el_method">clearStringSet(String)</a></td><td class="bar" id="b10"><img src="../jacoco-resources/redbar.gif" width="19" height="10" title="6" alt="6"/></td><td class="ctr2" id="c10">0%</td><td class="bar" id="d10"/><td class="ctr2" id="e10">n/a</td><td class="ctr1" id="f10">1</td><td class="ctr2" id="g10">1</td><td class="ctr1" id="h6">2</td><td class="ctr2" id="i6">2</td><td class="ctr1" id="j10">1</td><td class="ctr2" id="k10">1</td></tr><tr><td id="a3"><a href="FcfsRedisUtil.java.html#L71" class="el_method">clearHash(String)</a></td><td class="bar" id="b11"><img src="../jacoco-resources/redbar.gif" width="19" height="10" title="6" alt="6"/></td><td class="ctr2" id="c11">0%</td><td class="bar" id="d11"/><td class="ctr2" id="e11">n/a</td><td class="ctr1" id="f11">1</td><td class="ctr2" id="g11">1</td><td class="ctr1" id="h7">2</td><td class="ctr2" id="i7">2</td><td class="ctr1" id="j11">1</td><td class="ctr2" id="k11">1</td></tr><tr><td id="a6"><a href="FcfsRedisUtil.java.html#L75" class="el_method">clearValue(String)</a></td><td class="bar" id="b12"><img src="../jacoco-resources/redbar.gif" width="19" height="10" title="6" alt="6"/></td><td class="ctr2" id="c12">0%</td><td class="bar" id="d12"/><td class="ctr2" id="e12">n/a</td><td class="ctr1" id="f12">1</td><td class="ctr2" id="g12">1</td><td class="ctr1" id="h8">2</td><td class="ctr2" id="i8">2</td><td class="ctr1" id="j12">1</td><td class="ctr2" id="k12">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.util/FcfsRedisUtil.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.util/FcfsRedisUtil.java.html
    deleted file mode 100644
    index 4b4586a1..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.util/FcfsRedisUtil.java.html
    +++ /dev/null
    @@ -1,81 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>FcfsRedisUtil.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.util</a> &gt; <span class="el_source">FcfsRedisUtil.java</span></div><h1>FcfsRedisUtil.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.util;
    -
    -import lombok.RequiredArgsConstructor;
    -import org.springframework.data.redis.core.*;
    -import org.springframework.stereotype.Component;
    -
    -import java.util.HashMap;
    -import java.util.Map;
    -
    -@Component
    -@RequiredArgsConstructor
    -public class FcfsRedisUtil {
    -
    -    private final StringRedisTemplate stringRedisTemplate;
    -    private final RedisTemplate&lt;String, Integer&gt; integerRedisTemplate;
    -
    -    public void addToIntegerSet(String key, Integer value) {
    -<span class="nc" id="L18">        integerRedisTemplate.opsForSet().add(key, value);</span>
    -<span class="nc" id="L19">    }</span>
    -
    -    public void addToStringSet(String key, String value) {
    -<span class="nc" id="L22">        stringRedisTemplate.opsForSet().add(key, value);</span>
    -<span class="nc" id="L23">    }</span>
    -
    -    public void addToHash(String key, String field, Integer value) {
    -<span class="nc" id="L26">        integerRedisTemplate.opsForHash().put(key, field, value);</span>
    -<span class="nc" id="L27">    }</span>
    -
    -    public void incrementValue(String key){
    -<span class="nc" id="L30">        integerRedisTemplate.opsForValue().increment(key);</span>
    -<span class="nc" id="L31">    }</span>
    -
    -    public Long getIntegerSetSize(String key) {
    -<span class="nc" id="L34">        return integerRedisTemplate.opsForSet().size(key);</span>
    -    }
    -
    -    public boolean isValueInIntegerSet(String key, Integer value) {
    -<span class="nc" id="L38">        return Boolean.TRUE.equals(integerRedisTemplate.opsForSet().isMember(key, value));</span>
    -    }
    -
    -    public boolean isValueInStringSet(String key, String value) {
    -<span class="nc" id="L42">        return Boolean.TRUE.equals(stringRedisTemplate.opsForSet().isMember(key, value));</span>
    -    }
    -
    -    public Map&lt;String, Integer&gt; getHashEntries(String key) {
    -<span class="nc" id="L46">        Map&lt;Object, Object&gt; entries = integerRedisTemplate.opsForHash().entries(key);</span>
    -<span class="nc" id="L47">        Map&lt;String, Integer&gt; result = new HashMap&lt;&gt;();</span>
    -
    -<span class="nc bnc" id="L49" title="All 2 branches missed.">        for (Map.Entry&lt;Object, Object&gt; entry : entries.entrySet()) {</span>
    -<span class="nc" id="L50">            String mapKey = (String) entry.getKey();</span>
    -<span class="nc" id="L51">            Integer mapValue = (Integer) entry.getValue();</span>
    -<span class="nc" id="L52">            result.put(mapKey, mapValue);</span>
    -<span class="nc" id="L53">        }</span>
    -
    -<span class="nc" id="L55">        return result;</span>
    -    }
    -
    -    public Integer getValue(String key) {
    -<span class="nc" id="L59">        return integerRedisTemplate.opsForValue().get(key);</span>
    -    }
    -
    -    public void clearIntegerSet(String key) {
    -<span class="nc" id="L63">        integerRedisTemplate.delete(key);</span>
    -<span class="nc" id="L64">    }</span>
    -
    -    public void clearStringSet(String key) {
    -<span class="nc" id="L67">        stringRedisTemplate.delete(key);</span>
    -<span class="nc" id="L68">    }</span>
    -
    -    public void clearHash(String key) {
    -<span class="nc" id="L71">        integerRedisTemplate.delete(key);</span>
    -<span class="nc" id="L72">    }</span>
    -
    -    public void clearValue(String key) {
    -<span class="nc" id="L75">        stringRedisTemplate.delete(key);</span>
    -<span class="nc" id="L76">    }</span>
    -
    -
    -
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.util/JwtUtil.html b/jacoco/jacocoHtml/com.softeer.backend.global.util/JwtUtil.html
    deleted file mode 100644
    index c41b0a17..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.util/JwtUtil.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>JwtUtil</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.util</a> &gt; <span class="el_class">JwtUtil</span></div><h1>JwtUtil</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">254 of 254</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">14</td><td class="ctr2">14</td><td class="ctr1">64</td><td class="ctr2">64</td><td class="ctr1">13</td><td class="ctr2">13</td></tr></tfoot><tbody><tr><td id="a12"><a href="JwtUtil.java.html#L117" class="el_method">validateToken(String)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="47" alt="47"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">16</td><td class="ctr2" id="i0">16</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="JwtUtil.java.html#L96" class="el_method">createServiceToken(JwtClaimsDto)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="117" height="10" title="46" alt="46"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">11</td><td class="ctr2" id="i1">11</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a3"><a href="JwtUtil.java.html#L137" class="el_method">createToken(JwtClaimsDto, Long)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="109" height="10" title="43" alt="43"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">10</td><td class="ctr2" id="i2">10</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a6"><a href="JwtUtil.java.html#L80" class="el_method">getAuthInfoFromToken(String)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="79" height="10" title="31" alt="31"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">10</td><td class="ctr2" id="i3">10</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a4"><a href="JwtUtil.java.html#L30" class="el_method">extractAccessToken(HttpServletRequest)</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="53" height="10" title="21" alt="21"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">5</td><td class="ctr2" id="i4">5</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a7"><a href="JwtUtil.java.html#L58" class="el_method">getJwtClaimsFromAccessToken(String)</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="33" height="10" title="13" alt="13"/></td><td class="ctr2" id="c5">0%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">1</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">4</td><td class="ctr2" id="i5">4</td><td class="ctr1" id="j5">1</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a8"><a href="JwtUtil.java.html#L70" class="el_method">getJwtClaimsFromRefreshToken(String)</a></td><td class="bar" id="b6"><img src="../jacoco-resources/redbar.gif" width="33" height="10" title="13" alt="13"/></td><td class="ctr2" id="c6">0%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">1</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h6">4</td><td class="ctr2" id="i6">4</td><td class="ctr1" id="j6">1</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a10"><a href="JwtUtil.java.html#L35" class="el_method">lambda$extractAccessToken$1(String)</a></td><td class="bar" id="b7"><img src="../jacoco-resources/redbar.gif" width="22" height="10" title="9" alt="9"/></td><td class="ctr2" id="c7">0%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">1</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h7">1</td><td class="ctr2" id="i7">1</td><td class="ctr1" id="j7">1</td><td class="ctr2" id="k7">1</td></tr><tr><td id="a5"><a href="JwtUtil.java.html#L40" class="el_method">extractRefreshToken(HttpServletRequest)</a></td><td class="bar" id="b8"><img src="../jacoco-resources/redbar.gif" width="17" height="10" title="7" alt="7"/></td><td class="ctr2" id="c8">0%</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f8">1</td><td class="ctr2" id="g8">1</td><td class="ctr1" id="h8">1</td><td class="ctr2" id="i8">1</td><td class="ctr1" id="j8">1</td><td class="ctr2" id="k8">1</td></tr><tr><td id="a0"><a href="JwtUtil.java.html#L45" class="el_method">createAccessToken(JwtClaimsDto)</a></td><td class="bar" id="b9"><img src="../jacoco-resources/redbar.gif" width="17" height="10" title="7" alt="7"/></td><td class="ctr2" id="c9">0%</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f9">1</td><td class="ctr2" id="g9">1</td><td class="ctr1" id="h9">1</td><td class="ctr2" id="i9">1</td><td class="ctr1" id="j9">1</td><td class="ctr2" id="k9">1</td></tr><tr><td id="a1"><a href="JwtUtil.java.html#L50" class="el_method">createRefreshToken(JwtClaimsDto)</a></td><td class="bar" id="b10"><img src="../jacoco-resources/redbar.gif" width="17" height="10" title="7" alt="7"/></td><td class="ctr2" id="c10">0%</td><td class="bar" id="d10"/><td class="ctr2" id="e10">n/a</td><td class="ctr1" id="f10">1</td><td class="ctr2" id="g10">1</td><td class="ctr1" id="h10">1</td><td class="ctr2" id="i10">1</td><td class="ctr1" id="j10">1</td><td class="ctr2" id="k10">1</td></tr><tr><td id="a9"><a href="JwtUtil.java.html#L34" class="el_method">lambda$extractAccessToken$0(String)</a></td><td class="bar" id="b11"><img src="../jacoco-resources/redbar.gif" width="15" height="10" title="6" alt="6"/></td><td class="ctr2" id="c11">0%</td><td class="bar" id="d11"/><td class="ctr2" id="e11">n/a</td><td class="ctr1" id="f11">1</td><td class="ctr2" id="g11">1</td><td class="ctr1" id="h11">1</td><td class="ctr2" id="i11">1</td><td class="ctr1" id="j11">1</td><td class="ctr2" id="k11">1</td></tr><tr><td id="a11"><a href="JwtUtil.java.html#L20" class="el_method">static {...}</a></td><td class="bar" id="b12"><img src="../jacoco-resources/redbar.gif" width="10" height="10" title="4" alt="4"/></td><td class="ctr2" id="c12">0%</td><td class="bar" id="d12"/><td class="ctr2" id="e12">n/a</td><td class="ctr1" id="f12">1</td><td class="ctr2" id="g12">1</td><td class="ctr1" id="h12">1</td><td class="ctr2" id="i12">1</td><td class="ctr1" id="j12">1</td><td class="ctr2" id="k12">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.util/JwtUtil.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.util/JwtUtil.java.html
    deleted file mode 100644
    index f75b7de6..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.util/JwtUtil.java.html
    +++ /dev/null
    @@ -1,151 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>JwtUtil.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.util</a> &gt; <span class="el_source">JwtUtil.java</span></div><h1>JwtUtil.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.util;
    -
    -import com.softeer.backend.global.common.code.status.ErrorStatus;
    -import com.softeer.backend.global.common.constant.RoleType;
    -import com.softeer.backend.global.common.dto.JwtClaimsDto;
    -import com.softeer.backend.global.common.exception.JwtAuthenticationException;
    -import com.softeer.backend.global.config.properties.JwtProperties;
    -import com.softeer.backend.global.common.dto.JwtTokenResponseDto;
    -import io.jsonwebtoken.*;
    -import jakarta.servlet.http.HttpServletRequest;
    -import lombok.RequiredArgsConstructor;
    -import lombok.extern.slf4j.Slf4j;
    -import org.springframework.stereotype.Component;
    -import org.springframework.util.StringUtils;
    -
    -import java.time.LocalDateTime;
    -import java.util.Date;
    -import java.util.Optional;
    -
    -<span class="nc" id="L20">@Slf4j</span>
    -@RequiredArgsConstructor
    -@Component
    -public class JwtUtil {
    -    private final JwtProperties jwtProperties;
    -    private final StringRedisUtil stringRedisUtil;
    -
    -    // HttpServletRequest 부터 Access Token 추출
    -    public Optional&lt;String&gt; extractAccessToken(HttpServletRequest request) {
    -
    -<span class="nc" id="L30">        log.info(&quot;Authorization 헤더: {}&quot;, request.getHeader(&quot;Authorization&quot;));</span>
    -
    -<span class="nc" id="L32">        return Optional.ofNullable(request.getHeader(jwtProperties.getAccessHeader()))</span>
    -<span class="nc" id="L33">                .filter(StringUtils::hasText)</span>
    -<span class="nc" id="L34">                .filter(accessToken -&gt; accessToken.startsWith(jwtProperties.getBearer()))</span>
    -<span class="nc" id="L35">                .map(accessToken -&gt; accessToken.substring(jwtProperties.getBearer().length() + 1));</span>
    -    }
    -
    -    // HttpServletRequest 부터 Refresh Token 추출
    -    public Optional&lt;String&gt; extractRefreshToken(HttpServletRequest request) {
    -<span class="nc" id="L40">        return Optional.ofNullable(request.getHeader(jwtProperties.getRefreshHeader()));</span>
    -    }
    -
    -    // access token 생성
    -    public String createAccessToken(JwtClaimsDto jwtClaimsDto) {
    -<span class="nc" id="L45">        return this.createToken(jwtClaimsDto, jwtProperties.getAccessExpiration());</span>
    -    }
    -
    -    // refresh token 생성
    -    public String createRefreshToken(JwtClaimsDto jwtClaimsDto) {
    -<span class="nc" id="L50">        return this.createToken(jwtClaimsDto, jwtProperties.getRefreshExpiration());</span>
    -
    -    }
    -
    -    // access token 으로부터 jwt claim 정보 추출
    -    public JwtClaimsDto getJwtClaimsFromAccessToken(String token) {
    -        try {
    -
    -<span class="nc" id="L58">            return getAuthInfoFromToken(token);</span>
    -
    -<span class="nc" id="L60">        } catch (Exception exception) {</span>
    -<span class="nc" id="L61">            log.error(&quot;Access Token is invalid.&quot;);</span>
    -<span class="nc" id="L62">            throw new JwtAuthenticationException(ErrorStatus._UNAUTHORIZED);</span>
    -        }
    -    }
    -
    -    // refresh token 으로부터 jwt claim 정보 추출
    -    public JwtClaimsDto getJwtClaimsFromRefreshToken(String token) {
    -        try {
    -
    -<span class="nc" id="L70">            return getAuthInfoFromToken(token);</span>
    -
    -<span class="nc" id="L72">        } catch (Exception exception) {</span>
    -<span class="nc" id="L73">            log.error(&quot;JWT Refresh Token is invalid during the '/reissue' process.&quot;);</span>
    -<span class="nc" id="L74">            throw new JwtAuthenticationException(ErrorStatus._REISSUE_ERROR);</span>
    -        }
    -    }
    -
    -    // Jwt Token 에서 claim 정보를 파싱하여 반환하는 메서드
    -    private JwtClaimsDto getAuthInfoFromToken(String token) {
    -<span class="nc" id="L80">        Claims claims = Jwts.parser()</span>
    -<span class="nc" id="L81">                .setSigningKey(jwtProperties.getSecret())</span>
    -<span class="nc" id="L82">                .parseClaimsJws(token)</span>
    -<span class="nc" id="L83">                .getBody();</span>
    -
    -<span class="nc" id="L85">        int id = claims.get(&quot;id&quot;, Integer.class);</span>
    -<span class="nc" id="L86">        RoleType roleType = RoleType.valueOf(claims.get(&quot;roleType&quot;, String.class));</span>
    -
    -<span class="nc" id="L88">        return JwtClaimsDto.builder()</span>
    -<span class="nc" id="L89">                .id(id)</span>
    -<span class="nc" id="L90">                .roleType(roleType)</span>
    -<span class="nc" id="L91">                .build();</span>
    -    }
    -
    -    // 전화번호 로그인 및 admin 로그인 시 jwt 응답 생성 + redis refresh 저장
    -    public JwtTokenResponseDto createServiceToken(JwtClaimsDto jwtClaimsDto) {
    -<span class="nc" id="L96">        stringRedisUtil.deleteData(stringRedisUtil.getRedisKeyForJwt(jwtClaimsDto));</span>
    -<span class="nc" id="L97">        String accessToken = createAccessToken(jwtClaimsDto);</span>
    -<span class="nc" id="L98">        String refreshToken = createRefreshToken(jwtClaimsDto);</span>
    -
    -        // 서비스 토큰 생성
    -<span class="nc" id="L101">        JwtTokenResponseDto jwtTokenResponseDto = JwtTokenResponseDto.builder()</span>
    -<span class="nc" id="L102">                .accessToken(accessToken)</span>
    -<span class="nc" id="L103">                .refreshToken(refreshToken)</span>
    -<span class="nc" id="L104">                .expiredTime(LocalDateTime.now().plusSeconds(jwtProperties.getAccessExpiration() / 1000))</span>
    -<span class="nc" id="L105">                .build();</span>
    -
    -        // redis refresh token 저장
    -<span class="nc" id="L108">        stringRedisUtil.setDataExpire(stringRedisUtil.getRedisKeyForJwt(jwtClaimsDto),</span>
    -<span class="nc" id="L109">                jwtTokenResponseDto.getRefreshToken(), jwtProperties.getRefreshExpiration());</span>
    -
    -<span class="nc" id="L111">        return jwtTokenResponseDto;</span>
    -    }
    -
    -    // token 유효성 검증
    -    public boolean validateToken(String token) {
    -        try {
    -<span class="nc" id="L117">            Jws&lt;Claims&gt; claimsJws = Jwts.parser()</span>
    -<span class="nc" id="L118">                    .setSigningKey(jwtProperties.getSecret())</span>
    -<span class="nc" id="L119">                    .parseClaimsJws(token);</span>
    -<span class="nc bnc" id="L120" title="All 2 branches missed.">            return !claimsJws.getBody().getExpiration().before(new Date());</span>
    -<span class="nc" id="L121">        } catch (ExpiredJwtException exception) {</span>
    -<span class="nc" id="L122">            log.warn(&quot;만료된 jwt 입니다.&quot;);</span>
    -<span class="nc" id="L123">        } catch (UnsupportedJwtException exception) {</span>
    -<span class="nc" id="L124">            log.warn(&quot;지원되지 않는 jwt 입니다.&quot;);</span>
    -<span class="nc" id="L125">        } catch (IllegalArgumentException exception) {</span>
    -<span class="nc" id="L126">            log.warn(&quot;token에 값이 없습니다.&quot;);</span>
    -<span class="nc" id="L127">        } catch (SignatureException exception) {</span>
    -<span class="nc" id="L128">            log.warn(&quot;signature에 오류가 존재합니다.&quot;);</span>
    -<span class="nc" id="L129">        } catch (MalformedJwtException exception) {</span>
    -<span class="nc" id="L130">            log.warn(&quot;jwt가 유효하지 않습니다.&quot;);</span>
    -<span class="nc" id="L131">        }</span>
    -<span class="nc" id="L132">        return false;</span>
    -    }
    -
    -    // 실제 token 생성 로직
    -    private String createToken(JwtClaimsDto jwtClaimsDto, Long tokenExpiration) {
    -<span class="nc" id="L137">        Claims claims = Jwts.claims();</span>
    -<span class="nc" id="L138">        claims.put(&quot;id&quot;, jwtClaimsDto.getId());</span>
    -<span class="nc" id="L139">        claims.put(&quot;roleType&quot;, jwtClaimsDto.getRoleType().name());</span>
    -<span class="nc" id="L140">        Date tokenExpiresIn = new Date(new Date().getTime() + tokenExpiration);</span>
    -
    -<span class="nc" id="L142">        return Jwts.builder()</span>
    -<span class="nc" id="L143">                .setClaims(claims)</span>
    -<span class="nc" id="L144">                .setIssuedAt(new Date())</span>
    -<span class="nc" id="L145">                .setExpiration(tokenExpiresIn)</span>
    -<span class="nc" id="L146">                .signWith(SignatureAlgorithm.HS512, jwtProperties.getSecret())</span>
    -<span class="nc" id="L147">                .compact();</span>
    -    }
    -
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.util/RandomCodeUtil.html b/jacoco/jacocoHtml/com.softeer.backend.global.util/RandomCodeUtil.html
    deleted file mode 100644
    index a57f1271..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.util/RandomCodeUtil.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>RandomCodeUtil</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.util</a> &gt; <span class="el_class">RandomCodeUtil</span></div><h1>RandomCodeUtil</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">31 of 31</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">6</td><td class="ctr2">6</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="RandomCodeUtil.java.html#L16" class="el_method">generateRandomCode(int)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="23" alt="23"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">4</td><td class="ctr2" id="i0">4</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="RandomCodeUtil.java.html#L12" class="el_method">static {...}</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="41" height="10" title="8" alt="8"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.util/RandomCodeUtil.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.util/RandomCodeUtil.java.html
    deleted file mode 100644
    index cf934190..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.util/RandomCodeUtil.java.html
    +++ /dev/null
    @@ -1,24 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>RandomCodeUtil.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.util</a> &gt; <span class="el_source">RandomCodeUtil.java</span></div><h1>RandomCodeUtil.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.util;
    -
    -import java.security.SecureRandom;
    -
    -import lombok.RequiredArgsConstructor;
    -import org.springframework.stereotype.Component;
    -
    -@Component
    -@RequiredArgsConstructor
    -public class RandomCodeUtil {
    -    private static final String CHARACTERS = &quot;0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ&quot;;
    -<span class="nc" id="L12">    private static final int CHARACTERS_LENGTH = CHARACTERS.length();</span>
    -<span class="nc" id="L13">    private static final SecureRandom random = new SecureRandom();</span>
    -
    -    public String generateRandomCode(int codeLength) {
    -<span class="nc" id="L16">        StringBuilder code = new StringBuilder(codeLength);</span>
    -<span class="nc bnc" id="L17" title="All 2 branches missed.">        for (int i = 0; i &lt; codeLength; i++) {</span>
    -<span class="nc" id="L18">            code.append(CHARACTERS.charAt(random.nextInt(CHARACTERS_LENGTH)));</span>
    -        }
    -
    -<span class="nc" id="L21">        return code.toString();</span>
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.util/SpringELParser.html b/jacoco/jacocoHtml/com.softeer.backend.global.util/SpringELParser.html
    deleted file mode 100644
    index e54e231a..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.util/SpringELParser.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>SpringELParser</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.util</a> &gt; <span class="el_class">SpringELParser</span></div><h1>SpringELParser</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">34 of 34</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="SpringELParser.java.html#L13" class="el_method">getDynamicValue(String[], Object[], String)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="34" alt="34"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">5</td><td class="ctr2" id="i0">5</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.util/SpringELParser.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.util/SpringELParser.java.html
    deleted file mode 100644
    index fbc2a692..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.util/SpringELParser.java.html
    +++ /dev/null
    @@ -1,23 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>SpringELParser.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.util</a> &gt; <span class="el_source">SpringELParser.java</span></div><h1>SpringELParser.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.util;
    -
    -import org.springframework.expression.ExpressionParser;
    -import org.springframework.expression.common.TemplateParserContext;
    -import org.springframework.expression.spel.standard.SpelExpressionParser;
    -import org.springframework.expression.spel.support.StandardEvaluationContext;
    -
    -public class SpringELParser {
    -    private SpringELParser() {
    -    }
    -
    -    public static Object getDynamicValue(String[] parameterNames, Object[] args, String key) {
    -<span class="nc" id="L13">        ExpressionParser parser = new SpelExpressionParser();</span>
    -<span class="nc" id="L14">        StandardEvaluationContext context = new StandardEvaluationContext();</span>
    -
    -<span class="nc bnc" id="L16" title="All 2 branches missed.">        for (int i = 0; i &lt; parameterNames.length; i++) {</span>
    -<span class="nc" id="L17">            context.setVariable(parameterNames[i], args[i]);</span>
    -        }
    -
    -<span class="nc" id="L20">        return parser.parseExpression(key, new TemplateParserContext()).getValue(context, Object.class);</span>
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.util/StringRedisUtil.html b/jacoco/jacocoHtml/com.softeer.backend.global.util/StringRedisUtil.html
    deleted file mode 100644
    index 4f51439c..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.util/StringRedisUtil.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>StringRedisUtil</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.util</a> &gt; <span class="el_class">StringRedisUtil</span></div><h1>StringRedisUtil</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">90 of 90</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">11</td><td class="ctr2">11</td><td class="ctr1">24</td><td class="ctr2">24</td><td class="ctr1">11</td><td class="ctr2">11</td></tr></tfoot><tbody><tr><td id="a9"><a href="StringRedisUtil.java.html#L54" class="el_method">setDataExpireAt(String, String, LocalDateTime)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="13" alt="13"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">4</td><td class="ctr2" id="i0">4</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a3"><a href="StringRedisUtil.java.html#L80" class="el_method">getRedisKeyForJwt(JwtClaimsDto)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="110" height="10" title="12" alt="12"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">3</td><td class="ctr2" id="i1">3</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a10"><a href="StringRedisUtil.java.html#L47" class="el_method">setExpire(String, Long)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="101" height="10" title="11" alt="11"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">3</td><td class="ctr2" id="i2">3</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a8"><a href="StringRedisUtil.java.html#L41" class="el_method">setDataExpire(String, String, long)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="92" height="10" title="10" alt="10"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">3</td><td class="ctr2" id="i3">3</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a6"><a href="StringRedisUtil.java.html#L64" class="el_method">incrementData(String)</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="83" height="10" title="9" alt="9"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">2</td><td class="ctr2" id="i4">2</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a5"><a href="StringRedisUtil.java.html#L21" class="el_method">hasKey(String)</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="64" height="10" title="7" alt="7"/></td><td class="ctr2" id="c5">0%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">1</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h8">1</td><td class="ctr2" id="i8">1</td><td class="ctr1" id="j5">1</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a2"><a href="StringRedisUtil.java.html#L26" class="el_method">getData(String)</a></td><td class="bar" id="b6"><img src="../jacoco-resources/redbar.gif" width="55" height="10" title="6" alt="6"/></td><td class="ctr2" id="c6">0%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">1</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h9">1</td><td class="ctr2" id="i9">1</td><td class="ctr1" id="j6">1</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a7"><a href="StringRedisUtil.java.html#L31" class="el_method">setData(String, String)</a></td><td class="bar" id="b7"><img src="../jacoco-resources/redbar.gif" width="55" height="10" title="6" alt="6"/></td><td class="ctr2" id="c7">0%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">1</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h5">2</td><td class="ctr2" id="i5">2</td><td class="ctr1" id="j7">1</td><td class="ctr2" id="k7">1</td></tr><tr><td id="a0"><a href="StringRedisUtil.java.html#L36" class="el_method">deleteData(String)</a></td><td class="bar" id="b8"><img src="../jacoco-resources/redbar.gif" width="55" height="10" title="6" alt="6"/></td><td class="ctr2" id="c8">0%</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f8">1</td><td class="ctr2" id="g8">1</td><td class="ctr1" id="h6">2</td><td class="ctr2" id="i6">2</td><td class="ctr1" id="j8">1</td><td class="ctr2" id="k8">1</td></tr><tr><td id="a1"><a href="StringRedisUtil.java.html#L89" class="el_method">deleteRefreshToken(JwtClaimsDto)</a></td><td class="bar" id="b9"><img src="../jacoco-resources/redbar.gif" width="55" height="10" title="6" alt="6"/></td><td class="ctr2" id="c9">0%</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f9">1</td><td class="ctr2" id="g9">1</td><td class="ctr1" id="h7">2</td><td class="ctr2" id="i7">2</td><td class="ctr1" id="j9">1</td><td class="ctr2" id="k9">1</td></tr><tr><td id="a4"><a href="StringRedisUtil.java.html#L69" class="el_method">getStringStringValueOperations()</a></td><td class="bar" id="b10"><img src="../jacoco-resources/redbar.gif" width="36" height="10" title="4" alt="4"/></td><td class="ctr2" id="c10">0%</td><td class="bar" id="d10"/><td class="ctr2" id="e10">n/a</td><td class="ctr1" id="f10">1</td><td class="ctr2" id="g10">1</td><td class="ctr1" id="h10">1</td><td class="ctr2" id="i10">1</td><td class="ctr1" id="j10">1</td><td class="ctr2" id="k10">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.util/StringRedisUtil.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.util/StringRedisUtil.java.html
    deleted file mode 100644
    index 69945d6a..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.util/StringRedisUtil.java.html
    +++ /dev/null
    @@ -1,93 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>StringRedisUtil.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.util</a> &gt; <span class="el_source">StringRedisUtil.java</span></div><h1>StringRedisUtil.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.util;
    -
    -import com.softeer.backend.global.common.constant.RoleType;
    -import com.softeer.backend.global.common.dto.JwtClaimsDto;
    -import lombok.RequiredArgsConstructor;
    -import org.springframework.data.redis.core.StringRedisTemplate;
    -import org.springframework.data.redis.core.ValueOperations;
    -import org.springframework.stereotype.Component;
    -
    -import java.time.Duration;
    -import java.time.LocalDateTime;
    -import java.time.temporal.ChronoUnit;
    -
    -@Component
    -@RequiredArgsConstructor
    -public class StringRedisUtil {
    -    private final StringRedisTemplate stringRedisTemplate;
    -
    -    // 특정 키에 대한 값이 있는지 확인
    -    public boolean hasKey(String key) {
    -<span class="nc" id="L21">        return Boolean.TRUE.equals(stringRedisTemplate.hasKey(key));</span>
    -    }
    -
    -    // key 에 해당하는 데이터 얻어오는 메서드
    -    public String getData(String key) {
    -<span class="nc" id="L26">        return getStringStringValueOperations().get(key);</span>
    -    }
    -
    -    // key - value 데이터 설정하는 메서드
    -    public void setData(String key, String value) {
    -<span class="nc" id="L31">        getStringStringValueOperations().set(key, value);</span>
    -<span class="nc" id="L32">    }</span>
    -
    -    /* key 에 해당하는 데이터 삭제하는 메서드 */
    -    public void deleteData(String key) {
    -<span class="nc" id="L36">        this.stringRedisTemplate.delete(key);</span>
    -<span class="nc" id="L37">    }</span>
    -
    -    /* key 에 해당하는 데이터 만료기간 설정 메서드 */
    -    public void setDataExpire(String key, String value, long duration) {
    -<span class="nc" id="L41">        Duration expireDuration = Duration.ofSeconds(duration);</span>
    -<span class="nc" id="L42">        getStringStringValueOperations().set(key, value, expireDuration);</span>
    -<span class="nc" id="L43">    }</span>
    -
    -    // Redis에 저장되어 있는 값에 ttl을 설정하는 메서드
    -    public void setExpire(String key, Long duration) {
    -<span class="nc" id="L47">        Duration expireDuration = Duration.ofSeconds(duration);</span>
    -<span class="nc" id="L48">        stringRedisTemplate.expire(key, expireDuration);</span>
    -<span class="nc" id="L49">    }</span>
    -
    -    // 특정 시간까지 데이터가 유지되도록 설정하는 메서드
    -    public void setDataExpireAt(String key, String value, LocalDateTime expiryTime) {
    -        // 현재 시간을 가져옴
    -<span class="nc" id="L54">        LocalDateTime now = LocalDateTime.now();</span>
    -
    -        // 현재 시간과 특정 시간 사이의 차이를 계산
    -<span class="nc" id="L57">        long secondsUntilExpiry = ChronoUnit.SECONDS.between(now, expiryTime);</span>
    -
    -        // 데이터 설정 및 만료 시간 설정
    -<span class="nc" id="L60">        setDataExpire(key, value, secondsUntilExpiry);</span>
    -<span class="nc" id="L61">    }</span>
    -
    -    public long incrementData(String key) {
    -<span class="nc" id="L64">        ValueOperations&lt;String, String&gt; valueOperations = getStringStringValueOperations();</span>
    -<span class="nc" id="L65">        return valueOperations.increment(key, 1); // 증가된 값을 반환</span>
    -    }
    -
    -    private ValueOperations&lt;String, String&gt; getStringStringValueOperations() {
    -<span class="nc" id="L69">        return this.stringRedisTemplate.opsForValue();</span>
    -    }
    -
    -    /**
    -     * Refresh Token을 redis에 저장할 때, 접두사를 붙여서 redis key를 반환하는 메서드
    -     *
    -     * @param jwtClaimsDto JWT의 claim 정보
    -     * @return 일반 유저는 &quot;USER_{id값}&quot;, 어드민 유저는 &quot;ADMIN_{id값}&quot;
    -     */
    -    public String getRedisKeyForJwt(JwtClaimsDto jwtClaimsDto) {
    -
    -<span class="nc" id="L80">        String id = String.valueOf(jwtClaimsDto.getId());</span>
    -<span class="nc" id="L81">        RoleType roleType = jwtClaimsDto.getRoleType();</span>
    -
    -<span class="nc" id="L83">        return roleType.getRedisKeyPrefix() + id;</span>
    -    }
    -
    -    // redis에 저장된 Refresh Token을 삭제하는 메서드
    -    public void deleteRefreshToken(JwtClaimsDto jwtClaimsDto) {
    -
    -<span class="nc" id="L89">        deleteData(getRedisKeyForJwt(jwtClaimsDto));</span>
    -<span class="nc" id="L90">    }</span>
    -
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.util/index.html b/jacoco/jacocoHtml/com.softeer.backend.global.util/index.html
    deleted file mode 100644
    index 0451a0e7..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.util/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.util</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.util</span></div><h1>com.softeer.backend.global.util</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">728 of 728</td><td class="ctr2">0%</td><td class="bar">14 of 14</td><td class="ctr2">0%</td><td class="ctr1">68</td><td class="ctr2">68</td><td class="ctr1">169</td><td class="ctr2">169</td><td class="ctr1">61</td><td class="ctr2">61</td><td class="ctr1">7</td><td class="ctr2">7</td></tr></tfoot><tbody><tr><td id="a3"><a href="JwtUtil.html" class="el_class">JwtUtil</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="254" alt="254"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="40" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">14</td><td class="ctr2" id="g0">14</td><td class="ctr1" id="h0">64</td><td class="ctr2" id="i0">64</td><td class="ctr1" id="j0">13</td><td class="ctr2" id="k0">13</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a2"><a href="FcfsRedisUtil.html" class="el_class">FcfsRedisUtil</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="62" height="10" title="133" alt="133"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d2"><img src="../jacoco-resources/redbar.gif" width="40" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f1">14</td><td class="ctr2" id="g1">14</td><td class="ctr1" id="h1">28</td><td class="ctr2" id="i1">28</td><td class="ctr1" id="j1">13</td><td class="ctr2" id="k1">13</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a0"><a href="DrawRedisUtil.html" class="el_class">DrawRedisUtil</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="47" height="10" title="101" alt="101"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="6" alt="6"/></td><td class="ctr2" id="e2">0%</td><td class="ctr1" id="f2">12</td><td class="ctr2" id="g2">12</td><td class="ctr1" id="h3">23</td><td class="ctr2" id="i3">23</td><td class="ctr1" id="j4">9</td><td class="ctr2" id="k4">9</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a6"><a href="StringRedisUtil.html" class="el_class">StringRedisUtil</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="42" height="10" title="90" alt="90"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f4">11</td><td class="ctr2" id="g4">11</td><td class="ctr1" id="h2">24</td><td class="ctr2" id="i2">24</td><td class="ctr1" id="j3">11</td><td class="ctr2" id="k3">11</td><td class="ctr1" id="l3">1</td><td class="ctr2" id="m3">1</td></tr><tr><td id="a1"><a href="EventLockRedisUtil.html" class="el_class">EventLockRedisUtil</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="40" height="10" title="85" alt="85"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f3">12</td><td class="ctr2" id="g3">12</td><td class="ctr1" id="h4">19</td><td class="ctr2" id="i4">19</td><td class="ctr1" id="j2">12</td><td class="ctr2" id="k2">12</td><td class="ctr1" id="l4">1</td><td class="ctr2" id="m4">1</td></tr><tr><td id="a5"><a href="SpringELParser.html" class="el_class">SpringELParser</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="16" height="10" title="34" alt="34"/></td><td class="ctr2" id="c5">0%</td><td class="bar" id="d3"><img src="../jacoco-resources/redbar.gif" width="40" height="10" title="2" alt="2"/></td><td class="ctr2" id="e3">0%</td><td class="ctr1" id="f6">2</td><td class="ctr2" id="g6">2</td><td class="ctr1" id="h6">5</td><td class="ctr2" id="i6">5</td><td class="ctr1" id="j6">1</td><td class="ctr2" id="k6">1</td><td class="ctr1" id="l5">1</td><td class="ctr2" id="m5">1</td></tr><tr><td id="a4"><a href="RandomCodeUtil.html" class="el_class">RandomCodeUtil</a></td><td class="bar" id="b6"><img src="../jacoco-resources/redbar.gif" width="14" height="10" title="31" alt="31"/></td><td class="ctr2" id="c6">0%</td><td class="bar" id="d4"><img src="../jacoco-resources/redbar.gif" width="40" height="10" title="2" alt="2"/></td><td class="ctr2" id="e4">0%</td><td class="ctr1" id="f5">3</td><td class="ctr2" id="g5">3</td><td class="ctr1" id="h5">6</td><td class="ctr2" id="i5">6</td><td class="ctr1" id="j5">2</td><td class="ctr2" id="k5">2</td><td class="ctr1" id="l6">1</td><td class="ctr2" id="m6">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.util/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.global.util/index.source.html
    deleted file mode 100644
    index b31889a7..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.util/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.util</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.util</span></div><h1>com.softeer.backend.global.util</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">728 of 728</td><td class="ctr2">0%</td><td class="bar">14 of 14</td><td class="ctr2">0%</td><td class="ctr1">68</td><td class="ctr2">68</td><td class="ctr1">169</td><td class="ctr2">169</td><td class="ctr1">61</td><td class="ctr2">61</td><td class="ctr1">7</td><td class="ctr2">7</td></tr></tfoot><tbody><tr><td id="a3"><a href="JwtUtil.java.html" class="el_source">JwtUtil.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="254" alt="254"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="40" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">14</td><td class="ctr2" id="g0">14</td><td class="ctr1" id="h0">64</td><td class="ctr2" id="i0">64</td><td class="ctr1" id="j0">13</td><td class="ctr2" id="k0">13</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a2"><a href="FcfsRedisUtil.java.html" class="el_source">FcfsRedisUtil.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="62" height="10" title="133" alt="133"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d2"><img src="../jacoco-resources/redbar.gif" width="40" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f1">14</td><td class="ctr2" id="g1">14</td><td class="ctr1" id="h1">28</td><td class="ctr2" id="i1">28</td><td class="ctr1" id="j1">13</td><td class="ctr2" id="k1">13</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a0"><a href="DrawRedisUtil.java.html" class="el_source">DrawRedisUtil.java</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="47" height="10" title="101" alt="101"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="6" alt="6"/></td><td class="ctr2" id="e2">0%</td><td class="ctr1" id="f2">12</td><td class="ctr2" id="g2">12</td><td class="ctr1" id="h3">23</td><td class="ctr2" id="i3">23</td><td class="ctr1" id="j4">9</td><td class="ctr2" id="k4">9</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a6"><a href="StringRedisUtil.java.html" class="el_source">StringRedisUtil.java</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="42" height="10" title="90" alt="90"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f4">11</td><td class="ctr2" id="g4">11</td><td class="ctr1" id="h2">24</td><td class="ctr2" id="i2">24</td><td class="ctr1" id="j3">11</td><td class="ctr2" id="k3">11</td><td class="ctr1" id="l3">1</td><td class="ctr2" id="m3">1</td></tr><tr><td id="a1"><a href="EventLockRedisUtil.java.html" class="el_source">EventLockRedisUtil.java</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="40" height="10" title="85" alt="85"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f3">12</td><td class="ctr2" id="g3">12</td><td class="ctr1" id="h4">19</td><td class="ctr2" id="i4">19</td><td class="ctr1" id="j2">12</td><td class="ctr2" id="k2">12</td><td class="ctr1" id="l4">1</td><td class="ctr2" id="m4">1</td></tr><tr><td id="a5"><a href="SpringELParser.java.html" class="el_source">SpringELParser.java</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="16" height="10" title="34" alt="34"/></td><td class="ctr2" id="c5">0%</td><td class="bar" id="d3"><img src="../jacoco-resources/redbar.gif" width="40" height="10" title="2" alt="2"/></td><td class="ctr2" id="e3">0%</td><td class="ctr1" id="f6">2</td><td class="ctr2" id="g6">2</td><td class="ctr1" id="h6">5</td><td class="ctr2" id="i6">5</td><td class="ctr1" id="j6">1</td><td class="ctr2" id="k6">1</td><td class="ctr1" id="l5">1</td><td class="ctr2" id="m5">1</td></tr><tr><td id="a4"><a href="RandomCodeUtil.java.html" class="el_source">RandomCodeUtil.java</a></td><td class="bar" id="b6"><img src="../jacoco-resources/redbar.gif" width="14" height="10" title="31" alt="31"/></td><td class="ctr2" id="c6">0%</td><td class="bar" id="d4"><img src="../jacoco-resources/redbar.gif" width="40" height="10" title="2" alt="2"/></td><td class="ctr2" id="e4">0%</td><td class="ctr1" id="f5">3</td><td class="ctr2" id="g5">3</td><td class="ctr1" id="h5">6</td><td class="ctr2" id="i5">6</td><td class="ctr1" id="j5">2</td><td class="ctr2" id="k5">2</td><td class="ctr1" id="l6">1</td><td class="ctr2" id="m6">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend/BackendApplication.html b/jacoco/jacocoHtml/com.softeer.backend/BackendApplication.html
    deleted file mode 100644
    index 72a97e09..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend/BackendApplication.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>BackendApplication</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend</a> &gt; <span class="el_class">BackendApplication</span></div><h1>BackendApplication</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">8 of 8</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="BackendApplication.java.html#L17" class="el_method">main(String[])</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="5" alt="5"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="BackendApplication.java.html#L14" class="el_method">BackendApplication()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="72" height="10" title="3" alt="3"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend/BackendApplication.java.html b/jacoco/jacocoHtml/com.softeer.backend/BackendApplication.java.html
    deleted file mode 100644
    index c044257e..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend/BackendApplication.java.html
    +++ /dev/null
    @@ -1,21 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>BackendApplication.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend</a> &gt; <span class="el_source">BackendApplication.java</span></div><h1>BackendApplication.java</h1><pre class="source lang-java linenums">package com.softeer.backend;
    -
    -import org.springframework.boot.SpringApplication;
    -import org.springframework.boot.autoconfigure.SpringBootApplication;
    -import org.springframework.boot.context.properties.ConfigurationPropertiesScan;
    -import org.springframework.cache.annotation.EnableCaching;
    -import org.springframework.data.jpa.repository.config.EnableJpaAuditing;
    -import org.springframework.scheduling.annotation.EnableScheduling;
    -
    -@SpringBootApplication
    -@EnableJpaAuditing
    -@EnableScheduling
    -@ConfigurationPropertiesScan
    -<span class="nc" id="L14">public class BackendApplication {</span>
    -
    -    public static void main(String[] args) {
    -<span class="nc" id="L17">        SpringApplication.run(BackendApplication.class, args);</span>
    -<span class="nc" id="L18">    }</span>
    -
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend/index.html b/jacoco/jacocoHtml/com.softeer.backend/index.html
    deleted file mode 100644
    index c6dbdfa6..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend</span></div><h1>com.softeer.backend</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">8 of 8</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="BackendApplication.html" class="el_class">BackendApplication</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="8" alt="8"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">3</td><td class="ctr2" id="i0">3</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend/index.source.html b/jacoco/jacocoHtml/com.softeer.backend/index.source.html
    deleted file mode 100644
    index 321e7f06..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend</span></div><h1>com.softeer.backend</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">8 of 8</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="BackendApplication.java.html" class="el_source">BackendApplication.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="8" alt="8"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">3</td><td class="ctr2" id="i0">3</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/index.html b/jacoco/jacocoHtml/index.html
    deleted file mode 100644
    index 9556d9df..00000000
    --- a/jacoco/jacocoHtml/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="jacoco-resources/report.gif" type="image/gif"/><title>backend</title><script type="text/javascript" src="jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="jacoco-sessions.html" class="el_session">Sessions</a></span><span class="el_report">backend</span></div><h1>backend</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">7,350 of 7,556</td><td class="ctr2">2%</td><td class="bar">288 of 304</td><td class="ctr2">5%</td><td class="ctr1">510</td><td class="ctr2">522</td><td class="ctr1">1,704</td><td class="ctr2">1,755</td><td class="ctr1">363</td><td class="ctr2">367</td><td class="ctr1">94</td><td class="ctr2">96</td></tr></tfoot><tbody><tr><td id="a27"><a href="com.softeer.backend.fo_domain.fcfs.service/index.html" class="el_package">com.softeer.backend.fo_domain.fcfs.service</a></td><td class="bar" id="b0"><img src="jacoco-resources/redbar.gif" width="120" height="10" title="750" alt="750"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d0"><img src="jacoco-resources/redbar.gif" width="120" height="10" title="54" alt="54"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f1">55</td><td class="ctr2" id="g1">55</td><td class="ctr1" id="h1">165</td><td class="ctr2" id="i1">165</td><td class="ctr1" id="j1">28</td><td class="ctr2" id="k1">28</td><td class="ctr1" id="l5">3</td><td class="ctr2" id="m5">3</td></tr><tr><td id="a56"><a href="com.softeer.backend.global.util/index.html" class="el_package">com.softeer.backend.global.util</a></td><td class="bar" id="b1"><img src="jacoco-resources/redbar.gif" width="116" height="10" title="728" alt="728"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d7"><img src="jacoco-resources/redbar.gif" width="31" height="10" title="14" alt="14"/></td><td class="ctr2" id="e2">0%</td><td class="ctr1" id="f0">68</td><td class="ctr2" id="g0">68</td><td class="ctr1" id="h0">169</td><td class="ctr2" id="i0">169</td><td class="ctr1" id="j0">61</td><td class="ctr2" id="k0">61</td><td class="ctr1" id="l0">7</td><td class="ctr2" id="m0">7</td></tr><tr><td id="a54"><a href="com.softeer.backend.global.staticresources.constant/index.html" class="el_package">com.softeer.backend.global.staticresources.constant</a></td><td class="bar" id="b2"><img src="jacoco-resources/redbar.gif" width="99" height="10" title="624" alt="624"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d25"/><td class="ctr2" id="e25">n/a</td><td class="ctr1" id="f40">2</td><td class="ctr2" id="g40">2</td><td class="ctr1" id="h4">105</td><td class="ctr2" id="i4">105</td><td class="ctr1" id="j36">2</td><td class="ctr2" id="k36">2</td><td class="ctr1" id="l10">2</td><td class="ctr2" id="m10">2</td></tr><tr><td id="a23"><a href="com.softeer.backend.fo_domain.draw.util/index.html" class="el_package">com.softeer.backend.fo_domain.draw.util</a></td><td class="bar" id="b3"><img src="jacoco-resources/redbar.gif" width="82" height="10" title="515" alt="515"/></td><td class="ctr2" id="c5">0%</td><td class="bar" id="d1"><img src="jacoco-resources/redbar.gif" width="80" height="10" title="36" alt="36"/></td><td class="ctr2" id="e3">0%</td><td class="ctr1" id="f2">38</td><td class="ctr2" id="g2">38</td><td class="ctr1" id="h2">128</td><td class="ctr2" id="i2">128</td><td class="ctr1" id="j3">20</td><td class="ctr2" id="k3">20</td><td class="ctr1" id="l1">4</td><td class="ctr2" id="m1">4</td></tr><tr><td id="a29"><a href="com.softeer.backend.fo_domain.mainpage.service/index.html" class="el_package">com.softeer.backend.fo_domain.mainpage.service</a></td><td class="bar" id="b4"><img src="jacoco-resources/redbar.gif" width="80" height="10" title="500" alt="500"/></td><td class="ctr2" id="c6">0%</td><td class="bar" id="d12"><img src="jacoco-resources/redbar.gif" width="8" height="10" title="4" alt="4"/></td><td class="ctr2" id="e4">0%</td><td class="ctr1" id="f12">10</td><td class="ctr2" id="g13">10</td><td class="ctr1" id="h6">93</td><td class="ctr2" id="i6">93</td><td class="ctr1" id="j11">8</td><td class="ctr2" id="k12">8</td><td class="ctr1" id="l20">1</td><td class="ctr2" id="m21">1</td></tr><tr><td id="a38"><a href="com.softeer.backend.fo_domain.user.service/index.html" class="el_package">com.softeer.backend.fo_domain.user.service</a></td><td class="bar" id="b5"><img src="jacoco-resources/redbar.gif" width="77" height="10" title="485" alt="485"/></td><td class="ctr2" id="c7">0%</td><td class="bar" id="d3"><img src="jacoco-resources/redbar.gif" width="57" height="10" title="26" alt="26"/></td><td class="ctr2" id="e5">0%</td><td class="ctr1" id="f4">24</td><td class="ctr2" id="g4">24</td><td class="ctr1" id="h3">118</td><td class="ctr2" id="i3">118</td><td class="ctr1" id="j7">11</td><td class="ctr2" id="k7">11</td><td class="ctr1" id="l11">2</td><td class="ctr2" id="m11">2</td></tr><tr><td id="a52"><a href="com.softeer.backend.global.filter/index.html" class="el_package">com.softeer.backend.global.filter</a></td><td class="bar" id="b6"><img src="jacoco-resources/redbar.gif" width="64" height="10" title="403" alt="403"/></td><td class="ctr2" id="c8">0%</td><td class="bar" id="d4"><img src="jacoco-resources/redbar.gif" width="57" height="10" title="26" alt="26"/></td><td class="ctr2" id="e6">0%</td><td class="ctr1" id="f3">35</td><td class="ctr2" id="g3">35</td><td class="ctr1" id="h5">105</td><td class="ctr2" id="i5">105</td><td class="ctr1" id="j2">22</td><td class="ctr2" id="k2">22</td><td class="ctr1" id="l6">3</td><td class="ctr2" id="m6">3</td></tr><tr><td id="a53"><a href="com.softeer.backend.global.scheduler/index.html" class="el_package">com.softeer.backend.global.scheduler</a></td><td class="bar" id="b7"><img src="jacoco-resources/redbar.gif" width="51" height="10" title="319" alt="319"/></td><td class="ctr2" id="c9">0%</td><td class="bar" id="d5"><img src="jacoco-resources/redbar.gif" width="40" height="10" title="18" alt="18"/></td><td class="ctr2" id="e7">0%</td><td class="ctr1" id="f6">20</td><td class="ctr2" id="g6">20</td><td class="ctr1" id="h7">75</td><td class="ctr2" id="i7">75</td><td class="ctr1" id="j8">11</td><td class="ctr2" id="k8">11</td><td class="ctr1" id="l12">2</td><td class="ctr2" id="m12">2</td></tr><tr><td id="a8"><a href="com.softeer.backend.bo_domain.admin.service/index.html" class="el_package">com.softeer.backend.bo_domain.admin.service</a></td><td class="bar" id="b8"><img src="jacoco-resources/redbar.gif" width="50" height="10" title="314" alt="314"/></td><td class="ctr2" id="c10">0%</td><td class="bar" id="d13"><img src="jacoco-resources/redbar.gif" width="8" height="10" title="4" alt="4"/></td><td class="ctr2" id="e8">0%</td><td class="ctr1" id="f7">20</td><td class="ctr2" id="g7">20</td><td class="ctr1" id="h8">72</td><td class="ctr2" id="i8">72</td><td class="ctr1" id="j5">18</td><td class="ctr2" id="k5">18</td><td class="ctr1" id="l2">4</td><td class="ctr2" id="m2">4</td></tr><tr><td id="a43"><a href="com.softeer.backend.global.common.exception/index.html" class="el_package">com.softeer.backend.global.common.exception</a></td><td class="bar" id="b9"><img src="jacoco-resources/redbar.gif" width="35" height="10" title="219" alt="219"/></td><td class="ctr2" id="c11">0%</td><td class="bar" id="d17"><img src="jacoco-resources/redbar.gif" width="4" height="10" title="2" alt="2"/></td><td class="ctr2" id="e9">0%</td><td class="ctr1" id="f8">20</td><td class="ctr2" id="g8">20</td><td class="ctr1" id="h10">48</td><td class="ctr2" id="i11">48</td><td class="ctr1" id="j4">19</td><td class="ctr2" id="k4">19</td><td class="ctr1" id="l3">4</td><td class="ctr2" id="m3">4</td></tr><tr><td id="a51"><a href="com.softeer.backend.global.config.web/index.html" class="el_package">com.softeer.backend.global.config.web</a></td><td class="bar" id="b10"><img src="jacoco-resources/redbar.gif" width="32" height="10" title="206" alt="206"/></td><td class="ctr2" id="c12">0%</td><td class="bar" id="d26"/><td class="ctr2" id="e26">n/a</td><td class="ctr1" id="f16">7</td><td class="ctr2" id="g17">7</td><td class="ctr1" id="h13">33</td><td class="ctr2" id="i14">33</td><td class="ctr1" id="j12">7</td><td class="ctr2" id="k13">7</td><td class="ctr1" id="l21">1</td><td class="ctr2" id="m22">1</td></tr><tr><td id="a41"><a href="com.softeer.backend.global.common.code.status/index.html" class="el_package">com.softeer.backend.global.common.code.status</a></td><td class="bar" id="b11"><img src="jacoco-resources/redbar.gif" width="29" height="10" title="184" alt="184"/></td><td class="ctr2" id="c13">0%</td><td class="bar" id="d27"/><td class="ctr2" id="e27">n/a</td><td class="ctr1" id="f13">9</td><td class="ctr2" id="g14">9</td><td class="ctr1" id="h12">34</td><td class="ctr2" id="i13">34</td><td class="ctr1" id="j9">9</td><td class="ctr2" id="k9">9</td><td class="ctr1" id="l13">2</td><td class="ctr2" id="m13">2</td></tr><tr><td id="a5"><a href="com.softeer.backend.bo_domain.admin.dto.winner/index.html" class="el_package">com.softeer.backend.bo_domain.admin.dto.winner</a></td><td class="bar" id="b12"><img src="jacoco-resources/redbar.gif" width="22" height="10" title="143" alt="143"/></td><td class="ctr2" id="c14">0%</td><td class="bar" id="d28"/><td class="ctr2" id="e28">n/a</td><td class="ctr1" id="f17">7</td><td class="ctr2" id="g18">7</td><td class="ctr1" id="h9">51</td><td class="ctr2" id="i10">51</td><td class="ctr1" id="j13">7</td><td class="ctr2" id="k14">7</td><td class="ctr1" id="l7">3</td><td class="ctr2" id="m7">3</td></tr><tr><td id="a10"><a href="com.softeer.backend.bo_domain.admin.validator/index.html" class="el_package">com.softeer.backend.bo_domain.admin.validator</a></td><td class="bar" id="b13"><img src="jacoco-resources/redbar.gif" width="22" height="10" title="140" alt="140"/></td><td class="ctr2" id="c15">0%</td><td class="bar" id="d2"><img src="jacoco-resources/redbar.gif" width="66" height="10" title="30" alt="30"/></td><td class="ctr2" id="e10">0%</td><td class="ctr1" id="f5">24</td><td class="ctr2" id="g5">24</td><td class="ctr1" id="h14">33</td><td class="ctr2" id="i15">33</td><td class="ctr1" id="j10">9</td><td class="ctr2" id="k10">9</td><td class="ctr1" id="l8">3</td><td class="ctr2" id="m8">3</td></tr><tr><td id="a4"><a href="com.softeer.backend.bo_domain.admin.dto.main/index.html" class="el_package">com.softeer.backend.bo_domain.admin.dto.main</a></td><td class="bar" id="b14"><img src="jacoco-resources/redbar.gif" width="18" height="10" title="113" alt="113"/></td><td class="ctr2" id="c16">0%</td><td class="bar" id="d29"/><td class="ctr2" id="e29">n/a</td><td class="ctr1" id="f34">3</td><td class="ctr2" id="g34">3</td><td class="ctr1" id="h11">38</td><td class="ctr2" id="i12">38</td><td class="ctr1" id="j30">3</td><td class="ctr2" id="k30">3</td><td class="ctr1" id="l22">1</td><td class="ctr2" id="m23">1</td></tr><tr><td id="a12"><a href="com.softeer.backend.fo_domain.comment.constant/index.html" class="el_package">com.softeer.backend.fo_domain.comment.constant</a></td><td class="bar" id="b15"><img src="jacoco-resources/redbar.gif" width="17" height="10" title="109" alt="109"/></td><td class="ctr2" id="c17">0%</td><td class="bar" id="d30"/><td class="ctr2" id="e30">n/a</td><td class="ctr1" id="f25">4</td><td class="ctr2" id="g25">4</td><td class="ctr1" id="h19">20</td><td class="ctr2" id="i20">20</td><td class="ctr1" id="j19">4</td><td class="ctr2" id="k19">4</td><td class="ctr1" id="l23">1</td><td class="ctr2" id="m24">1</td></tr><tr><td id="a42"><a href="com.softeer.backend.global.common.constant/index.html" class="el_package">com.softeer.backend.global.common.constant</a></td><td class="bar" id="b16"><img src="jacoco-resources/redbar.gif" width="15" height="10" title="95" alt="95"/></td><td class="ctr2" id="c18">0%</td><td class="bar" id="d31"/><td class="ctr2" id="e31">n/a</td><td class="ctr1" id="f21">5</td><td class="ctr2" id="g21">5</td><td class="ctr1" id="h21">19</td><td class="ctr2" id="i22">19</td><td class="ctr1" id="j16">5</td><td class="ctr2" id="k16">5</td><td class="ctr1" id="l9">3</td><td class="ctr2" id="m9">3</td></tr><tr><td id="a22"><a href="com.softeer.backend.fo_domain.draw.service/index.html" class="el_package">com.softeer.backend.fo_domain.draw.service</a></td><td class="bar" id="b17"><img src="jacoco-resources/redbar.gif" width="14" height="10" title="93" alt="93"/><img src="jacoco-resources/greenbar.gif" width="30" height="10" title="193" alt="193"/></td><td class="ctr2" id="c1">67%</td><td class="bar" id="d24"><img src="jacoco-resources/greenbar.gif" width="35" height="10" title="16" alt="16"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f19">6</td><td class="ctr2" id="g9">17</td><td class="ctr1" id="h22">18</td><td class="ctr2" id="i9">64</td><td class="ctr1" id="j14">6</td><td class="ctr2" id="k11">9</td><td class="ctr1" id="l24">1</td><td class="ctr2" id="m14">2</td></tr><tr><td id="a1"><a href="com.softeer.backend.bo_domain.admin.controller/index.html" class="el_package">com.softeer.backend.bo_domain.admin.controller</a></td><td class="bar" id="b18"><img src="jacoco-resources/redbar.gif" width="13" height="10" title="84" alt="84"/></td><td class="ctr2" id="c19">0%</td><td class="bar" id="d32"/><td class="ctr2" id="e32">n/a</td><td class="ctr1" id="f10">12</td><td class="ctr2" id="g11">12</td><td class="ctr1" id="h16">24</td><td class="ctr2" id="i17">24</td><td class="ctr1" id="j6">12</td><td class="ctr2" id="k6">12</td><td class="ctr1" id="l4">4</td><td class="ctr2" id="m4">4</td></tr><tr><td id="a39"><a href="com.softeer.backend.global.annotation.aop/index.html" class="el_package">com.softeer.backend.global.annotation.aop</a></td><td class="bar" id="b19"><img src="jacoco-resources/redbar.gif" width="13" height="10" title="83" alt="83"/></td><td class="ctr2" id="c20">0%</td><td class="bar" id="d18"><img src="jacoco-resources/redbar.gif" width="4" height="10" title="2" alt="2"/></td><td class="ctr2" id="e11">0%</td><td class="ctr1" id="f22">5</td><td class="ctr2" id="g22">5</td><td class="ctr1" id="h20">20</td><td class="ctr2" id="i21">20</td><td class="ctr1" id="j20">4</td><td class="ctr2" id="k20">4</td><td class="ctr1" id="l14">2</td><td class="ctr2" id="m15">2</td></tr><tr><td id="a21"><a href="com.softeer.backend.fo_domain.draw.interceptor/index.html" class="el_package">com.softeer.backend.fo_domain.draw.interceptor</a></td><td class="bar" id="b20"><img src="jacoco-resources/redbar.gif" width="12" height="10" title="78" alt="78"/></td><td class="ctr2" id="c21">0%</td><td class="bar" id="d6"><img src="jacoco-resources/redbar.gif" width="35" height="10" title="16" alt="16"/></td><td class="ctr2" id="e12">0%</td><td class="ctr1" id="f11">12</td><td class="ctr2" id="g12">12</td><td class="ctr1" id="h26">14</td><td class="ctr2" id="i26">14</td><td class="ctr1" id="j21">4</td><td class="ctr2" id="k21">4</td><td class="ctr1" id="l25">1</td><td class="ctr2" id="m25">1</td></tr><tr><td id="a3"><a href="com.softeer.backend.bo_domain.admin.dto.indicator/index.html" class="el_package">com.softeer.backend.bo_domain.admin.dto.indicator</a></td><td class="bar" id="b21"><img src="jacoco-resources/redbar.gif" width="12" height="10" title="78" alt="78"/></td><td class="ctr2" id="c22">0%</td><td class="bar" id="d14"><img src="jacoco-resources/redbar.gif" width="8" height="10" title="4" alt="4"/></td><td class="ctr2" id="e13">0%</td><td class="ctr1" id="f26">4</td><td class="ctr2" id="g26">4</td><td class="ctr1" id="h15">30</td><td class="ctr2" id="i16">30</td><td class="ctr1" id="j37">2</td><td class="ctr2" id="k37">2</td><td class="ctr1" id="l26">1</td><td class="ctr2" id="m26">1</td></tr><tr><td id="a15"><a href="com.softeer.backend.fo_domain.comment.dto/index.html" class="el_package">com.softeer.backend.fo_domain.comment.dto</a></td><td class="bar" id="b22"><img src="jacoco-resources/redbar.gif" width="12" height="10" title="76" alt="76"/></td><td class="ctr2" id="c23">0%</td><td class="bar" id="d9"><img src="jacoco-resources/redbar.gif" width="17" height="10" title="8" alt="8"/></td><td class="ctr2" id="e14">0%</td><td class="ctr1" id="f14">9</td><td class="ctr2" id="g15">9</td><td class="ctr1" id="h17">24</td><td class="ctr2" id="i18">24</td><td class="ctr1" id="j17">5</td><td class="ctr2" id="k17">5</td><td class="ctr1" id="l27">1</td><td class="ctr2" id="m27">1</td></tr><tr><td id="a34"><a href="com.softeer.backend.fo_domain.user.constatnt/index.html" class="el_package">com.softeer.backend.fo_domain.user.constatnt</a></td><td class="bar" id="b23"><img src="jacoco-resources/redbar.gif" width="11" height="10" title="74" alt="74"/></td><td class="ctr2" id="c24">0%</td><td class="bar" id="d33"/><td class="ctr2" id="e33">n/a</td><td class="ctr1" id="f27">4</td><td class="ctr2" id="g27">4</td><td class="ctr1" id="h25">15</td><td class="ctr2" id="i25">15</td><td class="ctr1" id="j22">4</td><td class="ctr2" id="k22">4</td><td class="ctr1" id="l15">2</td><td class="ctr2" id="m16">2</td></tr><tr><td id="a47"><a href="com.softeer.backend.global.config.docs/index.html" class="el_package">com.softeer.backend.global.config.docs</a></td><td class="bar" id="b24"><img src="jacoco-resources/redbar.gif" width="11" height="10" title="70" alt="70"/></td><td class="ctr2" id="c25">0%</td><td class="bar" id="d34"/><td class="ctr2" id="e34">n/a</td><td class="ctr1" id="f28">4</td><td class="ctr2" id="g28">4</td><td class="ctr1" id="h18">24</td><td class="ctr2" id="i19">24</td><td class="ctr1" id="j23">4</td><td class="ctr2" id="k23">4</td><td class="ctr1" id="l28">1</td><td class="ctr2" id="m28">1</td></tr><tr><td id="a55"><a href="com.softeer.backend.global.staticresources.util/index.html" class="el_package">com.softeer.backend.global.staticresources.util</a></td><td class="bar" id="b25"><img src="jacoco-resources/redbar.gif" width="9" height="10" title="61" alt="61"/></td><td class="ctr2" id="c26">0%</td><td class="bar" id="d10"><img src="jacoco-resources/redbar.gif" width="17" height="10" title="8" alt="8"/></td><td class="ctr2" id="e15">0%</td><td class="ctr1" id="f9">13</td><td class="ctr2" id="g10">13</td><td class="ctr1" id="h24">17</td><td class="ctr2" id="i24">17</td><td class="ctr1" id="j15">6</td><td class="ctr2" id="k15">6</td><td class="ctr1" id="l29">1</td><td class="ctr2" id="m29">1</td></tr><tr><td id="a49"><a href="com.softeer.backend.global.config.redis/index.html" class="el_package">com.softeer.backend.global.config.redis</a></td><td class="bar" id="b26"><img src="jacoco-resources/redbar.gif" width="9" height="10" title="60" alt="60"/></td><td class="ctr2" id="c27">0%</td><td class="bar" id="d35"/><td class="ctr2" id="e35">n/a</td><td class="ctr1" id="f35">3</td><td class="ctr2" id="g35">3</td><td class="ctr1" id="h28">12</td><td class="ctr2" id="i28">12</td><td class="ctr1" id="j31">3</td><td class="ctr2" id="k31">3</td><td class="ctr1" id="l30">1</td><td class="ctr2" id="m30">1</td></tr><tr><td id="a44"><a href="com.softeer.backend.global.common.response/index.html" class="el_package">com.softeer.backend.global.common.response</a></td><td class="bar" id="b27"><img src="jacoco-resources/redbar.gif" width="8" height="10" title="53" alt="53"/></td><td class="ctr2" id="c28">0%</td><td class="bar" id="d36"/><td class="ctr2" id="e36">n/a</td><td class="ctr1" id="f23">5</td><td class="ctr2" id="g23">5</td><td class="ctr1" id="h43">5</td><td class="ctr2" id="i43">5</td><td class="ctr1" id="j18">5</td><td class="ctr2" id="k18">5</td><td class="ctr1" id="l31">1</td><td class="ctr2" id="m31">1</td></tr><tr><td id="a13"><a href="com.softeer.backend.fo_domain.comment.controller/index.html" class="el_package">com.softeer.backend.fo_domain.comment.controller</a></td><td class="bar" id="b28"><img src="jacoco-resources/redbar.gif" width="8" height="10" title="52" alt="52"/></td><td class="ctr2" id="c29">0%</td><td class="bar" id="d8"><img src="jacoco-resources/redbar.gif" width="22" height="10" title="10" alt="10"/></td><td class="ctr2" id="e16">0%</td><td class="ctr1" id="f15">8</td><td class="ctr2" id="g16">8</td><td class="ctr1" id="h29">12</td><td class="ctr2" id="i29">12</td><td class="ctr1" id="j32">3</td><td class="ctr2" id="k32">3</td><td class="ctr1" id="l32">1</td><td class="ctr2" id="m32">1</td></tr><tr><td id="a18"><a href="com.softeer.backend.fo_domain.comment.util/index.html" class="el_package">com.softeer.backend.fo_domain.comment.util</a></td><td class="bar" id="b29"><img src="jacoco-resources/redbar.gif" width="7" height="10" title="48" alt="48"/></td><td class="ctr2" id="c30">0%</td><td class="bar" id="d15"><img src="jacoco-resources/redbar.gif" width="8" height="10" title="4" alt="4"/></td><td class="ctr2" id="e17">0%</td><td class="ctr1" id="f20">6</td><td class="ctr2" id="g20">6</td><td class="ctr1" id="h39">8</td><td class="ctr2" id="i39">8</td><td class="ctr1" id="j24">4</td><td class="ctr2" id="k24">4</td><td class="ctr1" id="l33">1</td><td class="ctr2" id="m33">1</td></tr><tr><td id="a46"><a href="com.softeer.backend.global.config.cache/index.html" class="el_package">com.softeer.backend.global.config.cache</a></td><td class="bar" id="b30"><img src="jacoco-resources/redbar.gif" width="7" height="10" title="45" alt="45"/></td><td class="ctr2" id="c31">0%</td><td class="bar" id="d37"/><td class="ctr2" id="e37">n/a</td><td class="ctr1" id="f29">4</td><td class="ctr2" id="g29">4</td><td class="ctr1" id="h30">12</td><td class="ctr2" id="i30">12</td><td class="ctr1" id="j25">4</td><td class="ctr2" id="k25">4</td><td class="ctr1" id="l34">1</td><td class="ctr2" id="m34">1</td></tr><tr><td id="a17"><a href="com.softeer.backend.fo_domain.comment.service/index.html" class="el_package">com.softeer.backend.fo_domain.comment.service</a></td><td class="bar" id="b31"><img src="jacoco-resources/redbar.gif" width="6" height="10" title="43" alt="43"/></td><td class="ctr2" id="c32">0%</td><td class="bar" id="d19"><img src="jacoco-resources/redbar.gif" width="4" height="10" title="2" alt="2"/></td><td class="ctr2" id="e18">0%</td><td class="ctr1" id="f36">3</td><td class="ctr2" id="g36">3</td><td class="ctr1" id="h27">13</td><td class="ctr2" id="i27">13</td><td class="ctr1" id="j38">2</td><td class="ctr2" id="k38">2</td><td class="ctr1" id="l35">1</td><td class="ctr2" id="m35">1</td></tr><tr><td id="a24"><a href="com.softeer.backend.fo_domain.fcfs.controller/index.html" class="el_package">com.softeer.backend.fo_domain.fcfs.controller</a></td><td class="bar" id="b32"><img src="jacoco-resources/redbar.gif" width="6" height="10" title="42" alt="42"/></td><td class="ctr2" id="c33">0%</td><td class="bar" id="d38"/><td class="ctr2" id="e38">n/a</td><td class="ctr1" id="f30">4</td><td class="ctr2" id="g30">4</td><td class="ctr1" id="h34">9</td><td class="ctr2" id="i34">9</td><td class="ctr1" id="j26">4</td><td class="ctr2" id="k26">4</td><td class="ctr1" id="l36">1</td><td class="ctr2" id="m36">1</td></tr><tr><td id="a40"><a href="com.softeer.backend.global.annotation.argumentresolver/index.html" class="el_package">com.softeer.backend.global.annotation.argumentresolver</a></td><td class="bar" id="b33"><img src="jacoco-resources/redbar.gif" width="6" height="10" title="40" alt="40"/></td><td class="ctr2" id="c34">0%</td><td class="bar" id="d11"><img src="jacoco-resources/redbar.gif" width="17" height="10" title="8" alt="8"/></td><td class="ctr2" id="e19">0%</td><td class="ctr1" id="f18">7</td><td class="ctr2" id="g19">7</td><td class="ctr1" id="h35">9</td><td class="ctr2" id="i35">9</td><td class="ctr1" id="j33">3</td><td class="ctr2" id="k33">3</td><td class="ctr1" id="l37">1</td><td class="ctr2" id="m37">1</td></tr><tr><td id="a2"><a href="com.softeer.backend.bo_domain.admin.dto.event/index.html" class="el_package">com.softeer.backend.bo_domain.admin.dto.event</a></td><td class="bar" id="b34"><img src="jacoco-resources/redbar.gif" width="6" height="10" title="40" alt="40"/></td><td class="ctr2" id="c35">0%</td><td class="bar" id="d39"/><td class="ctr2" id="e39">n/a</td><td class="ctr1" id="f41">2</td><td class="ctr2" id="g41">2</td><td class="ctr1" id="h23">18</td><td class="ctr2" id="i23">18</td><td class="ctr1" id="j39">2</td><td class="ctr2" id="k39">2</td><td class="ctr1" id="l38">1</td><td class="ctr2" id="m38">1</td></tr><tr><td id="a30"><a href="com.softeer.backend.fo_domain.share.controller/index.html" class="el_package">com.softeer.backend.fo_domain.share.controller</a></td><td class="bar" id="b35"><img src="jacoco-resources/redbar.gif" width="6" height="10" title="38" alt="38"/></td><td class="ctr2" id="c36">0%</td><td class="bar" id="d40"/><td class="ctr2" id="e40">n/a</td><td class="ctr1" id="f42">2</td><td class="ctr2" id="g42">2</td><td class="ctr1" id="h36">9</td><td class="ctr2" id="i36">9</td><td class="ctr1" id="j40">2</td><td class="ctr2" id="k40">2</td><td class="ctr1" id="l39">1</td><td class="ctr2" id="m39">1</td></tr><tr><td id="a28"><a href="com.softeer.backend.fo_domain.mainpage.controller/index.html" class="el_package">com.softeer.backend.fo_domain.mainpage.controller</a></td><td class="bar" id="b36"><img src="jacoco-resources/redbar.gif" width="5" height="10" title="37" alt="37"/></td><td class="ctr2" id="c37">0%</td><td class="bar" id="d41"/><td class="ctr2" id="e41">n/a</td><td class="ctr1" id="f37">3</td><td class="ctr2" id="g37">3</td><td class="ctr1" id="h32">10</td><td class="ctr2" id="i32">10</td><td class="ctr1" id="j34">3</td><td class="ctr2" id="k34">3</td><td class="ctr1" id="l40">1</td><td class="ctr2" id="m40">1</td></tr><tr><td id="a26"><a href="com.softeer.backend.fo_domain.fcfs.interceptor/index.html" class="el_package">com.softeer.backend.fo_domain.fcfs.interceptor</a></td><td class="bar" id="b37"><img src="jacoco-resources/redbar.gif" width="5" height="10" title="37" alt="37"/></td><td class="ctr2" id="c38">0%</td><td class="bar" id="d16"><img src="jacoco-resources/redbar.gif" width="8" height="10" title="4" alt="4"/></td><td class="ctr2" id="e20">0%</td><td class="ctr1" id="f31">4</td><td class="ctr2" id="g31">4</td><td class="ctr1" id="h33">10</td><td class="ctr2" id="i33">10</td><td class="ctr1" id="j41">2</td><td class="ctr2" id="k41">2</td><td class="ctr1" id="l41">1</td><td class="ctr2" id="m41">1</td></tr><tr><td id="a35"><a href="com.softeer.backend.fo_domain.user.controller/index.html" class="el_package">com.softeer.backend.fo_domain.user.controller</a></td><td class="bar" id="b38"><img src="jacoco-resources/redbar.gif" width="5" height="10" title="36" alt="36"/></td><td class="ctr2" id="c39">0%</td><td class="bar" id="d42"/><td class="ctr2" id="e42">n/a</td><td class="ctr1" id="f32">4</td><td class="ctr2" id="g32">4</td><td class="ctr1" id="h40">8</td><td class="ctr2" id="i40">8</td><td class="ctr1" id="j27">4</td><td class="ctr2" id="k27">4</td><td class="ctr1" id="l16">2</td><td class="ctr2" id="m17">2</td></tr><tr><td id="a7"><a href="com.softeer.backend.bo_domain.admin.serializer/index.html" class="el_package">com.softeer.backend.bo_domain.admin.serializer</a></td><td class="bar" id="b39"><img src="jacoco-resources/redbar.gif" width="5" height="10" title="34" alt="34"/></td><td class="ctr2" id="c40">0%</td><td class="bar" id="d20"><img src="jacoco-resources/redbar.gif" width="4" height="10" title="2" alt="2"/></td><td class="ctr2" id="e21">0%</td><td class="ctr1" id="f24">5</td><td class="ctr2" id="g24">5</td><td class="ctr1" id="h37">9</td><td class="ctr2" id="i37">9</td><td class="ctr1" id="j28">4</td><td class="ctr2" id="k28">4</td><td class="ctr1" id="l17">2</td><td class="ctr2" id="m18">2</td></tr><tr><td id="a19"><a href="com.softeer.backend.fo_domain.draw.controller/index.html" class="el_package">com.softeer.backend.fo_domain.draw.controller</a></td><td class="bar" id="b40"><img src="jacoco-resources/redbar.gif" width="5" height="10" title="32" alt="32"/></td><td class="ctr2" id="c41">0%</td><td class="bar" id="d43"/><td class="ctr2" id="e43">n/a</td><td class="ctr1" id="f33">4</td><td class="ctr2" id="g33">4</td><td class="ctr1" id="h41">6</td><td class="ctr2" id="i41">6</td><td class="ctr1" id="j29">4</td><td class="ctr2" id="k29">4</td><td class="ctr1" id="l42">1</td><td class="ctr2" id="m42">1</td></tr><tr><td id="a48"><a href="com.softeer.backend.global.config.properties/index.html" class="el_package">com.softeer.backend.global.config.properties</a></td><td class="bar" id="b41"><img src="jacoco-resources/redbar.gif" width="4" height="10" title="30" alt="30"/></td><td class="ctr2" id="c42">0%</td><td class="bar" id="d44"/><td class="ctr2" id="e44">n/a</td><td class="ctr1" id="f43">2</td><td class="ctr2" id="g43">2</td><td class="ctr1" id="h31">12</td><td class="ctr2" id="i31">12</td><td class="ctr1" id="j42">2</td><td class="ctr2" id="k42">2</td><td class="ctr1" id="l18">2</td><td class="ctr2" id="m19">2</td></tr><tr><td id="a33"><a href="com.softeer.backend.fo_domain.share.service/index.html" class="el_package">com.softeer.backend.fo_domain.share.service</a></td><td class="bar" id="b42"><img src="jacoco-resources/redbar.gif" width="4" height="10" title="26" alt="26"/></td><td class="ctr2" id="c43">0%</td><td class="bar" id="d21"><img src="jacoco-resources/redbar.gif" width="4" height="10" title="2" alt="2"/></td><td class="ctr2" id="e22">0%</td><td class="ctr1" id="f38">3</td><td class="ctr2" id="g38">3</td><td class="ctr1" id="h38">9</td><td class="ctr2" id="i38">9</td><td class="ctr1" id="j43">2</td><td class="ctr2" id="k43">2</td><td class="ctr1" id="l43">1</td><td class="ctr2" id="m43">1</td></tr><tr><td id="a11"><a href="com.softeer.backend.bo_domain.eventparticipation.repository/index.html" class="el_package">com.softeer.backend.bo_domain.eventparticipation.repository</a></td><td class="bar" id="b43"><img src="jacoco-resources/redbar.gif" width="2" height="10" title="17" alt="17"/></td><td class="ctr2" id="c44">0%</td><td class="bar" id="d22"><img src="jacoco-resources/redbar.gif" width="4" height="10" title="2" alt="2"/></td><td class="ctr2" id="e23">0%</td><td class="ctr1" id="f44">2</td><td class="ctr2" id="g44">2</td><td class="ctr1" id="h45">4</td><td class="ctr2" id="i46">4</td><td class="ctr1" id="j48">1</td><td class="ctr2" id="k48">1</td><td class="ctr1" id="l44">1</td><td class="ctr2" id="m44">1</td></tr><tr><td id="a50"><a href="com.softeer.backend.global.config.schedular/index.html" class="el_package">com.softeer.backend.global.config.schedular</a></td><td class="bar" id="b44"><img src="jacoco-resources/redbar.gif" width="2" height="10" title="15" alt="15"/></td><td class="ctr2" id="c45">0%</td><td class="bar" id="d45"/><td class="ctr2" id="e45">n/a</td><td class="ctr1" id="f45">2</td><td class="ctr2" id="g45">2</td><td class="ctr1" id="h44">5</td><td class="ctr2" id="i44">5</td><td class="ctr1" id="j44">2</td><td class="ctr2" id="k44">2</td><td class="ctr1" id="l45">1</td><td class="ctr2" id="m45">1</td></tr><tr><td id="a37"><a href="com.softeer.backend.fo_domain.user.properties/index.html" class="el_package">com.softeer.backend.fo_domain.user.properties</a></td><td class="bar" id="b45"><img src="jacoco-resources/redbar.gif" width="2" height="10" title="15" alt="15"/></td><td class="ctr2" id="c46">0%</td><td class="bar" id="d46"/><td class="ctr2" id="e46">n/a</td><td class="ctr1" id="f50">1</td><td class="ctr2" id="g50">1</td><td class="ctr1" id="h42">6</td><td class="ctr2" id="i42">6</td><td class="ctr1" id="j49">1</td><td class="ctr2" id="k49">1</td><td class="ctr1" id="l46">1</td><td class="ctr2" id="m46">1</td></tr><tr><td id="a14"><a href="com.softeer.backend.fo_domain.comment.domain/index.html" class="el_package">com.softeer.backend.fo_domain.comment.domain</a></td><td class="bar" id="b46"><img src="jacoco-resources/redbar.gif" width="2" height="10" title="14" alt="14"/></td><td class="ctr2" id="c47">0%</td><td class="bar" id="d23"><img src="jacoco-resources/redbar.gif" width="4" height="10" title="2" alt="2"/></td><td class="ctr2" id="e24">0%</td><td class="ctr1" id="f46">2</td><td class="ctr2" id="g46">2</td><td class="ctr1" id="h46">4</td><td class="ctr2" id="i47">4</td><td class="ctr1" id="j50">1</td><td class="ctr2" id="k50">1</td><td class="ctr1" id="l47">1</td><td class="ctr2" id="m47">1</td></tr><tr><td id="a9"><a href="com.softeer.backend.bo_domain.admin.util/index.html" class="el_package">com.softeer.backend.bo_domain.admin.util</a></td><td class="bar" id="b47"><img src="jacoco-resources/redbar.gif" width="1" height="10" title="11" alt="11"/></td><td class="ctr2" id="c48">0%</td><td class="bar" id="d47"/><td class="ctr2" id="e47">n/a</td><td class="ctr1" id="f39">3</td><td class="ctr2" id="g39">3</td><td class="ctr1" id="h48">3</td><td class="ctr2" id="i49">3</td><td class="ctr1" id="j35">3</td><td class="ctr2" id="k35">3</td><td class="ctr1" id="l48">1</td><td class="ctr2" id="m48">1</td></tr><tr><td id="a0"><a href="com.softeer.backend/index.html" class="el_package">com.softeer.backend</a></td><td class="bar" id="b48"><img src="jacoco-resources/redbar.gif" width="1" height="10" title="8" alt="8"/></td><td class="ctr2" id="c49">0%</td><td class="bar" id="d48"/><td class="ctr2" id="e48">n/a</td><td class="ctr1" id="f47">2</td><td class="ctr2" id="g47">2</td><td class="ctr1" id="h49">3</td><td class="ctr2" id="i50">3</td><td class="ctr1" id="j45">2</td><td class="ctr2" id="k45">2</td><td class="ctr1" id="l49">1</td><td class="ctr2" id="m49">1</td></tr><tr><td id="a32"><a href="com.softeer.backend.fo_domain.share.exception/index.html" class="el_package">com.softeer.backend.fo_domain.share.exception</a></td><td class="bar" id="b49"><img src="jacoco-resources/redbar.gif" width="1" height="10" title="8" alt="8"/></td><td class="ctr2" id="c50">0%</td><td class="bar" id="d49"/><td class="ctr2" id="e49">n/a</td><td class="ctr1" id="f48">2</td><td class="ctr2" id="g48">2</td><td class="ctr1" id="h47">4</td><td class="ctr2" id="i48">4</td><td class="ctr1" id="j46">2</td><td class="ctr2" id="k46">2</td><td class="ctr1" id="l19">2</td><td class="ctr2" id="m20">2</td></tr><tr><td id="a45"><a href="com.softeer.backend.global.common.swagger/index.html" class="el_package">com.softeer.backend.global.common.swagger</a></td><td class="bar" id="b50"/><td class="ctr2" id="c51">0%</td><td class="bar" id="d50"/><td class="ctr2" id="e50">n/a</td><td class="ctr1" id="f49">2</td><td class="ctr2" id="g49">2</td><td class="ctr1" id="h50">2</td><td class="ctr2" id="i51">2</td><td class="ctr1" id="j47">2</td><td class="ctr2" id="k47">2</td><td class="ctr1" id="l50">1</td><td class="ctr2" id="m50">1</td></tr><tr><td id="a25"><a href="com.softeer.backend.fo_domain.fcfs.exception/index.html" class="el_package">com.softeer.backend.fo_domain.fcfs.exception</a></td><td class="bar" id="b51"/><td class="ctr2" id="c52">0%</td><td class="bar" id="d51"/><td class="ctr2" id="e51">n/a</td><td class="ctr1" id="f51">1</td><td class="ctr2" id="g51">1</td><td class="ctr1" id="h51">2</td><td class="ctr2" id="i52">2</td><td class="ctr1" id="j51">1</td><td class="ctr2" id="k51">1</td><td class="ctr1" id="l51">1</td><td class="ctr2" id="m51">1</td></tr><tr><td id="a16"><a href="com.softeer.backend.fo_domain.comment.exception/index.html" class="el_package">com.softeer.backend.fo_domain.comment.exception</a></td><td class="bar" id="b52"/><td class="ctr2" id="c53">0%</td><td class="bar" id="d52"/><td class="ctr2" id="e52">n/a</td><td class="ctr1" id="f52">1</td><td class="ctr2" id="g52">1</td><td class="ctr1" id="h52">2</td><td class="ctr2" id="i53">2</td><td class="ctr1" id="j52">1</td><td class="ctr2" id="k52">1</td><td class="ctr1" id="l52">1</td><td class="ctr2" id="m52">1</td></tr><tr><td id="a36"><a href="com.softeer.backend.fo_domain.user.exception/index.html" class="el_package">com.softeer.backend.fo_domain.user.exception</a></td><td class="bar" id="b53"/><td class="ctr2" id="c54">0%</td><td class="bar" id="d53"/><td class="ctr2" id="e53">n/a</td><td class="ctr1" id="f53">1</td><td class="ctr2" id="g53">1</td><td class="ctr1" id="h53">2</td><td class="ctr2" id="i54">2</td><td class="ctr1" id="j53">1</td><td class="ctr2" id="k53">1</td><td class="ctr1" id="l53">1</td><td class="ctr2" id="m53">1</td></tr><tr><td id="a6"><a href="com.softeer.backend.bo_domain.admin.exception/index.html" class="el_package">com.softeer.backend.bo_domain.admin.exception</a></td><td class="bar" id="b54"/><td class="ctr2" id="c55">0%</td><td class="bar" id="d54"/><td class="ctr2" id="e54">n/a</td><td class="ctr1" id="f54">1</td><td class="ctr2" id="g54">1</td><td class="ctr1" id="h54">2</td><td class="ctr2" id="i55">2</td><td class="ctr1" id="j54">1</td><td class="ctr2" id="k54">1</td><td class="ctr1" id="l54">1</td><td class="ctr2" id="m54">1</td></tr><tr><td id="a20"><a href="com.softeer.backend.fo_domain.draw.exception/index.html" class="el_package">com.softeer.backend.fo_domain.draw.exception</a></td><td class="bar" id="b55"/><td class="ctr2" id="c56">0%</td><td class="bar" id="d55"/><td class="ctr2" id="e55">n/a</td><td class="ctr1" id="f55">1</td><td class="ctr2" id="g55">1</td><td class="ctr1" id="h55">2</td><td class="ctr2" id="i56">2</td><td class="ctr1" id="j55">1</td><td class="ctr2" id="k55">1</td><td class="ctr1" id="l55">1</td><td class="ctr2" id="m55">1</td></tr><tr><td id="a31"><a href="com.softeer.backend.fo_domain.share.domain/index.html" class="el_package">com.softeer.backend.fo_domain.share.domain</a></td><td class="bar" id="b56"><img src="jacoco-resources/greenbar.gif" width="2" height="10" title="13" alt="13"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d56"/><td class="ctr2" id="e56">n/a</td><td class="ctr1" id="f56">0</td><td class="ctr2" id="g56">1</td><td class="ctr1" id="h56">0</td><td class="ctr2" id="i45">5</td><td class="ctr1" id="j56">0</td><td class="ctr2" id="k56">1</td><td class="ctr1" id="l56">0</td><td class="ctr2" id="m56">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/jacoco-resources/branchfc.gif b/jacoco/jacocoHtml/jacoco-resources/branchfc.gif
    deleted file mode 100644
    index 989b46d30469b56b014758f846ee6c5abfda16aa..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 91
    zcmZ?wbhEHb<YM4rIK;xhkjB6;lY!w31H*rY|42abCkrDN13QBb0}z1JGB7JtR5AQc
    j;9zf`qaAf{?!7xKElvq+aTP&4>6=b<*h$V|V6X-NwhSNb
    
    diff --git a/jacoco/jacocoHtml/jacoco-resources/branchnc.gif b/jacoco/jacocoHtml/jacoco-resources/branchnc.gif
    deleted file mode 100644
    index 1933e07c376bb71bdd9aac91cf858da3fcdb0f1c..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 91
    zcmZ?wbhEHb<YM4rIK;xxz`$^Zf#E#^!~cec|42abCkrDN13QBb0}z1JGB7JtR5AQc
    j;9zf`qaAf{?!7xKElvq+aTP&4>6=b<*h$V|V6X-N9U38B
    
    diff --git a/jacoco/jacocoHtml/jacoco-resources/branchpc.gif b/jacoco/jacocoHtml/jacoco-resources/branchpc.gif
    deleted file mode 100644
    index cbf711b7030929b733f22f7a0cf3dbf61fe7868f..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 91
    zcmZ?wbhEHb<YM4rIK;v*A(Y{H7sIRF44*zR{6_+cKUo;L7}yzf7=QqzmVsHJqKe^n
    j0tb8h9POxsbMM_@X>m$mi>nCYN#As;!%lJz1A{dHmlPuc
    
    diff --git a/jacoco/jacocoHtml/jacoco-resources/bundle.gif b/jacoco/jacocoHtml/jacoco-resources/bundle.gif
    deleted file mode 100644
    index fca9c53e629a7a5c07186ac1e2a1e37d8d6e88f4..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 709
    zcmZ?wbhEHb6krfwxXQrrpW*-7BK;<J$sad5=B26sxKQ!q!Hgdl8q(~HUL2e9<Hd#-
    z7dn1?IPw4g|HIv8zrOAI@nFG^8xwkB-G027acOnKpKtdcpWnHq-sr)BinT@BA8t%o
    znxj(b?=UZ3c5RMIe~{#!dZYLEkL_tSI^1f;Km(xolZ6pvtPY3(`H6w8*rB1oLr1Fr
    zgz}>o8CDEUD?$vun5^UNelT%D!ODh<DT^W#oSIlz7qWFr6j-<`INnfgQuR3aJbW7`
    zN4%4`K$`$#XID3aq+mZI+oZ{pxEUFwnVA`9&7C{VNtTt7ed)5L3!LN`S=X*xyV99u
    u^Omii+jqD*GFUt3=ar=9mFR|47NlA!WacKOr|PF?rg3q(j|Mjlf*SzSChrLV
    
    diff --git a/jacoco/jacocoHtml/jacoco-resources/class.gif b/jacoco/jacocoHtml/jacoco-resources/class.gif
    deleted file mode 100644
    index eb348fb0d498d75976150047b1b5c2fefc9dc220..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 586
    zcmZ?wbhEHb6krfwI2Or}v!c<s$=9se-=Q<YsXNN8KQ3fOR@Cf*m^p=Yn<q4Gopkom
    z6_qkOy&5;;MsLfufQUJ{vGWR(7nLtMxlXsnMX%OXzt+v54k+vCJt@I!LR|T}_8Twn
    z8a23^wRl;#``dR0_3fQy*Wqv15n$II;MN!J-X9S(Eh&3>RsX(Ohwq+z^!{nkw1lu(
    zDPc2HV&`P7KEHX-jYA>R6T@ewM9fTyo0E0x)!k<wUj$8y`}qA+!h+12O)Zt{8e4bt
    z^z51Z;rqwPnTZ)o@)H-NC(KKmcWmLES9jAFW#uj_C|_66u(_dnV^!t4^7b9Ajhky9
    zzJD-rU(e=C8}{7Xx$oBQ`NwB1I6iy#jqQi->_2wz@P-Sk{|^LE{K>+|z);Vi!vF-J
    zIALI4-caAv+|t_C-oY&>$uA|y-ND80=rPrik*keM);A(7JS@bMXJ#`uzjsjN>eYc>
    zj1!vJoq|_~`Ugb%`8WwRvs$=Bx;h_qcXM-KZDthLjMNep5fPP;Q{vk%FCD3^prRsd
    zAfR@-Nl4k$GSW~(G16XNhoM=9$H>NPjk%o(&&DPp6ODz*?)|b>X&fF28jY>Ox-nZU
    Y5*r^bWMyL$kZ52~Skzz7#K>R`0G8r7i~s-t
    
    diff --git a/jacoco/jacocoHtml/jacoco-resources/down.gif b/jacoco/jacocoHtml/jacoco-resources/down.gif
    deleted file mode 100644
    index 440a14db74e76c2b6e854eacac1c44414b166271..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 67
    zcmZ?wbhEHb<YC}qSjfcSX{EDa!-oH0p!k!8k&A(eL5G2Xk%5PSlYxOrWJ>Z%p}jXB
    Ub$^Lu-Ncq(ygK&ScM%3_0Po}%Qvd(}
    
    diff --git a/jacoco/jacocoHtml/jacoco-resources/greenbar.gif b/jacoco/jacocoHtml/jacoco-resources/greenbar.gif
    deleted file mode 100644
    index 0ba65672530ee09f086821a26156836d0c91bd74..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 91
    zcmZ?wbhEHbWMtrCc+ADXzmZ>do2<@m9j_x^v8Q5duh#b5>RIq$!Lmoo);w9mu$BQ0
    eDgI<(1nOeYVE_V<84N5O20cYWMlKB;4AuaIXBwOU
    
    diff --git a/jacoco/jacocoHtml/jacoco-resources/group.gif b/jacoco/jacocoHtml/jacoco-resources/group.gif
    deleted file mode 100644
    index a4ea580d278fb727e4ae692838877fa63c4becf9..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 351
    zcmZ?wbhEHb6krfwxXQpVwXtJrV`pb|Z&Bgo_>{Q`Df1G5Wa`}H^qKLgbHn221;#86
    zie2Oyy23SVg;&(l)`=%9{nuIstg#PSrQx<&&vS#m*G7G>4W@o;CvAN*Y1^AgTVGGw
    z_ImEoPjiobns@ZmyknnMUi-Q7>W`Jzer$aB_t(pL-|kQQ|MAfO*PGv5?Ee3B$^ToO
    z|A8VGOaEW3eSEO?=BC06Ybq|Tt-P?N@;?|b;0205Sr{1@Oc``Qsz82XV5>PWtH47?
    zs^4Q~P@BxTjDV;&5*!R(s==>VnJe}-&SEIintfiq!@<H~=ly~!2^|49-&cqxtw`7?
    z#Ky|j%)-vX)?mu7-NU2OKVbs5sj!|NpR$sovf|v?yiO9jg7Wfm3i1lF3JOBbqGFPg
    YGSX7gGMmL+MfU97=X>Cwn<IlY03tk+6951J
    
    diff --git a/jacoco/jacocoHtml/jacoco-resources/method.gif b/jacoco/jacocoHtml/jacoco-resources/method.gif
    deleted file mode 100644
    index 7d24707ee82f54aa9fb10d1d9050013cbf161a7a..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 193
    zcmV;y06zamNk%w1VGsZi0K@<Q1As^cfk_>VRxXubL!4|)qjO}gg>klxZ?TGXw~#-V
    zU_Y2&N}FX?r*L1YbYiM-aj|xBv2}#Mgo3?-guaA=wSS1Yfrz+)iMWB7#*ml2h^x<;
    ztIwFU(w+bR{{R30A^8LW0015UEC2ui01yBW000F(peK%GX`X1Rt}L1aL$Vf5mpMgx
    vG+WO#2NYmJDM}^)l;8n@L?90V%CN9pFcyU&MPO(u48jTlL$uClRtNw)MiWcq
    
    diff --git a/jacoco/jacocoHtml/jacoco-resources/package.gif b/jacoco/jacocoHtml/jacoco-resources/package.gif
    deleted file mode 100644
    index 131c28da405493661e3253ef79a68bd273039295..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 227
    zcmZ?wbhEHb6krfwIKsg2^W*Nf7neOfxp04z;n8NJ+xzDotkS){bH@Hst%K#-*LO_c
    zo~yCDQ0v_4?v)A3lSAd#C95utQCbkGxF}NT_=2WF8}WGs5taT9|NsAIzy=h5vM@3*
    zNHFMtBtdpEuqG&|^`&Ia(}-MpBVo@mW@+b{B25<}cFdc?!Kkoc14n0vkh1`XOwU>7
    z#al8o_@;D=?hdfkdC)D9Q@O@%Lfqp;ZBt~9C*29`GMF2XzQp8akWQVjDvMC75PzEx
    Mi%z;upCW@b03m@=3jhEB
    
    diff --git a/jacoco/jacocoHtml/jacoco-resources/prettify.css b/jacoco/jacocoHtml/jacoco-resources/prettify.css
    deleted file mode 100644
    index be5166e0..00000000
    --- a/jacoco/jacocoHtml/jacoco-resources/prettify.css
    +++ /dev/null
    @@ -1,13 +0,0 @@
    -/* Pretty printing styles. Used with prettify.js. */
    -
    -.str { color: #2A00FF; }
    -.kwd { color: #7F0055; font-weight:bold; }
    -.com { color: #3F5FBF; }
    -.typ { color: #606; }
    -.lit { color: #066; }
    -.pun { color: #660; }
    -.pln { color: #000; }
    -.tag { color: #008; }
    -.atn { color: #606; }
    -.atv { color: #080; }
    -.dec { color: #606; }
    diff --git a/jacoco/jacocoHtml/jacoco-resources/prettify.js b/jacoco/jacocoHtml/jacoco-resources/prettify.js
    deleted file mode 100644
    index b2766fe0..00000000
    --- a/jacoco/jacocoHtml/jacoco-resources/prettify.js
    +++ /dev/null
    @@ -1,1510 +0,0 @@
    -// Copyright (C) 2006 Google Inc.
    -//
    -// Licensed under the Apache License, Version 2.0 (the "License");
    -// you may not use this file except in compliance with the License.
    -// You may obtain a copy of the License at
    -//
    -//      http://www.apache.org/licenses/LICENSE-2.0
    -//
    -// Unless required by applicable law or agreed to in writing, software
    -// distributed under the License is distributed on an "AS IS" BASIS,
    -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    -// See the License for the specific language governing permissions and
    -// limitations under the License.
    -
    -
    -/**
    - * @fileoverview
    - * some functions for browser-side pretty printing of code contained in html.
    - * <p>
    - *
    - * For a fairly comprehensive set of languages see the
    - * <a href="http://google-code-prettify.googlecode.com/svn/trunk/README.html#langs">README</a>
    - * file that came with this source.  At a minimum, the lexer should work on a
    - * number of languages including C and friends, Java, Python, Bash, SQL, HTML,
    - * XML, CSS, Javascript, and Makefiles.  It works passably on Ruby, PHP and Awk
    - * and a subset of Perl, but, because of commenting conventions, doesn't work on
    - * Smalltalk, Lisp-like, or CAML-like languages without an explicit lang class.
    - * <p>
    - * Usage: <ol>
    - * <li> include this source file in an html page via
    - *   {@code <script type="text/javascript" src="/path/to/prettify.js"></script>}
    - * <li> define style rules.  See the example page for examples.
    - * <li> mark the {@code <pre>} and {@code <code>} tags in your source with
    - *    {@code class=prettyprint.}
    - *    You can also use the (html deprecated) {@code <xmp>} tag, but the pretty
    - *    printer needs to do more substantial DOM manipulations to support that, so
    - *    some css styles may not be preserved.
    - * </ol>
    - * That's it.  I wanted to keep the API as simple as possible, so there's no
    - * need to specify which language the code is in, but if you wish, you can add
    - * another class to the {@code <pre>} or {@code <code>} element to specify the
    - * language, as in {@code <pre class="prettyprint lang-java">}.  Any class that
    - * starts with "lang-" followed by a file extension, specifies the file type.
    - * See the "lang-*.js" files in this directory for code that implements
    - * per-language file handlers.
    - * <p>
    - * Change log:<br>
    - * cbeust, 2006/08/22
    - * <blockquote>
    - *   Java annotations (start with "@") are now captured as literals ("lit")
    - * </blockquote>
    - * @requires console
    - */
    -
    -// JSLint declarations
    -/*global console, document, navigator, setTimeout, window */
    -
    -/**
    - * Split {@code prettyPrint} into multiple timeouts so as not to interfere with
    - * UI events.
    - * If set to {@code false}, {@code prettyPrint()} is synchronous.
    - */
    -window['PR_SHOULD_USE_CONTINUATION'] = true;
    -
    -/** the number of characters between tab columns */
    -window['PR_TAB_WIDTH'] = 8;
    -
    -/** Walks the DOM returning a properly escaped version of innerHTML.
    -  * @param {Node} node
    -  * @param {Array.<string>} out output buffer that receives chunks of HTML.
    -  */
    -window['PR_normalizedHtml']
    -
    -/** Contains functions for creating and registering new language handlers.
    -  * @type {Object}
    -  */
    -  = window['PR']
    -
    -/** Pretty print a chunk of code.
    -  *
    -  * @param {string} sourceCodeHtml code as html
    -  * @return {string} code as html, but prettier
    -  */
    -  = window['prettyPrintOne']
    -/** Find all the {@code <pre>} and {@code <code>} tags in the DOM with
    -  * {@code class=prettyprint} and prettify them.
    -  * @param {Function?} opt_whenDone if specified, called when the last entry
    -  *     has been finished.
    -  */
    -  = window['prettyPrint'] = void 0;
    -
    -/** browser detection. @extern @returns false if not IE, otherwise the major version. */
    -window['_pr_isIE6'] = function () {
    -  var ieVersion = navigator && navigator.userAgent &&
    -      navigator.userAgent.match(/\bMSIE ([678])\./);
    -  ieVersion = ieVersion ? +ieVersion[1] : false;
    -  window['_pr_isIE6'] = function () { return ieVersion; };
    -  return ieVersion;
    -};
    -
    -
    -(function () {
    -  // Keyword lists for various languages.
    -  var FLOW_CONTROL_KEYWORDS =
    -      "break continue do else for if return while ";
    -  var C_KEYWORDS = FLOW_CONTROL_KEYWORDS + "auto case char const default " +
    -      "double enum extern float goto int long register short signed sizeof " +
    -      "static struct switch typedef union unsigned void volatile ";
    -  var COMMON_KEYWORDS = C_KEYWORDS + "catch class delete false import " +
    -      "new operator private protected public this throw true try typeof ";
    -  var CPP_KEYWORDS = COMMON_KEYWORDS + "alignof align_union asm axiom bool " +
    -      "concept concept_map const_cast constexpr decltype " +
    -      "dynamic_cast explicit export friend inline late_check " +
    -      "mutable namespace nullptr reinterpret_cast static_assert static_cast " +
    -      "template typeid typename using virtual wchar_t where ";
    -  var JAVA_KEYWORDS = COMMON_KEYWORDS +
    -      "abstract boolean byte extends final finally implements import " +
    -      "instanceof null native package strictfp super synchronized throws " +
    -      "transient ";
    -  var CSHARP_KEYWORDS = JAVA_KEYWORDS +
    -      "as base by checked decimal delegate descending event " +
    -      "fixed foreach from group implicit in interface internal into is lock " +
    -      "object out override orderby params partial readonly ref sbyte sealed " +
    -      "stackalloc string select uint ulong unchecked unsafe ushort var ";
    -  var JSCRIPT_KEYWORDS = COMMON_KEYWORDS +
    -      "debugger eval export function get null set undefined var with " +
    -      "Infinity NaN ";
    -  var PERL_KEYWORDS = "caller delete die do dump elsif eval exit foreach for " +
    -      "goto if import last local my next no our print package redo require " +
    -      "sub undef unless until use wantarray while BEGIN END ";
    -  var PYTHON_KEYWORDS = FLOW_CONTROL_KEYWORDS + "and as assert class def del " +
    -      "elif except exec finally from global import in is lambda " +
    -      "nonlocal not or pass print raise try with yield " +
    -      "False True None ";
    -  var RUBY_KEYWORDS = FLOW_CONTROL_KEYWORDS + "alias and begin case class def" +
    -      " defined elsif end ensure false in module next nil not or redo rescue " +
    -      "retry self super then true undef unless until when yield BEGIN END ";
    -  var SH_KEYWORDS = FLOW_CONTROL_KEYWORDS + "case done elif esac eval fi " +
    -      "function in local set then until ";
    -  var ALL_KEYWORDS = (
    -      CPP_KEYWORDS + CSHARP_KEYWORDS + JSCRIPT_KEYWORDS + PERL_KEYWORDS +
    -      PYTHON_KEYWORDS + RUBY_KEYWORDS + SH_KEYWORDS);
    -
    -  // token style names.  correspond to css classes
    -  /** token style for a string literal */
    -  var PR_STRING = 'str';
    -  /** token style for a keyword */
    -  var PR_KEYWORD = 'kwd';
    -  /** token style for a comment */
    -  var PR_COMMENT = 'com';
    -  /** token style for a type */
    -  var PR_TYPE = 'typ';
    -  /** token style for a literal value.  e.g. 1, null, true. */
    -  var PR_LITERAL = 'lit';
    -  /** token style for a punctuation string. */
    -  var PR_PUNCTUATION = 'pun';
    -  /** token style for a punctuation string. */
    -  var PR_PLAIN = 'pln';
    -
    -  /** token style for an sgml tag. */
    -  var PR_TAG = 'tag';
    -  /** token style for a markup declaration such as a DOCTYPE. */
    -  var PR_DECLARATION = 'dec';
    -  /** token style for embedded source. */
    -  var PR_SOURCE = 'src';
    -  /** token style for an sgml attribute name. */
    -  var PR_ATTRIB_NAME = 'atn';
    -  /** token style for an sgml attribute value. */
    -  var PR_ATTRIB_VALUE = 'atv';
    -
    -  /**
    -   * A class that indicates a section of markup that is not code, e.g. to allow
    -   * embedding of line numbers within code listings.
    -   */
    -  var PR_NOCODE = 'nocode';
    -
    -  /** A set of tokens that can precede a regular expression literal in
    -    * javascript.
    -    * http://www.mozilla.org/js/language/js20/rationale/syntax.html has the full
    -    * list, but I've removed ones that might be problematic when seen in
    -    * languages that don't support regular expression literals.
    -    *
    -    * <p>Specifically, I've removed any keywords that can't precede a regexp
    -    * literal in a syntactically legal javascript program, and I've removed the
    -    * "in" keyword since it's not a keyword in many languages, and might be used
    -    * as a count of inches.
    -    *
    -    * <p>The link a above does not accurately describe EcmaScript rules since
    -    * it fails to distinguish between (a=++/b/i) and (a++/b/i) but it works
    -    * very well in practice.
    -    *
    -    * @private
    -    */
    -  var REGEXP_PRECEDER_PATTERN = function () {
    -      var preceders = [
    -          "!", "!=", "!==", "#", "%", "%=", "&", "&&", "&&=",
    -          "&=", "(", "*", "*=", /* "+", */ "+=", ",", /* "-", */ "-=",
    -          "->", /*".", "..", "...", handled below */ "/", "/=", ":", "::", ";",
    -          "<", "<<", "<<=", "<=", "=", "==", "===", ">",
    -          ">=", ">>", ">>=", ">>>", ">>>=", "?", "@", "[",
    -          "^", "^=", "^^", "^^=", "{", "|", "|=", "||",
    -          "||=", "~" /* handles =~ and !~ */,
    -          "break", "case", "continue", "delete",
    -          "do", "else", "finally", "instanceof",
    -          "return", "throw", "try", "typeof"
    -          ];
    -      var pattern = '(?:^^|[+-]';
    -      for (var i = 0; i < preceders.length; ++i) {
    -        pattern += '|' + preceders[i].replace(/([^=<>:&a-z])/g, '\\$1');
    -      }
    -      pattern += ')\\s*';  // matches at end, and matches empty string
    -      return pattern;
    -      // CAVEAT: this does not properly handle the case where a regular
    -      // expression immediately follows another since a regular expression may
    -      // have flags for case-sensitivity and the like.  Having regexp tokens
    -      // adjacent is not valid in any language I'm aware of, so I'm punting.
    -      // TODO: maybe style special characters inside a regexp as punctuation.
    -    }();
    -
    -  // Define regexps here so that the interpreter doesn't have to create an
    -  // object each time the function containing them is called.
    -  // The language spec requires a new object created even if you don't access
    -  // the $1 members.
    -  var pr_amp = /&/g;
    -  var pr_lt = /</g;
    -  var pr_gt = />/g;
    -  var pr_quot = /\"/g;
    -  /** like textToHtml but escapes double quotes to be attribute safe. */
    -  function attribToHtml(str) {
    -    return str.replace(pr_amp, '&amp;')
    -        .replace(pr_lt, '&lt;')
    -        .replace(pr_gt, '&gt;')
    -        .replace(pr_quot, '&quot;');
    -  }
    -
    -  /** escapest html special characters to html. */
    -  function textToHtml(str) {
    -    return str.replace(pr_amp, '&amp;')
    -        .replace(pr_lt, '&lt;')
    -        .replace(pr_gt, '&gt;');
    -  }
    -
    -
    -  var pr_ltEnt = /&lt;/g;
    -  var pr_gtEnt = /&gt;/g;
    -  var pr_aposEnt = /&apos;/g;
    -  var pr_quotEnt = /&quot;/g;
    -  var pr_ampEnt = /&amp;/g;
    -  var pr_nbspEnt = /&nbsp;/g;
    -  /** unescapes html to plain text. */
    -  function htmlToText(html) {
    -    var pos = html.indexOf('&');
    -    if (pos < 0) { return html; }
    -    // Handle numeric entities specially.  We can't use functional substitution
    -    // since that doesn't work in older versions of Safari.
    -    // These should be rare since most browsers convert them to normal chars.
    -    for (--pos; (pos = html.indexOf('&#', pos + 1)) >= 0;) {
    -      var end = html.indexOf(';', pos);
    -      if (end >= 0) {
    -        var num = html.substring(pos + 3, end);
    -        var radix = 10;
    -        if (num && num.charAt(0) === 'x') {
    -          num = num.substring(1);
    -          radix = 16;
    -        }
    -        var codePoint = parseInt(num, radix);
    -        if (!isNaN(codePoint)) {
    -          html = (html.substring(0, pos) + String.fromCharCode(codePoint) +
    -                  html.substring(end + 1));
    -        }
    -      }
    -    }
    -
    -    return html.replace(pr_ltEnt, '<')
    -        .replace(pr_gtEnt, '>')
    -        .replace(pr_aposEnt, "'")
    -        .replace(pr_quotEnt, '"')
    -        .replace(pr_nbspEnt, ' ')
    -        .replace(pr_ampEnt, '&');
    -  }
    -
    -  /** is the given node's innerHTML normally unescaped? */
    -  function isRawContent(node) {
    -    return 'XMP' === node.tagName;
    -  }
    -
    -  var newlineRe = /[\r\n]/g;
    -  /**
    -   * Are newlines and adjacent spaces significant in the given node's innerHTML?
    -   */
    -  function isPreformatted(node, content) {
    -    // PRE means preformatted, and is a very common case, so don't create
    -    // unnecessary computed style objects.
    -    if ('PRE' === node.tagName) { return true; }
    -    if (!newlineRe.test(content)) { return true; }  // Don't care
    -    var whitespace = '';
    -    // For disconnected nodes, IE has no currentStyle.
    -    if (node.currentStyle) {
    -      whitespace = node.currentStyle.whiteSpace;
    -    } else if (window.getComputedStyle) {
    -      // Firefox makes a best guess if node is disconnected whereas Safari
    -      // returns the empty string.
    -      whitespace = window.getComputedStyle(node, null).whiteSpace;
    -    }
    -    return !whitespace || whitespace === 'pre';
    -  }
    -
    -  function normalizedHtml(node, out, opt_sortAttrs) {
    -    switch (node.nodeType) {
    -      case 1:  // an element
    -        var name = node.tagName.toLowerCase();
    -
    -        out.push('<', name);
    -        var attrs = node.attributes;
    -        var n = attrs.length;
    -        if (n) {
    -          if (opt_sortAttrs) {
    -            var sortedAttrs = [];
    -            for (var i = n; --i >= 0;) { sortedAttrs[i] = attrs[i]; }
    -            sortedAttrs.sort(function (a, b) {
    -                return (a.name < b.name) ? -1 : a.name === b.name ? 0 : 1;
    -              });
    -            attrs = sortedAttrs;
    -          }
    -          for (var i = 0; i < n; ++i) {
    -            var attr = attrs[i];
    -            if (!attr.specified) { continue; }
    -            out.push(' ', attr.name.toLowerCase(),
    -                     '="', attribToHtml(attr.value), '"');
    -          }
    -        }
    -        out.push('>');
    -        for (var child = node.firstChild; child; child = child.nextSibling) {
    -          normalizedHtml(child, out, opt_sortAttrs);
    -        }
    -        if (node.firstChild || !/^(?:br|link|img)$/.test(name)) {
    -          out.push('<\/', name, '>');
    -        }
    -        break;
    -      case 3: case 4: // text
    -        out.push(textToHtml(node.nodeValue));
    -        break;
    -    }
    -  }
    -
    -  /**
    -   * Given a group of {@link RegExp}s, returns a {@code RegExp} that globally
    -   * matches the union o the sets o strings matched d by the input RegExp.
    -   * Since it matches globally, if the input strings have a start-of-input
    -   * anchor (/^.../), it is ignored for the purposes of unioning.
    -   * @param {Array.<RegExp>} regexs non multiline, non-global regexs.
    -   * @return {RegExp} a global regex.
    -   */
    -  function combinePrefixPatterns(regexs) {
    -    var capturedGroupIndex = 0;
    -
    -    var needToFoldCase = false;
    -    var ignoreCase = false;
    -    for (var i = 0, n = regexs.length; i < n; ++i) {
    -      var regex = regexs[i];
    -      if (regex.ignoreCase) {
    -        ignoreCase = true;
    -      } else if (/[a-z]/i.test(regex.source.replace(
    -                     /\\u[0-9a-f]{4}|\\x[0-9a-f]{2}|\\[^ux]/gi, ''))) {
    -        needToFoldCase = true;
    -        ignoreCase = false;
    -        break;
    -      }
    -    }
    -
    -    function decodeEscape(charsetPart) {
    -      if (charsetPart.charAt(0) !== '\\') { return charsetPart.charCodeAt(0); }
    -      switch (charsetPart.charAt(1)) {
    -        case 'b': return 8;
    -        case 't': return 9;
    -        case 'n': return 0xa;
    -        case 'v': return 0xb;
    -        case 'f': return 0xc;
    -        case 'r': return 0xd;
    -        case 'u': case 'x':
    -          return parseInt(charsetPart.substring(2), 16)
    -              || charsetPart.charCodeAt(1);
    -        case '0': case '1': case '2': case '3': case '4':
    -        case '5': case '6': case '7':
    -          return parseInt(charsetPart.substring(1), 8);
    -        default: return charsetPart.charCodeAt(1);
    -      }
    -    }
    -
    -    function encodeEscape(charCode) {
    -      if (charCode < 0x20) {
    -        return (charCode < 0x10 ? '\\x0' : '\\x') + charCode.toString(16);
    -      }
    -      var ch = String.fromCharCode(charCode);
    -      if (ch === '\\' || ch === '-' || ch === '[' || ch === ']') {
    -        ch = '\\' + ch;
    -      }
    -      return ch;
    -    }
    -
    -    function caseFoldCharset(charSet) {
    -      var charsetParts = charSet.substring(1, charSet.length - 1).match(
    -          new RegExp(
    -              '\\\\u[0-9A-Fa-f]{4}'
    -              + '|\\\\x[0-9A-Fa-f]{2}'
    -              + '|\\\\[0-3][0-7]{0,2}'
    -              + '|\\\\[0-7]{1,2}'
    -              + '|\\\\[\\s\\S]'
    -              + '|-'
    -              + '|[^-\\\\]',
    -              'g'));
    -      var groups = [];
    -      var ranges = [];
    -      var inverse = charsetParts[0] === '^';
    -      for (var i = inverse ? 1 : 0, n = charsetParts.length; i < n; ++i) {
    -        var p = charsetParts[i];
    -        switch (p) {
    -          case '\\B': case '\\b':
    -          case '\\D': case '\\d':
    -          case '\\S': case '\\s':
    -          case '\\W': case '\\w':
    -            groups.push(p);
    -            continue;
    -        }
    -        var start = decodeEscape(p);
    -        var end;
    -        if (i + 2 < n && '-' === charsetParts[i + 1]) {
    -          end = decodeEscape(charsetParts[i + 2]);
    -          i += 2;
    -        } else {
    -          end = start;
    -        }
    -        ranges.push([start, end]);
    -        // If the range might intersect letters, then expand it.
    -        if (!(end < 65 || start > 122)) {
    -          if (!(end < 65 || start > 90)) {
    -            ranges.push([Math.max(65, start) | 32, Math.min(end, 90) | 32]);
    -          }
    -          if (!(end < 97 || start > 122)) {
    -            ranges.push([Math.max(97, start) & ~32, Math.min(end, 122) & ~32]);
    -          }
    -        }
    -      }
    -
    -      // [[1, 10], [3, 4], [8, 12], [14, 14], [16, 16], [17, 17]]
    -      // -> [[1, 12], [14, 14], [16, 17]]
    -      ranges.sort(function (a, b) { return (a[0] - b[0]) || (b[1]  - a[1]); });
    -      var consolidatedRanges = [];
    -      var lastRange = [NaN, NaN];
    -      for (var i = 0; i < ranges.length; ++i) {
    -        var range = ranges[i];
    -        if (range[0] <= lastRange[1] + 1) {
    -          lastRange[1] = Math.max(lastRange[1], range[1]);
    -        } else {
    -          consolidatedRanges.push(lastRange = range);
    -        }
    -      }
    -
    -      var out = ['['];
    -      if (inverse) { out.push('^'); }
    -      out.push.apply(out, groups);
    -      for (var i = 0; i < consolidatedRanges.length; ++i) {
    -        var range = consolidatedRanges[i];
    -        out.push(encodeEscape(range[0]));
    -        if (range[1] > range[0]) {
    -          if (range[1] + 1 > range[0]) { out.push('-'); }
    -          out.push(encodeEscape(range[1]));
    -        }
    -      }
    -      out.push(']');
    -      return out.join('');
    -    }
    -
    -    function allowAnywhereFoldCaseAndRenumberGroups(regex) {
    -      // Split into character sets, escape sequences, punctuation strings
    -      // like ('(', '(?:', ')', '^'), and runs of characters that do not
    -      // include any of the above.
    -      var parts = regex.source.match(
    -          new RegExp(
    -              '(?:'
    -              + '\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]'  // a character set
    -              + '|\\\\u[A-Fa-f0-9]{4}'  // a unicode escape
    -              + '|\\\\x[A-Fa-f0-9]{2}'  // a hex escape
    -              + '|\\\\[0-9]+'  // a back-reference or octal escape
    -              + '|\\\\[^ux0-9]'  // other escape sequence
    -              + '|\\(\\?[:!=]'  // start of a non-capturing group
    -              + '|[\\(\\)\\^]'  // start/emd of a group, or line start
    -              + '|[^\\x5B\\x5C\\(\\)\\^]+'  // run of other characters
    -              + ')',
    -              'g'));
    -      var n = parts.length;
    -
    -      // Maps captured group numbers to the number they will occupy in
    -      // the output or to -1 if that has not been determined, or to
    -      // undefined if they need not be capturing in the output.
    -      var capturedGroups = [];
    -
    -      // Walk over and identify back references to build the capturedGroups
    -      // mapping.
    -      for (var i = 0, groupIndex = 0; i < n; ++i) {
    -        var p = parts[i];
    -        if (p === '(') {
    -          // groups are 1-indexed, so max group index is count of '('
    -          ++groupIndex;
    -        } else if ('\\' === p.charAt(0)) {
    -          var decimalValue = +p.substring(1);
    -          if (decimalValue && decimalValue <= groupIndex) {
    -            capturedGroups[decimalValue] = -1;
    -          }
    -        }
    -      }
    -
    -      // Renumber groups and reduce capturing groups to non-capturing groups
    -      // where possible.
    -      for (var i = 1; i < capturedGroups.length; ++i) {
    -        if (-1 === capturedGroups[i]) {
    -          capturedGroups[i] = ++capturedGroupIndex;
    -        }
    -      }
    -      for (var i = 0, groupIndex = 0; i < n; ++i) {
    -        var p = parts[i];
    -        if (p === '(') {
    -          ++groupIndex;
    -          if (capturedGroups[groupIndex] === undefined) {
    -            parts[i] = '(?:';
    -          }
    -        } else if ('\\' === p.charAt(0)) {
    -          var decimalValue = +p.substring(1);
    -          if (decimalValue && decimalValue <= groupIndex) {
    -            parts[i] = '\\' + capturedGroups[groupIndex];
    -          }
    -        }
    -      }
    -
    -      // Remove any prefix anchors so that the output will match anywhere.
    -      // ^^ really does mean an anchored match though.
    -      for (var i = 0, groupIndex = 0; i < n; ++i) {
    -        if ('^' === parts[i] && '^' !== parts[i + 1]) { parts[i] = ''; }
    -      }
    -
    -      // Expand letters to groupts to handle mixing of case-sensitive and
    -      // case-insensitive patterns if necessary.
    -      if (regex.ignoreCase && needToFoldCase) {
    -        for (var i = 0; i < n; ++i) {
    -          var p = parts[i];
    -          var ch0 = p.charAt(0);
    -          if (p.length >= 2 && ch0 === '[') {
    -            parts[i] = caseFoldCharset(p);
    -          } else if (ch0 !== '\\') {
    -            // TODO: handle letters in numeric escapes.
    -            parts[i] = p.replace(
    -                /[a-zA-Z]/g,
    -                function (ch) {
    -                  var cc = ch.charCodeAt(0);
    -                  return '[' + String.fromCharCode(cc & ~32, cc | 32) + ']';
    -                });
    -          }
    -        }
    -      }
    -
    -      return parts.join('');
    -    }
    -
    -    var rewritten = [];
    -    for (var i = 0, n = regexs.length; i < n; ++i) {
    -      var regex = regexs[i];
    -      if (regex.global || regex.multiline) { throw new Error('' + regex); }
    -      rewritten.push(
    -          '(?:' + allowAnywhereFoldCaseAndRenumberGroups(regex) + ')');
    -    }
    -
    -    return new RegExp(rewritten.join('|'), ignoreCase ? 'gi' : 'g');
    -  }
    -
    -  var PR_innerHtmlWorks = null;
    -  function getInnerHtml(node) {
    -    // inner html is hopelessly broken in Safari 2.0.4 when the content is
    -    // an html description of well formed XML and the containing tag is a PRE
    -    // tag, so we detect that case and emulate innerHTML.
    -    if (null === PR_innerHtmlWorks) {
    -      var testNode = document.createElement('PRE');
    -      testNode.appendChild(
    -          document.createTextNode('<!DOCTYPE foo PUBLIC "foo bar">\n<foo />'));
    -      PR_innerHtmlWorks = !/</.test(testNode.innerHTML);
    -    }
    -
    -    if (PR_innerHtmlWorks) {
    -      var content = node.innerHTML;
    -      // XMP tags contain unescaped entities so require special handling.
    -      if (isRawContent(node)) {
    -        content = textToHtml(content);
    -      } else if (!isPreformatted(node, content)) {
    -        content = content.replace(/(<br\s*\/?>)[\r\n]+/g, '$1')
    -            .replace(/(?:[\r\n]+[ \t]*)+/g, ' ');
    -      }
    -      return content;
    -    }
    -
    -    var out = [];
    -    for (var child = node.firstChild; child; child = child.nextSibling) {
    -      normalizedHtml(child, out);
    -    }
    -    return out.join('');
    -  }
    -
    -  /** returns a function that expand tabs to spaces.  This function can be fed
    -    * successive chunks of text, and will maintain its own internal state to
    -    * keep track of how tabs are expanded.
    -    * @return {function (string) : string} a function that takes
    -    *   plain text and return the text with tabs expanded.
    -    * @private
    -    */
    -  function makeTabExpander(tabWidth) {
    -    var SPACES = '                ';
    -    var charInLine = 0;
    -
    -    return function (plainText) {
    -      // walk over each character looking for tabs and newlines.
    -      // On tabs, expand them.  On newlines, reset charInLine.
    -      // Otherwise increment charInLine
    -      var out = null;
    -      var pos = 0;
    -      for (var i = 0, n = plainText.length; i < n; ++i) {
    -        var ch = plainText.charAt(i);
    -
    -        switch (ch) {
    -          case '\t':
    -            if (!out) { out = []; }
    -            out.push(plainText.substring(pos, i));
    -            // calculate how much space we need in front of this part
    -            // nSpaces is the amount of padding -- the number of spaces needed
    -            // to move us to the next column, where columns occur at factors of
    -            // tabWidth.
    -            var nSpaces = tabWidth - (charInLine % tabWidth);
    -            charInLine += nSpaces;
    -            for (; nSpaces >= 0; nSpaces -= SPACES.length) {
    -              out.push(SPACES.substring(0, nSpaces));
    -            }
    -            pos = i + 1;
    -            break;
    -          case '\n':
    -            charInLine = 0;
    -            break;
    -          default:
    -            ++charInLine;
    -        }
    -      }
    -      if (!out) { return plainText; }
    -      out.push(plainText.substring(pos));
    -      return out.join('');
    -    };
    -  }
    -
    -  var pr_chunkPattern = new RegExp(
    -      '[^<]+'  // A run of characters other than '<'
    -      + '|<\!--[\\s\\S]*?--\>'  // an HTML comment
    -      + '|<!\\[CDATA\\[[\\s\\S]*?\\]\\]>'  // a CDATA section
    -      // a probable tag that should not be highlighted
    -      + '|<\/?[a-zA-Z](?:[^>\"\']|\'[^\']*\'|\"[^\"]*\")*>'
    -      + '|<',  // A '<' that does not begin a larger chunk
    -      'g');
    -  var pr_commentPrefix = /^<\!--/;
    -  var pr_cdataPrefix = /^<!\[CDATA\[/;
    -  var pr_brPrefix = /^<br\b/i;
    -  var pr_tagNameRe = /^<(\/?)([a-zA-Z][a-zA-Z0-9]*)/;
    -
    -  /** split markup into chunks of html tags (style null) and
    -    * plain text (style {@link #PR_PLAIN}), converting tags which are
    -    * significant for tokenization (<br>) into their textual equivalent.
    -    *
    -    * @param {string} s html where whitespace is considered significant.
    -    * @return {Object} source code and extracted tags.
    -    * @private
    -    */
    -  function extractTags(s) {
    -    // since the pattern has the 'g' modifier and defines no capturing groups,
    -    // this will return a list of all chunks which we then classify and wrap as
    -    // PR_Tokens
    -    var matches = s.match(pr_chunkPattern);
    -    var sourceBuf = [];
    -    var sourceBufLen = 0;
    -    var extractedTags = [];
    -    if (matches) {
    -      for (var i = 0, n = matches.length; i < n; ++i) {
    -        var match = matches[i];
    -        if (match.length > 1 && match.charAt(0) === '<') {
    -          if (pr_commentPrefix.test(match)) { continue; }
    -          if (pr_cdataPrefix.test(match)) {
    -            // strip CDATA prefix and suffix.  Don't unescape since it's CDATA
    -            sourceBuf.push(match.substring(9, match.length - 3));
    -            sourceBufLen += match.length - 12;
    -          } else if (pr_brPrefix.test(match)) {
    -            // <br> tags are lexically significant so convert them to text.
    -            // This is undone later.
    -            sourceBuf.push('\n');
    -            ++sourceBufLen;
    -          } else {
    -            if (match.indexOf(PR_NOCODE) >= 0 && isNoCodeTag(match)) {
    -              // A <span class="nocode"> will start a section that should be
    -              // ignored.  Continue walking the list until we see a matching end
    -              // tag.
    -              var name = match.match(pr_tagNameRe)[2];
    -              var depth = 1;
    -              var j;
    -              end_tag_loop:
    -              for (j = i + 1; j < n; ++j) {
    -                var name2 = matches[j].match(pr_tagNameRe);
    -                if (name2 && name2[2] === name) {
    -                  if (name2[1] === '/') {
    -                    if (--depth === 0) { break end_tag_loop; }
    -                  } else {
    -                    ++depth;
    -                  }
    -                }
    -              }
    -              if (j < n) {
    -                extractedTags.push(
    -                    sourceBufLen, matches.slice(i, j + 1).join(''));
    -                i = j;
    -              } else {  // Ignore unclosed sections.
    -                extractedTags.push(sourceBufLen, match);
    -              }
    -            } else {
    -              extractedTags.push(sourceBufLen, match);
    -            }
    -          }
    -        } else {
    -          var literalText = htmlToText(match);
    -          sourceBuf.push(literalText);
    -          sourceBufLen += literalText.length;
    -        }
    -      }
    -    }
    -    return { source: sourceBuf.join(''), tags: extractedTags };
    -  }
    -
    -  /** True if the given tag contains a class attribute with the nocode class. */
    -  function isNoCodeTag(tag) {
    -    return !!tag
    -        // First canonicalize the representation of attributes
    -        .replace(/\s(\w+)\s*=\s*(?:\"([^\"]*)\"|'([^\']*)'|(\S+))/g,
    -                 ' $1="$2$3$4"')
    -        // Then look for the attribute we want.
    -        .match(/[cC][lL][aA][sS][sS]=\"[^\"]*\bnocode\b/);
    -  }
    -
    -  /**
    -   * Apply the given language handler to sourceCode and add the resulting
    -   * decorations to out.
    -   * @param {number} basePos the index of sourceCode within the chunk of source
    -   *    whose decorations are already present on out.
    -   */
    -  function appendDecorations(basePos, sourceCode, langHandler, out) {
    -    if (!sourceCode) { return; }
    -    var job = {
    -      source: sourceCode,
    -      basePos: basePos
    -    };
    -    langHandler(job);
    -    out.push.apply(out, job.decorations);
    -  }
    -
    -  /** Given triples of [style, pattern, context] returns a lexing function,
    -    * The lexing function interprets the patterns to find token boundaries and
    -    * returns a decoration list of the form
    -    * [index_0, style_0, index_1, style_1, ..., index_n, style_n]
    -    * where index_n is an index into the sourceCode, and style_n is a style
    -    * constant like PR_PLAIN.  index_n-1 <= index_n, and style_n-1 applies to
    -    * all characters in sourceCode[index_n-1:index_n].
    -    *
    -    * The stylePatterns is a list whose elements have the form
    -    * [style : string, pattern : RegExp, DEPRECATED, shortcut : string].
    -    *
    -    * Style is a style constant like PR_PLAIN, or can be a string of the
    -    * form 'lang-FOO', where FOO is a language extension describing the
    -    * language of the portion of the token in $1 after pattern executes.
    -    * E.g., if style is 'lang-lisp', and group 1 contains the text
    -    * '(hello (world))', then that portion of the token will be passed to the
    -    * registered lisp handler for formatting.
    -    * The text before and after group 1 will be restyled using this decorator
    -    * so decorators should take care that this doesn't result in infinite
    -    * recursion.  For example, the HTML lexer rule for SCRIPT elements looks
    -    * something like ['lang-js', /<[s]cript>(.+?)<\/script>/].  This may match
    -    * '<script>foo()<\/script>', which would cause the current decorator to
    -    * be called with '<script>' which would not match the same rule since
    -    * group 1 must not be empty, so it would be instead styled as PR_TAG by
    -    * the generic tag rule.  The handler registered for the 'js' extension would
    -    * then be called with 'foo()', and finally, the current decorator would
    -    * be called with '<\/script>' which would not match the original rule and
    -    * so the generic tag rule would identify it as a tag.
    -    *
    -    * Pattern must only match prefixes, and if it matches a prefix, then that
    -    * match is considered a token with the same style.
    -    *
    -    * Context is applied to the last non-whitespace, non-comment token
    -    * recognized.
    -    *
    -    * Shortcut is an optional string of characters, any of which, if the first
    -    * character, gurantee that this pattern and only this pattern matches.
    -    *
    -    * @param {Array} shortcutStylePatterns patterns that always start with
    -    *   a known character.  Must have a shortcut string.
    -    * @param {Array} fallthroughStylePatterns patterns that will be tried in
    -    *   order if the shortcut ones fail.  May have shortcuts.
    -    *
    -    * @return {function (Object)} a
    -    *   function that takes source code and returns a list of decorations.
    -    */
    -  function createSimpleLexer(shortcutStylePatterns, fallthroughStylePatterns) {
    -    var shortcuts = {};
    -    var tokenizer;
    -    (function () {
    -      var allPatterns = shortcutStylePatterns.concat(fallthroughStylePatterns);
    -      var allRegexs = [];
    -      var regexKeys = {};
    -      for (var i = 0, n = allPatterns.length; i < n; ++i) {
    -        var patternParts = allPatterns[i];
    -        var shortcutChars = patternParts[3];
    -        if (shortcutChars) {
    -          for (var c = shortcutChars.length; --c >= 0;) {
    -            shortcuts[shortcutChars.charAt(c)] = patternParts;
    -          }
    -        }
    -        var regex = patternParts[1];
    -        var k = '' + regex;
    -        if (!regexKeys.hasOwnProperty(k)) {
    -          allRegexs.push(regex);
    -          regexKeys[k] = null;
    -        }
    -      }
    -      allRegexs.push(/[\0-\uffff]/);
    -      tokenizer = combinePrefixPatterns(allRegexs);
    -    })();
    -
    -    var nPatterns = fallthroughStylePatterns.length;
    -    var notWs = /\S/;
    -
    -    /**
    -     * Lexes job.source and produces an output array job.decorations of style
    -     * classes preceded by the position at which they start in job.source in
    -     * order.
    -     *
    -     * @param {Object} job an object like {@code
    -     *    source: {string} sourceText plain text,
    -     *    basePos: {int} position of job.source in the larger chunk of
    -     *        sourceCode.
    -     * }
    -     */
    -    var decorate = function (job) {
    -      var sourceCode = job.source, basePos = job.basePos;
    -      /** Even entries are positions in source in ascending order.  Odd enties
    -        * are style markers (e.g., PR_COMMENT) that run from that position until
    -        * the end.
    -        * @type {Array.<number|string>}
    -        */
    -      var decorations = [basePos, PR_PLAIN];
    -      var pos = 0;  // index into sourceCode
    -      var tokens = sourceCode.match(tokenizer) || [];
    -      var styleCache = {};
    -
    -      for (var ti = 0, nTokens = tokens.length; ti < nTokens; ++ti) {
    -        var token = tokens[ti];
    -        var style = styleCache[token];
    -        var match = void 0;
    -
    -        var isEmbedded;
    -        if (typeof style === 'string') {
    -          isEmbedded = false;
    -        } else {
    -          var patternParts = shortcuts[token.charAt(0)];
    -          if (patternParts) {
    -            match = token.match(patternParts[1]);
    -            style = patternParts[0];
    -          } else {
    -            for (var i = 0; i < nPatterns; ++i) {
    -              patternParts = fallthroughStylePatterns[i];
    -              match = token.match(patternParts[1]);
    -              if (match) {
    -                style = patternParts[0];
    -                break;
    -              }
    -            }
    -
    -            if (!match) {  // make sure that we make progress
    -              style = PR_PLAIN;
    -            }
    -          }
    -
    -          isEmbedded = style.length >= 5 && 'lang-' === style.substring(0, 5);
    -          if (isEmbedded && !(match && typeof match[1] === 'string')) {
    -            isEmbedded = false;
    -            style = PR_SOURCE;
    -          }
    -
    -          if (!isEmbedded) { styleCache[token] = style; }
    -        }
    -
    -        var tokenStart = pos;
    -        pos += token.length;
    -
    -        if (!isEmbedded) {
    -          decorations.push(basePos + tokenStart, style);
    -        } else {  // Treat group 1 as an embedded block of source code.
    -          var embeddedSource = match[1];
    -          var embeddedSourceStart = token.indexOf(embeddedSource);
    -          var embeddedSourceEnd = embeddedSourceStart + embeddedSource.length;
    -          if (match[2]) {
    -            // If embeddedSource can be blank, then it would match at the
    -            // beginning which would cause us to infinitely recurse on the
    -            // entire token, so we catch the right context in match[2].
    -            embeddedSourceEnd = token.length - match[2].length;
    -            embeddedSourceStart = embeddedSourceEnd - embeddedSource.length;
    -          }
    -          var lang = style.substring(5);
    -          // Decorate the left of the embedded source
    -          appendDecorations(
    -              basePos + tokenStart,
    -              token.substring(0, embeddedSourceStart),
    -              decorate, decorations);
    -          // Decorate the embedded source
    -          appendDecorations(
    -              basePos + tokenStart + embeddedSourceStart,
    -              embeddedSource,
    -              langHandlerForExtension(lang, embeddedSource),
    -              decorations);
    -          // Decorate the right of the embedded section
    -          appendDecorations(
    -              basePos + tokenStart + embeddedSourceEnd,
    -              token.substring(embeddedSourceEnd),
    -              decorate, decorations);
    -        }
    -      }
    -      job.decorations = decorations;
    -    };
    -    return decorate;
    -  }
    -
    -  /** returns a function that produces a list of decorations from source text.
    -    *
    -    * This code treats ", ', and ` as string delimiters, and \ as a string
    -    * escape.  It does not recognize perl's qq() style strings.
    -    * It has no special handling for double delimiter escapes as in basic, or
    -    * the tripled delimiters used in python, but should work on those regardless
    -    * although in those cases a single string literal may be broken up into
    -    * multiple adjacent string literals.
    -    *
    -    * It recognizes C, C++, and shell style comments.
    -    *
    -    * @param {Object} options a set of optional parameters.
    -    * @return {function (Object)} a function that examines the source code
    -    *     in the input job and builds the decoration list.
    -    */
    -  function sourceDecorator(options) {
    -    var shortcutStylePatterns = [], fallthroughStylePatterns = [];
    -    if (options['tripleQuotedStrings']) {
    -      // '''multi-line-string''', 'single-line-string', and double-quoted
    -      shortcutStylePatterns.push(
    -          [PR_STRING,  /^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,
    -           null, '\'"']);
    -    } else if (options['multiLineStrings']) {
    -      // 'multi-line-string', "multi-line-string"
    -      shortcutStylePatterns.push(
    -          [PR_STRING,  /^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,
    -           null, '\'"`']);
    -    } else {
    -      // 'single-line-string', "single-line-string"
    -      shortcutStylePatterns.push(
    -          [PR_STRING,
    -           /^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,
    -           null, '"\'']);
    -    }
    -    if (options['verbatimStrings']) {
    -      // verbatim-string-literal production from the C# grammar.  See issue 93.
    -      fallthroughStylePatterns.push(
    -          [PR_STRING, /^@\"(?:[^\"]|\"\")*(?:\"|$)/, null]);
    -    }
    -    if (options['hashComments']) {
    -      if (options['cStyleComments']) {
    -        // Stop C preprocessor declarations at an unclosed open comment
    -        shortcutStylePatterns.push(
    -            [PR_COMMENT, /^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,
    -             null, '#']);
    -        fallthroughStylePatterns.push(
    -            [PR_STRING,
    -             /^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,
    -             null]);
    -      } else {
    -        shortcutStylePatterns.push([PR_COMMENT, /^#[^\r\n]*/, null, '#']);
    -      }
    -    }
    -    if (options['cStyleComments']) {
    -      fallthroughStylePatterns.push([PR_COMMENT, /^\/\/[^\r\n]*/, null]);
    -      fallthroughStylePatterns.push(
    -          [PR_COMMENT, /^\/\*[\s\S]*?(?:\*\/|$)/, null]);
    -    }
    -    if (options['regexLiterals']) {
    -      var REGEX_LITERAL = (
    -          // A regular expression literal starts with a slash that is
    -          // not followed by * or / so that it is not confused with
    -          // comments.
    -          '/(?=[^/*])'
    -          // and then contains any number of raw characters,
    -          + '(?:[^/\\x5B\\x5C]'
    -          // escape sequences (\x5C),
    -          +    '|\\x5C[\\s\\S]'
    -          // or non-nesting character sets (\x5B\x5D);
    -          +    '|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+'
    -          // finally closed by a /.
    -          + '/');
    -      fallthroughStylePatterns.push(
    -          ['lang-regex',
    -           new RegExp('^' + REGEXP_PRECEDER_PATTERN + '(' + REGEX_LITERAL + ')')
    -           ]);
    -    }
    -
    -    var keywords = options['keywords'].replace(/^\s+|\s+$/g, '');
    -    if (keywords.length) {
    -      fallthroughStylePatterns.push(
    -          [PR_KEYWORD,
    -           new RegExp('^(?:' + keywords.replace(/\s+/g, '|') + ')\\b'), null]);
    -    }
    -
    -    shortcutStylePatterns.push([PR_PLAIN,       /^\s+/, null, ' \r\n\t\xA0']);
    -    fallthroughStylePatterns.push(
    -        // TODO(mikesamuel): recognize non-latin letters and numerals in idents
    -        [PR_LITERAL,     /^@[a-z_$][a-z_$@0-9]*/i, null],
    -        [PR_TYPE,        /^@?[A-Z]+[a-z][A-Za-z_$@0-9]*/, null],
    -        [PR_PLAIN,       /^[a-z_$][a-z_$@0-9]*/i, null],
    -        [PR_LITERAL,
    -         new RegExp(
    -             '^(?:'
    -             // A hex number
    -             + '0x[a-f0-9]+'
    -             // or an octal or decimal number,
    -             + '|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)'
    -             // possibly in scientific notation
    -             + '(?:e[+\\-]?\\d+)?'
    -             + ')'
    -             // with an optional modifier like UL for unsigned long
    -             + '[a-z]*', 'i'),
    -         null, '0123456789'],
    -        [PR_PUNCTUATION, /^.[^\s\w\.$@\'\"\`\/\#]*/, null]);
    -
    -    return createSimpleLexer(shortcutStylePatterns, fallthroughStylePatterns);
    -  }
    -
    -  var decorateSource = sourceDecorator({
    -        'keywords': ALL_KEYWORDS,
    -        'hashComments': true,
    -        'cStyleComments': true,
    -        'multiLineStrings': true,
    -        'regexLiterals': true
    -      });
    -
    -  /** Breaks {@code job.source} around style boundaries in
    -    * {@code job.decorations} while re-interleaving {@code job.extractedTags},
    -    * and leaves the result in {@code job.prettyPrintedHtml}.
    -    * @param {Object} job like {
    -    *    source: {string} source as plain text,
    -    *    extractedTags: {Array.<number|string>} extractedTags chunks of raw
    -    *                   html preceded by their position in {@code job.source}
    -    *                   in order
    -    *    decorations: {Array.<number|string} an array of style classes preceded
    -    *                 by the position at which they start in job.source in order
    -    * }
    -    * @private
    -    */
    -  function recombineTagsAndDecorations(job) {
    -    var sourceText = job.source;
    -    var extractedTags = job.extractedTags;
    -    var decorations = job.decorations;
    -
    -    var html = [];
    -    // index past the last char in sourceText written to html
    -    var outputIdx = 0;
    -
    -    var openDecoration = null;
    -    var currentDecoration = null;
    -    var tagPos = 0;  // index into extractedTags
    -    var decPos = 0;  // index into decorations
    -    var tabExpander = makeTabExpander(window['PR_TAB_WIDTH']);
    -
    -    var adjacentSpaceRe = /([\r\n ]) /g;
    -    var startOrSpaceRe = /(^| ) /gm;
    -    var newlineRe = /\r\n?|\n/g;
    -    var trailingSpaceRe = /[ \r\n]$/;
    -    var lastWasSpace = true;  // the last text chunk emitted ended with a space.
    -
    -    // See bug 71 and http://stackoverflow.com/questions/136443/why-doesnt-ie7-
    -    var isIE678 = window['_pr_isIE6']();
    -    var lineBreakHtml = (
    -        isIE678
    -        ? (job.sourceNode.tagName === 'PRE'
    -           // Use line feeds instead of <br>s so that copying and pasting works
    -           // on IE.
    -           // Doing this on other browsers breaks lots of stuff since \r\n is
    -           // treated as two newlines on Firefox.
    -           ? (isIE678 === 6 ? '&#160;\r\n' :
    -              isIE678 === 7 ? '&#160;<br>\r' : '&#160;\r')
    -           // IE collapses multiple adjacent <br>s into 1 line break.
    -           // Prefix every newline with '&#160;' to prevent such behavior.
    -           // &nbsp; is the same as &#160; but works in XML as well as HTML.
    -           : '&#160;<br />')
    -        : '<br />');
    -
    -    // Look for a class like linenums or linenums:<n> where <n> is the 1-indexed
    -    // number of the first line.
    -    var numberLines = job.sourceNode.className.match(/\blinenums\b(?::(\d+))?/);
    -    var lineBreaker;
    -    if (numberLines) {
    -      var lineBreaks = [];
    -      for (var i = 0; i < 10; ++i) {
    -        lineBreaks[i] = lineBreakHtml + '</li><li class="L' + i + '">';
    -      }
    -      var lineNum = numberLines[1] && numberLines[1].length
    -          ? numberLines[1] - 1 : 0;  // Lines are 1-indexed
    -      html.push('<ol class="linenums"><li class="L', (lineNum) % 10, '"');
    -      if (lineNum) {
    -        html.push(' value="', lineNum + 1, '"');
    -      }
    -      html.push('>');
    -      lineBreaker = function () {
    -        var lb = lineBreaks[++lineNum % 10];
    -        // If a decoration is open, we need to close it before closing a list-item
    -        // and reopen it on the other side of the list item.
    -        return openDecoration
    -            ? ('</span>' + lb + '<span class="' + openDecoration + '">') : lb;
    -      };
    -    } else {
    -      lineBreaker = lineBreakHtml;
    -    }
    -
    -    // A helper function that is responsible for opening sections of decoration
    -    // and outputing properly escaped chunks of source
    -    function emitTextUpTo(sourceIdx) {
    -      if (sourceIdx > outputIdx) {
    -        if (openDecoration && openDecoration !== currentDecoration) {
    -          // Close the current decoration
    -          html.push('</span>');
    -          openDecoration = null;
    -        }
    -        if (!openDecoration && currentDecoration) {
    -          openDecoration = currentDecoration;
    -          html.push('<span class="', openDecoration, '">');
    -        }
    -        // This interacts badly with some wikis which introduces paragraph tags
    -        // into pre blocks for some strange reason.
    -        // It's necessary for IE though which seems to lose the preformattedness
    -        // of <pre> tags when their innerHTML is assigned.
    -        // http://stud3.tuwien.ac.at/~e0226430/innerHtmlQuirk.html
    -        // and it serves to undo the conversion of <br>s to newlines done in
    -        // chunkify.
    -        var htmlChunk = textToHtml(
    -            tabExpander(sourceText.substring(outputIdx, sourceIdx)))
    -            .replace(lastWasSpace
    -                     ? startOrSpaceRe
    -                     : adjacentSpaceRe, '$1&#160;');
    -        // Keep track of whether we need to escape space at the beginning of the
    -        // next chunk.
    -        lastWasSpace = trailingSpaceRe.test(htmlChunk);
    -        html.push(htmlChunk.replace(newlineRe, lineBreaker));
    -        outputIdx = sourceIdx;
    -      }
    -    }
    -
    -    while (true) {
    -      // Determine if we're going to consume a tag this time around.  Otherwise
    -      // we consume a decoration or exit.
    -      var outputTag;
    -      if (tagPos < extractedTags.length) {
    -        if (decPos < decorations.length) {
    -          // Pick one giving preference to extractedTags since we shouldn't open
    -          // a new style that we're going to have to immediately close in order
    -          // to output a tag.
    -          outputTag = extractedTags[tagPos] <= decorations[decPos];
    -        } else {
    -          outputTag = true;
    -        }
    -      } else {
    -        outputTag = false;
    -      }
    -      // Consume either a decoration or a tag or exit.
    -      if (outputTag) {
    -        emitTextUpTo(extractedTags[tagPos]);
    -        if (openDecoration) {
    -          // Close the current decoration
    -          html.push('</span>');
    -          openDecoration = null;
    -        }
    -        html.push(extractedTags[tagPos + 1]);
    -        tagPos += 2;
    -      } else if (decPos < decorations.length) {
    -        emitTextUpTo(decorations[decPos]);
    -        currentDecoration = decorations[decPos + 1];
    -        decPos += 2;
    -      } else {
    -        break;
    -      }
    -    }
    -    emitTextUpTo(sourceText.length);
    -    if (openDecoration) {
    -      html.push('</span>');
    -    }
    -    if (numberLines) { html.push('</li></ol>'); }
    -    job.prettyPrintedHtml = html.join('');
    -  }
    -
    -  /** Maps language-specific file extensions to handlers. */
    -  var langHandlerRegistry = {};
    -  /** Register a language handler for the given file extensions.
    -    * @param {function (Object)} handler a function from source code to a list
    -    *      of decorations.  Takes a single argument job which describes the
    -    *      state of the computation.   The single parameter has the form
    -    *      {@code {
    -    *        source: {string} as plain text.
    -    *        decorations: {Array.<number|string>} an array of style classes
    -    *                     preceded by the position at which they start in
    -    *                     job.source in order.
    -    *                     The language handler should assigned this field.
    -    *        basePos: {int} the position of source in the larger source chunk.
    -    *                 All positions in the output decorations array are relative
    -    *                 to the larger source chunk.
    -    *      } }
    -    * @param {Array.<string>} fileExtensions
    -    */
    -  function registerLangHandler(handler, fileExtensions) {
    -    for (var i = fileExtensions.length; --i >= 0;) {
    -      var ext = fileExtensions[i];
    -      if (!langHandlerRegistry.hasOwnProperty(ext)) {
    -        langHandlerRegistry[ext] = handler;
    -      } else if ('console' in window) {
    -        console['warn']('cannot override language handler %s', ext);
    -      }
    -    }
    -  }
    -  function langHandlerForExtension(extension, source) {
    -    if (!(extension && langHandlerRegistry.hasOwnProperty(extension))) {
    -      // Treat it as markup if the first non whitespace character is a < and
    -      // the last non-whitespace character is a >.
    -      extension = /^\s*</.test(source)
    -          ? 'default-markup'
    -          : 'default-code';
    -    }
    -    return langHandlerRegistry[extension];
    -  }
    -  registerLangHandler(decorateSource, ['default-code']);
    -  registerLangHandler(
    -      createSimpleLexer(
    -          [],
    -          [
    -           [PR_PLAIN,       /^[^<?]+/],
    -           [PR_DECLARATION, /^<!\w[^>]*(?:>|$)/],
    -           [PR_COMMENT,     /^<\!--[\s\S]*?(?:-\->|$)/],
    -           // Unescaped content in an unknown language
    -           ['lang-',        /^<\?([\s\S]+?)(?:\?>|$)/],
    -           ['lang-',        /^<%([\s\S]+?)(?:%>|$)/],
    -           [PR_PUNCTUATION, /^(?:<[%?]|[%?]>)/],
    -           ['lang-',        /^<xmp\b[^>]*>([\s\S]+?)<\/xmp\b[^>]*>/i],
    -           // Unescaped content in javascript.  (Or possibly vbscript).
    -           ['lang-js',      /^<script\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],
    -           // Contains unescaped stylesheet content
    -           ['lang-css',     /^<style\b[^>]*>([\s\S]*?)(<\/style\b[^>]*>)/i],
    -           ['lang-in.tag',  /^(<\/?[a-z][^<>]*>)/i]
    -          ]),
    -      ['default-markup', 'htm', 'html', 'mxml', 'xhtml', 'xml', 'xsl']);
    -  registerLangHandler(
    -      createSimpleLexer(
    -          [
    -           [PR_PLAIN,        /^[\s]+/, null, ' \t\r\n'],
    -           [PR_ATTRIB_VALUE, /^(?:\"[^\"]*\"?|\'[^\']*\'?)/, null, '\"\'']
    -           ],
    -          [
    -           [PR_TAG,          /^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],
    -           [PR_ATTRIB_NAME,  /^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],
    -           ['lang-uq.val',   /^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],
    -           [PR_PUNCTUATION,  /^[=<>\/]+/],
    -           ['lang-js',       /^on\w+\s*=\s*\"([^\"]+)\"/i],
    -           ['lang-js',       /^on\w+\s*=\s*\'([^\']+)\'/i],
    -           ['lang-js',       /^on\w+\s*=\s*([^\"\'>\s]+)/i],
    -           ['lang-css',      /^style\s*=\s*\"([^\"]+)\"/i],
    -           ['lang-css',      /^style\s*=\s*\'([^\']+)\'/i],
    -           ['lang-css',      /^style\s*=\s*([^\"\'>\s]+)/i]
    -           ]),
    -      ['in.tag']);
    -  registerLangHandler(
    -      createSimpleLexer([], [[PR_ATTRIB_VALUE, /^[\s\S]+/]]), ['uq.val']);
    -  registerLangHandler(sourceDecorator({
    -          'keywords': CPP_KEYWORDS,
    -          'hashComments': true,
    -          'cStyleComments': true
    -        }), ['c', 'cc', 'cpp', 'cxx', 'cyc', 'm']);
    -  registerLangHandler(sourceDecorator({
    -          'keywords': 'null true false'
    -        }), ['json']);
    -  registerLangHandler(sourceDecorator({
    -          'keywords': CSHARP_KEYWORDS,
    -          'hashComments': true,
    -          'cStyleComments': true,
    -          'verbatimStrings': true
    -        }), ['cs']);
    -  registerLangHandler(sourceDecorator({
    -          'keywords': JAVA_KEYWORDS,
    -          'cStyleComments': true
    -        }), ['java']);
    -  registerLangHandler(sourceDecorator({
    -          'keywords': SH_KEYWORDS,
    -          'hashComments': true,
    -          'multiLineStrings': true
    -        }), ['bsh', 'csh', 'sh']);
    -  registerLangHandler(sourceDecorator({
    -          'keywords': PYTHON_KEYWORDS,
    -          'hashComments': true,
    -          'multiLineStrings': true,
    -          'tripleQuotedStrings': true
    -        }), ['cv', 'py']);
    -  registerLangHandler(sourceDecorator({
    -          'keywords': PERL_KEYWORDS,
    -          'hashComments': true,
    -          'multiLineStrings': true,
    -          'regexLiterals': true
    -        }), ['perl', 'pl', 'pm']);
    -  registerLangHandler(sourceDecorator({
    -          'keywords': RUBY_KEYWORDS,
    -          'hashComments': true,
    -          'multiLineStrings': true,
    -          'regexLiterals': true
    -        }), ['rb']);
    -  registerLangHandler(sourceDecorator({
    -          'keywords': JSCRIPT_KEYWORDS,
    -          'cStyleComments': true,
    -          'regexLiterals': true
    -        }), ['js']);
    -  registerLangHandler(
    -      createSimpleLexer([], [[PR_STRING, /^[\s\S]+/]]), ['regex']);
    -
    -  function applyDecorator(job) {
    -    var sourceCodeHtml = job.sourceCodeHtml;
    -    var opt_langExtension = job.langExtension;
    -
    -    // Prepopulate output in case processing fails with an exception.
    -    job.prettyPrintedHtml = sourceCodeHtml;
    -
    -    try {
    -      // Extract tags, and convert the source code to plain text.
    -      var sourceAndExtractedTags = extractTags(sourceCodeHtml);
    -      /** Plain text. @type {string} */
    -      var source = sourceAndExtractedTags.source;
    -      job.source = source;
    -      job.basePos = 0;
    -
    -      /** Even entries are positions in source in ascending order.  Odd entries
    -        * are tags that were extracted at that position.
    -        * @type {Array.<number|string>}
    -        */
    -      job.extractedTags = sourceAndExtractedTags.tags;
    -
    -      // Apply the appropriate language handler
    -      langHandlerForExtension(opt_langExtension, source)(job);
    -      // Integrate the decorations and tags back into the source code to produce
    -      // a decorated html string which is left in job.prettyPrintedHtml.
    -      recombineTagsAndDecorations(job);
    -    } catch (e) {
    -      if ('console' in window) {
    -        console['log'](e && e['stack'] ? e['stack'] : e);
    -      }
    -    }
    -  }
    -
    -  function prettyPrintOne(sourceCodeHtml, opt_langExtension) {
    -    var job = {
    -      sourceCodeHtml: sourceCodeHtml,
    -      langExtension: opt_langExtension
    -    };
    -    applyDecorator(job);
    -    return job.prettyPrintedHtml;
    -  }
    -
    -  function prettyPrint(opt_whenDone) {
    -    function byTagName(tn) { return document.getElementsByTagName(tn); }
    -    // fetch a list of nodes to rewrite
    -    var codeSegments = [byTagName('pre'), byTagName('code'), byTagName('xmp')];
    -    var elements = [];
    -    for (var i = 0; i < codeSegments.length; ++i) {
    -      for (var j = 0, n = codeSegments[i].length; j < n; ++j) {
    -        elements.push(codeSegments[i][j]);
    -      }
    -    }
    -    codeSegments = null;
    -
    -    var clock = Date;
    -    if (!clock['now']) {
    -      clock = { 'now': function () { return (new Date).getTime(); } };
    -    }
    -
    -    // The loop is broken into a series of continuations to make sure that we
    -    // don't make the browser unresponsive when rewriting a large page.
    -    var k = 0;
    -    var prettyPrintingJob;
    -
    -    function doWork() {
    -      var endTime = (window['PR_SHOULD_USE_CONTINUATION'] ?
    -                     clock.now() + 250 /* ms */ :
    -                     Infinity);
    -      for (; k < elements.length && clock.now() < endTime; k++) {
    -        var cs = elements[k];
    -        // [JACOCO] 'prettyprint' -> 'source'
    -        if (cs.className && cs.className.indexOf('source') >= 0) {
    -          // If the classes includes a language extensions, use it.
    -          // Language extensions can be specified like
    -          //     <pre class="prettyprint lang-cpp">
    -          // the language extension "cpp" is used to find a language handler as
    -          // passed to PR_registerLangHandler.
    -          var langExtension = cs.className.match(/\blang-(\w+)\b/);
    -          if (langExtension) { langExtension = langExtension[1]; }
    -
    -          // make sure this is not nested in an already prettified element
    -          var nested = false;
    -          for (var p = cs.parentNode; p; p = p.parentNode) {
    -            if ((p.tagName === 'pre' || p.tagName === 'code' ||
    -                 p.tagName === 'xmp') &&
    -                // [JACOCO] 'prettyprint' -> 'source'
    -                p.className && p.className.indexOf('source') >= 0) {
    -              nested = true;
    -              break;
    -            }
    -          }
    -          if (!nested) {
    -            // fetch the content as a snippet of properly escaped HTML.
    -            // Firefox adds newlines at the end.
    -            var content = getInnerHtml(cs);
    -            content = content.replace(/(?:\r\n?|\n)$/, '');
    -
    -            // do the pretty printing
    -            prettyPrintingJob = {
    -              sourceCodeHtml: content,
    -              langExtension: langExtension,
    -              sourceNode: cs
    -            };
    -            applyDecorator(prettyPrintingJob);
    -            replaceWithPrettyPrintedHtml();
    -          }
    -        }
    -      }
    -      if (k < elements.length) {
    -        // finish up in a continuation
    -        setTimeout(doWork, 250);
    -      } else if (opt_whenDone) {
    -        opt_whenDone();
    -      }
    -    }
    -
    -    function replaceWithPrettyPrintedHtml() {
    -      var newContent = prettyPrintingJob.prettyPrintedHtml;
    -      if (!newContent) { return; }
    -      var cs = prettyPrintingJob.sourceNode;
    -
    -      // push the prettified html back into the tag.
    -      if (!isRawContent(cs)) {
    -        // just replace the old html with the new
    -        cs.innerHTML = newContent;
    -      } else {
    -        // we need to change the tag to a <pre> since <xmp>s do not allow
    -        // embedded tags such as the span tags used to attach styles to
    -        // sections of source code.
    -        var pre = document.createElement('PRE');
    -        for (var i = 0; i < cs.attributes.length; ++i) {
    -          var a = cs.attributes[i];
    -          if (a.specified) {
    -            var aname = a.name.toLowerCase();
    -            if (aname === 'class') {
    -              pre.className = a.value;  // For IE 6
    -            } else {
    -              pre.setAttribute(a.name, a.value);
    -            }
    -          }
    -        }
    -        pre.innerHTML = newContent;
    -
    -        // remove the old
    -        cs.parentNode.replaceChild(pre, cs);
    -        cs = pre;
    -      }
    -    }
    -
    -    doWork();
    -  }
    -
    -  window['PR_normalizedHtml'] = normalizedHtml;
    -  window['prettyPrintOne'] = prettyPrintOne;
    -  window['prettyPrint'] = prettyPrint;
    -  window['PR'] = {
    -        'combinePrefixPatterns': combinePrefixPatterns,
    -        'createSimpleLexer': createSimpleLexer,
    -        'registerLangHandler': registerLangHandler,
    -        'sourceDecorator': sourceDecorator,
    -        'PR_ATTRIB_NAME': PR_ATTRIB_NAME,
    -        'PR_ATTRIB_VALUE': PR_ATTRIB_VALUE,
    -        'PR_COMMENT': PR_COMMENT,
    -        'PR_DECLARATION': PR_DECLARATION,
    -        'PR_KEYWORD': PR_KEYWORD,
    -        'PR_LITERAL': PR_LITERAL,
    -        'PR_NOCODE': PR_NOCODE,
    -        'PR_PLAIN': PR_PLAIN,
    -        'PR_PUNCTUATION': PR_PUNCTUATION,
    -        'PR_SOURCE': PR_SOURCE,
    -        'PR_STRING': PR_STRING,
    -        'PR_TAG': PR_TAG,
    -        'PR_TYPE': PR_TYPE
    -      };
    -})();
    diff --git a/jacoco/jacocoHtml/jacoco-resources/redbar.gif b/jacoco/jacocoHtml/jacoco-resources/redbar.gif
    deleted file mode 100644
    index c2f71469ba995289439d86ea39b1b33edb03388c..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 91
    zcmZ?wbhEHbWMtrCc+AD{pP&D~tn7aso&R25|6^nS*Vg{;>G{84!T)8;{;yfXu$BQ0
    fDgI<(<YM4w&|v@qkQodt90ol_LPjnP91PX~3&9+X
    
    diff --git a/jacoco/jacocoHtml/jacoco-resources/report.css b/jacoco/jacocoHtml/jacoco-resources/report.css
    deleted file mode 100644
    index dd936bca..00000000
    --- a/jacoco/jacocoHtml/jacoco-resources/report.css
    +++ /dev/null
    @@ -1,243 +0,0 @@
    -body, td {
    -  font-family:sans-serif;
    -  font-size:10pt;
    -}
    -
    -h1 {
    -  font-weight:bold;
    -  font-size:18pt;
    -}
    -
    -.breadcrumb {
    -  border:#d6d3ce 1px solid;
    -  padding:2px 4px 2px 4px;
    -}
    -
    -.breadcrumb .info {
    -  float:right;
    -}
    -
    -.breadcrumb .info a {
    -  margin-left:8px;
    -}
    -
    -.el_report {
    -  padding-left:18px;
    -  background-image:url(report.gif);
    -  background-position:left center;
    -  background-repeat:no-repeat;
    -}
    -
    -.el_group {
    -  padding-left:18px;
    -  background-image:url(group.gif);
    -  background-position:left center;
    -  background-repeat:no-repeat;
    -}
    -
    -.el_bundle {
    -  padding-left:18px;
    -  background-image:url(bundle.gif);
    -  background-position:left center;
    -  background-repeat:no-repeat;
    -}
    -
    -.el_package {
    -  padding-left:18px;
    -  background-image:url(package.gif);
    -  background-position:left center;
    -  background-repeat:no-repeat;
    -}
    -
    -.el_class {
    -  padding-left:18px;
    -  background-image:url(class.gif);
    -  background-position:left center;
    -  background-repeat:no-repeat;
    -}
    -
    -.el_source {
    -  padding-left:18px;
    -  background-image:url(source.gif);
    -  background-position:left center;
    -  background-repeat:no-repeat;
    -}
    -
    -.el_method {
    -  padding-left:18px;
    -  background-image:url(method.gif);
    -  background-position:left center;
    -  background-repeat:no-repeat;
    -}
    -
    -.el_session {
    -  padding-left:18px;
    -  background-image:url(session.gif);
    -  background-position:left center;
    -  background-repeat:no-repeat;
    -}
    -
    -pre.source {
    -  border:#d6d3ce 1px solid;
    -  font-family:monospace;
    -}
    -
    -pre.source ol {
    -  margin-bottom: 0px;
    -  margin-top: 0px;
    -}
    -
    -pre.source li {
    -  border-left: 1px solid #D6D3CE;
    -  color: #A0A0A0;
    -  padding-left: 0px;
    -}
    -
    -pre.source span.fc {
    -  background-color:#ccffcc;
    -}
    -
    -pre.source span.nc {
    -  background-color:#ffaaaa;
    -}
    -
    -pre.source span.pc {
    -  background-color:#ffffcc;
    -}
    -
    -pre.source span.bfc {
    -  background-image: url(branchfc.gif);
    -  background-repeat: no-repeat;
    -  background-position: 2px center;
    -}
    -
    -pre.source span.bfc:hover {
    -  background-color:#80ff80;
    -}
    -
    -pre.source span.bnc {
    -  background-image: url(branchnc.gif);
    -  background-repeat: no-repeat;
    -  background-position: 2px center;
    -}
    -
    -pre.source span.bnc:hover {
    -  background-color:#ff8080;
    -}
    -
    -pre.source span.bpc {
    -  background-image: url(branchpc.gif);
    -  background-repeat: no-repeat;
    -  background-position: 2px center;
    -}
    -
    -pre.source span.bpc:hover {
    -  background-color:#ffff80;
    -}
    -
    -table.coverage {
    -  empty-cells:show;
    -  border-collapse:collapse;
    -}
    -
    -table.coverage thead {
    -  background-color:#e0e0e0;
    -}
    -
    -table.coverage thead td {
    -  white-space:nowrap;
    -  padding:2px 14px 0px 6px;
    -  border-bottom:#b0b0b0 1px solid;
    -}
    -
    -table.coverage thead td.bar {
    -  border-left:#cccccc 1px solid;
    -}
    -
    -table.coverage thead td.ctr1 {
    -  text-align:right;
    -  border-left:#cccccc 1px solid;
    -}
    -
    -table.coverage thead td.ctr2 {
    -  text-align:right;
    -  padding-left:2px;
    -}
    -
    -table.coverage thead td.sortable {
    -  cursor:pointer;
    -  background-image:url(sort.gif);
    -  background-position:right center;
    -  background-repeat:no-repeat;
    -}
    -
    -table.coverage thead td.up {
    -  background-image:url(up.gif);
    -}
    -
    -table.coverage thead td.down {
    -  background-image:url(down.gif);
    -}
    -
    -table.coverage tbody td {
    -  white-space:nowrap;
    -  padding:2px 6px 2px 6px;
    -  border-bottom:#d6d3ce 1px solid;
    -}
    -
    -table.coverage tbody tr:hover {
    -  background: #f0f0d0 !important;
    -}
    -
    -table.coverage tbody td.bar {
    -  border-left:#e8e8e8 1px solid;
    -}
    -
    -table.coverage tbody td.ctr1 {
    -  text-align:right;
    -  padding-right:14px;
    -  border-left:#e8e8e8 1px solid;
    -}
    -
    -table.coverage tbody td.ctr2 {
    -  text-align:right;
    -  padding-right:14px;
    -  padding-left:2px;
    -}
    -
    -table.coverage tfoot td {
    -  white-space:nowrap;
    -  padding:2px 6px 2px 6px;
    -}
    -
    -table.coverage tfoot td.bar {
    -  border-left:#e8e8e8 1px solid;
    -}
    -
    -table.coverage tfoot td.ctr1 {
    -  text-align:right;
    -  padding-right:14px;
    -  border-left:#e8e8e8 1px solid;
    -}
    -
    -table.coverage tfoot td.ctr2 {
    -  text-align:right;
    -  padding-right:14px;
    -  padding-left:2px;
    -}
    -
    -.footer {
    -  margin-top:20px;
    -  border-top:#d6d3ce 1px solid;
    -  padding-top:2px;
    -  font-size:8pt;
    -  color:#a0a0a0;
    -}
    -
    -.footer a {
    -  color:#a0a0a0;
    -}
    -
    -.right {
    -  float:right;
    -}
    diff --git a/jacoco/jacocoHtml/jacoco-resources/report.gif b/jacoco/jacocoHtml/jacoco-resources/report.gif
    deleted file mode 100644
    index 8547be50bf3e97e725920927b5aa4cdb031f4823..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 363
    zcmZ?wbhEHb6krfwSZc{In}J~s1H&!`1_uX+xVSjMb&S>db~X8S)dhAn1$OlXwvB~0
    zO@%hC#Wq5_7&^+V`^qgRRa;E2HJ?*&DsqWoev|2fCetO&CQDmPR<;_iXfs~ZZnVC`
    za8s8-+pK*(^AAm4c5K#~(^ocST-lU)byMc8y)_R`^xu2&{oaco_g{R!|Ki8Pmp>lA
    z{_*VHkC*R%zWMa)!{^_hzyAL8?f2(zzrTL}{q@K1Z$Ey2|M}<VuRs5>0mYvzj9d)%
    z3_1)z0P+(9TgQR<1s*zF)+bahX*_u_??Pbv&V#KE^V2&`bhGjjR;*MxC8EFO_3_}<
    zH?w9WrJ7AX`tJM8r525X{~8+WorLsRL^?W{nR=L*odosT`KItOGtTI963}JgV_m??
    z%&>&9-=1G*^3>@wm-A|~FmK+nbvd`DhNhP0UUhXIS1vYAPL5-o?Ce}VXI&i`tO1G(
    BvdRDe
    
    diff --git a/jacoco/jacocoHtml/jacoco-resources/session.gif b/jacoco/jacocoHtml/jacoco-resources/session.gif
    deleted file mode 100644
    index 0151bad8a001e5cc5cc7723a608185f746b7f8c1..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 213
    zcmZ?wbhEHb6krfwXc1xPS$gU4xw~t2pG#?5#^Be>V3WrXI-S9<hrzA(|Nr^_@5k?-
    zZ~y=IhyVNSXZ04}pKqV%t9oe5k~tY+Ar=Pzi2#Z}Sr{1@<Qa4rfB<AC18dL&^}dwM
    zX_r*ys<8N;e6mS?i^dP8jVmAd@U^}&$uv>xc~m$hYN?d{@xrG~CzZCfhpBIRC}Q>I
    kiQ?_Ai=3VZEOFW9fBwaksdwMK(Err)E%VcVRYeAC06w^MK>z>%
    
    diff --git a/jacoco/jacocoHtml/jacoco-resources/sort.gif b/jacoco/jacocoHtml/jacoco-resources/sort.gif
    deleted file mode 100644
    index 6757c2c32b57d768f3c12c4ae99a28bc32c9cbd7..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 58
    zcmZ?wbhEHb<YC}qXkcX6uwldh|Nj+#vM_QnFf!;c00|xjP6h@h!JfpGjC*fB>i!bx
    N`t(%z_h<$NYXI&b5{m!;
    
    diff --git a/jacoco/jacocoHtml/jacoco-resources/sort.js b/jacoco/jacocoHtml/jacoco-resources/sort.js
    deleted file mode 100644
    index fa9db086..00000000
    --- a/jacoco/jacocoHtml/jacoco-resources/sort.js
    +++ /dev/null
    @@ -1,148 +0,0 @@
    -/*******************************************************************************
    - * Copyright (c) 2009, 2022 Mountainminds GmbH & Co. KG and Contributors
    - * This program and the accompanying materials are made available under
    - * the terms of the Eclipse Public License 2.0 which is available at
    - * http://www.eclipse.org/legal/epl-2.0
    - *
    - * SPDX-License-Identifier: EPL-2.0
    - *
    - * Contributors:
    - *    Marc R. Hoffmann - initial API and implementation
    - *
    - *******************************************************************************/
    -
    -(function () {
    -
    -  /**
    -   * Sets the initial sorting derived from the hash.
    -   *
    -   * @param linkelementids
    -   *          list of element ids to search for links to add sort inidcator
    -   *          hash links
    -   */
    -  function initialSort(linkelementids) {
    -    window.linkelementids = linkelementids;
    -    var hash = window.location.hash;
    -    if (hash) {
    -      var m = hash.match(/up-./);
    -      if (m) {
    -        var header = window.document.getElementById(m[0].charAt(3));
    -        if (header) {
    -          sortColumn(header, true);
    -        }
    -        return;
    -      }
    -      var m = hash.match(/dn-./);
    -      if (m) {
    -        var header = window.document.getElementById(m[0].charAt(3));
    -        if (header) {
    -          sortColumn(header, false);
    -        }
    -        return
    -      }
    -    }
    -  }
    -
    -  /**
    -   * Sorts the columns with the given header dependening on the current sort state.
    -   */
    -  function toggleSort(header) {
    -    var sortup = header.className.indexOf('down ') == 0;
    -    sortColumn(header, sortup);
    -  }
    -
    -  /**
    -   * Sorts the columns with the given header in the given direction.
    -   */
    -  function sortColumn(header, sortup) {
    -    var table = header.parentNode.parentNode.parentNode;
    -    var body = table.tBodies[0];
    -    var colidx = getNodePosition(header);
    -
    -    resetSortedStyle(table);
    -
    -    var rows = body.rows;
    -    var sortedrows = [];
    -    for (var i = 0; i < rows.length; i++) {
    -      r = rows[i];
    -      sortedrows[parseInt(r.childNodes[colidx].id.slice(1))] = r;
    -    }
    -
    -    var hash;
    -
    -    if (sortup) {
    -      for (var i = sortedrows.length - 1; i >= 0; i--) {
    -        body.appendChild(sortedrows[i]);
    -      }
    -      header.className = 'up ' + header.className;
    -      hash = 'up-' + header.id;
    -    } else {
    -      for (var i = 0; i < sortedrows.length; i++) {
    -        body.appendChild(sortedrows[i]);
    -      }
    -      header.className = 'down ' + header.className;
    -      hash = 'dn-' + header.id;
    -    }
    -
    -    setHash(hash);
    -  }
    -
    -  /**
    -   * Adds the sort indicator as a hash to the document URL and all links.
    -   */
    -  function setHash(hash) {
    -    window.document.location.hash = hash;
    -    ids = window.linkelementids;
    -    for (var i = 0; i < ids.length; i++) {
    -        setHashOnAllLinks(document.getElementById(ids[i]), hash);
    -    }
    -  }
    -
    -  /**
    -   * Extend all links within the given tag with the given hash.
    -   */
    -  function setHashOnAllLinks(tag, hash) {
    -    links = tag.getElementsByTagName("a");
    -    for (var i = 0; i < links.length; i++) {
    -        var a = links[i];
    -        var href = a.href;
    -        var hashpos = href.indexOf("#");
    -        if (hashpos != -1) {
    -            href = href.substring(0, hashpos);
    -        }
    -        a.href = href + "#" + hash;
    -    }
    -  }
    -
    -  /**
    -   * Calculates the position of a element within its parent.
    -   */
    -  function getNodePosition(element) {
    -    var pos = -1;
    -    while (element) {
    -      element = element.previousSibling;
    -      pos++;
    -    }
    -    return pos;
    -  }
    -
    -  /**
    -   * Remove the sorting indicator style from all headers.
    -   */
    -  function resetSortedStyle(table) {
    -    for (var c = table.tHead.firstChild.firstChild; c; c = c.nextSibling) {
    -      if (c.className) {
    -        if (c.className.indexOf('down ') == 0) {
    -          c.className = c.className.slice(5);
    -        }
    -        if (c.className.indexOf('up ') == 0) {
    -          c.className = c.className.slice(3);
    -        }
    -      }
    -    }
    -  }
    -
    -  window['initialSort'] = initialSort;
    -  window['toggleSort'] = toggleSort;
    -
    -})();
    diff --git a/jacoco/jacocoHtml/jacoco-resources/source.gif b/jacoco/jacocoHtml/jacoco-resources/source.gif
    deleted file mode 100644
    index b226e41c5276581db33d71525298ef572cc5d7ce..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 354
    zcmZ?wbhEHb6krfwxXQrr`Rnf=KmWY@^y|~t-#>r-`SJ62+pK*(^ACOa@_X{KW3$$r
    zUbOlAiXE5N?74dH#gDtszu$lH{mGl3&)@xg`{~!`Z@=#VMPB~6_u~7*S3h2T`1$R}
    z?`Q9Re)#(P)3@JWfBgRb^LKTLe^s%6bxA;7sb4jaQ5?`-<<ng5TVLWgvEHM%)~l!1
    zYi_IS^d`3r{dQ}59F})EE$?<()ZzT#ME{lvwpTV~T-lU)Yj4ffO_~4y|7XAeia%Kx
    z85k@XbU-p7KQXY?ADC0%p(B)eLgkXi62W-^(!DQ#v2a~Gz-z9%&!+3h!38t#X02Ds
    zad;WPFvUVOY)YY2k84HG1kp%gVW!3wVI5ap$%?8ZHc4GqO=+PiQzvV>Y72H(vk7Xs
    us!1$fvP8{QU92ZrK%7tARasP&f6JDw8m_8J3W|I7DyXXX9C3DJum%7=h^`F)
    
    diff --git a/jacoco/jacocoHtml/jacoco-resources/up.gif b/jacoco/jacocoHtml/jacoco-resources/up.gif
    deleted file mode 100644
    index 58ed21660ec467736a4d2af17d91341f7cfb556c..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 67
    zcmZ?wbhEHb<YC}qSjfcSX{EDa!-oH0p!k!8k&A(eL5G2Xk%5PSlYxOrWJ=;nroA^G
    Ub$^Kz-Nct)ygK&ScM%3_0PmU?SpWb4
    
    diff --git a/jacoco/jacocoHtml/jacoco-sessions.html b/jacoco/jacocoHtml/jacoco-sessions.html
    deleted file mode 100644
    index 1b040052..00000000
    --- a/jacoco/jacocoHtml/jacoco-sessions.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="jacoco-resources/report.gif" type="image/gif"/><title>Sessions</title></head><body><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="jacoco-sessions.html" class="el_session">Sessions</a></span><a href="index.html" class="el_report">backend</a> &gt; <span class="el_session">Sessions</span></div><h1>Sessions</h1><p>This coverage report is based on execution data from the following sessions:</p><table class="coverage" cellspacing="0"><thead><tr><td>Session</td><td>Start Time</td><td>Dump Time</td></tr></thead><tbody><tr><td><span class="el_session">192.168.nate.com-bb3aee86</span></td><td>2024. 8. 20. 오후 3:37:34</td><td>2024. 8. 20. 오후 3:37:35</td></tr></tbody></table><p>Execution data for the following classes is considered in this report:</p><table class="coverage" cellspacing="0"><thead><tr><td>Class</td><td>Id</td></tr></thead><tbody><tr><td><span class="el_class">com.esotericsoftware.kryo.io.Input</span></td><td><code>82caa4ac8d2c9ad6</code></td></tr><tr><td><span class="el_class">com.esotericsoftware.kryo.io.Output</span></td><td><code>2e152e7951e62ecf</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.domain.DrawParticipationInfo</span></td><td><code>2f7522a1176e6343</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.domain.DrawParticipationInfo.DrawParticipationInfoBuilder</span></td><td><code>a198037a6f575d42</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.main.DrawMainFullAttendResponseDto</span></td><td><code>5c9b412866dc804d</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.main.DrawMainFullAttendResponseDto.DrawMainFullAttendResponseDtoBuilder</span></td><td><code>0497d1854ec6c326</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.main.DrawMainFullAttendResponseDto.DrawMainFullAttendResponseDtoBuilderImpl</span></td><td><code>2e7d9fe254887d73</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.main.DrawMainResponseDto</span></td><td><code>e57f49414d11ebfb</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.main.DrawMainResponseDto.DrawMainResponseDtoBuilder</span></td><td><code>09f060456f4172fd</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.main.DrawMainResponseDto.DrawMainResponseDtoBuilderImpl</span></td><td><code>37345d1746f193ab</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.modal.WinModal</span></td><td><code>a01d8303a8865ab3</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.modal.WinModal.WinModalBuilder</span></td><td><code>1a6963b760751eeb</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.participate.DrawLoseModalResponseDto</span></td><td><code>7a5eb561faa589a4</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.participate.DrawLoseModalResponseDto.DrawLoseModalResponseDtoBuilder</span></td><td><code>5d74f1fc2ef45fa7</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.participate.DrawLoseModalResponseDto.DrawLoseModalResponseDtoBuilderImpl</span></td><td><code>84cc03278dc14452</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.participate.DrawModalResponseDto</span></td><td><code>6047b37791ab65ea</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.participate.DrawModalResponseDto.DrawModalResponseDtoBuilder</span></td><td><code>c3962ef39da578ec</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.participate.DrawWinModalResponseDto</span></td><td><code>6bfbb033abb50778</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.participate.DrawWinModalResponseDto.DrawWinModalResponseDtoBuilder</span></td><td><code>5f2d70e3be129fde</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.participate.DrawWinModalResponseDto.DrawWinModalResponseDtoBuilderImpl</span></td><td><code>131f28ef10783c4b</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.result.DrawHistoryLoserResponseDto</span></td><td><code>3430a3c9da5951be</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.result.DrawHistoryLoserResponseDto.DrawHistoryLoserResponseDtoBuilder</span></td><td><code>ad9d3df2817e4569</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.result.DrawHistoryLoserResponseDto.DrawHistoryLoserResponseDtoBuilderImpl</span></td><td><code>7dfcd130fa9d73a5</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.result.DrawHistoryResponseDto</span></td><td><code>2743dea079f1a671</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.result.DrawHistoryResponseDto.DrawHistoryResponseDtoBuilder</span></td><td><code>21de0674438a3595</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.result.DrawHistoryWinnerResponseDto</span></td><td><code>b4123ef1399dce26</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.result.DrawHistoryWinnerResponseDto.DrawHistoryWinnerResponseDtoBuilder</span></td><td><code>09887a2c24ffe6c7</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.result.DrawHistoryWinnerResponseDto.DrawHistoryWinnerResponseDtoBuilderImpl</span></td><td><code>88fbd0ad48ca50f4</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.repository.DrawParticipationInfoRepository.MockitoMock.idCetuk9</span></td><td><code>64b6eb41fc47e799</code></td></tr><tr><td><a href="com.softeer.backend.fo_domain.draw.service/DrawService.html" class="el_class">com.softeer.backend.fo_domain.draw.service.DrawService</a></td><td><code>5955d6e56d8c2266</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.service.DrawServiceTest</span></td><td><code>9834fa8beee5feeb</code></td></tr><tr><td><a href="com.softeer.backend.fo_domain.share.domain/ShareInfo.html" class="el_class">com.softeer.backend.fo_domain.share.domain.ShareInfo</a></td><td><code>719e11d9b36a4460</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.share.domain.ShareInfo.ShareInfoBuilder</span></td><td><code>c12b2da32dbf2907</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.share.repository.ShareInfoRepository.MockitoMock.NtCPzznW</span></td><td><code>88af071ced4f1c14</code></td></tr><tr><td><span class="el_class">net.bytebuddy.ByteBuddy</span></td><td><code>d4e5f2084d659ff9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.ClassFileVersion</span></td><td><code>312924d88702471f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.ClassFileVersion.VersionLocator.Resolved</span></td><td><code>9ac78bd064c76f8d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.ClassFileVersion.VersionLocator.Resolver</span></td><td><code>8e3a1b13b270b126</code></td></tr><tr><td><span class="el_class">net.bytebuddy.NamingStrategy.AbstractBase</span></td><td><code>77e9d686c976f6e6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.NamingStrategy.Suffixing</span></td><td><code>65bfa03c85847dc9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.NamingStrategy.Suffixing.BaseNameResolver.ForUnnamedType</span></td><td><code>1fb9c5c929a4a173</code></td></tr><tr><td><span class="el_class">net.bytebuddy.NamingStrategy.SuffixingRandom</span></td><td><code>cdbdedcf0cea0a02</code></td></tr><tr><td><span class="el_class">net.bytebuddy.TypeCache</span></td><td><code>aced8dc0367a5d96</code></td></tr><tr><td><span class="el_class">net.bytebuddy.TypeCache.LookupKey</span></td><td><code>b75da15a4577d948</code></td></tr><tr><td><span class="el_class">net.bytebuddy.TypeCache.SimpleKey</span></td><td><code>99731a44c3f39c30</code></td></tr><tr><td><span class="el_class">net.bytebuddy.TypeCache.Sort</span></td><td><code>3f135d4f310abf3c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.TypeCache.Sort.1</span></td><td><code>3be4336e35a8cbfd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.TypeCache.Sort.2</span></td><td><code>5a2bb9e71930a24a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.TypeCache.Sort.3</span></td><td><code>5792db85826ac4ba</code></td></tr><tr><td><span class="el_class">net.bytebuddy.TypeCache.StorageKey</span></td><td><code>da984e48de27d4a8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.TypeCache.WithInlineExpunction</span></td><td><code>6677b9b25e623b8e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent</span></td><td><code>ad71a9981ce31835</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.AgentProvider.ForByteBuddyAgent</span></td><td><code>d96d83c378e4b7c7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.AttachmentProvider</span></td><td><code>558b162ec3514d70</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.AttachmentProvider.Accessor.ExternalAttachment</span></td><td><code>bc4dc1ecf926b7aa</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.AttachmentProvider.Accessor.Simple</span></td><td><code>fe449611bc5d402e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.AttachmentProvider.Accessor.Simple.WithExternalAttachment</span></td><td><code>8ab7d03279c5ecf1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.AttachmentProvider.Compound</span></td><td><code>8b67942538e8ebd3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.AttachmentProvider.ForEmulatedAttachment</span></td><td><code>92a70a9938510bd5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.AttachmentProvider.ForJ9Vm</span></td><td><code>efd931cc867f3dab</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.AttachmentProvider.ForModularizedVm</span></td><td><code>55ea154b91646a94</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.AttachmentProvider.ForStandardToolsJarVm</span></td><td><code>ce5818e184069ce4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.AttachmentProvider.ForUserDefinedToolsJar</span></td><td><code>fb47100058e0a73b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.AttachmentTypeEvaluator.ForJava9CapableVm</span></td><td><code>31af3eb996b54a27</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.AttachmentTypeEvaluator.InstallationAction</span></td><td><code>afbcafb17aff1452</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.ProcessProvider.ForCurrentVm</span></td><td><code>a469226be5030f2e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.ProcessProvider.ForCurrentVm.ForJava9CapableVm</span></td><td><code>09404c6c75e98c1b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.Installer</span></td><td><code>ba923adaa06c53f6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice</span></td><td><code>b0fe0e71ff93f6a2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.AdviceVisitor</span></td><td><code>6c52713bd97aebdf</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.AdviceVisitor.WithExitAdvice</span></td><td><code>6bcdd2ea66d30c7b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.AdviceVisitor.WithExitAdvice.WithoutExceptionHandling</span></td><td><code>3a922059b9efa307</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.ArgumentHandler.Factory</span></td><td><code>8f558df144a79fa3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.ArgumentHandler.Factory.1</span></td><td><code>b8c59524d3c1608c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.ArgumentHandler.Factory.2</span></td><td><code>d7e18c5e34e45431</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.ArgumentHandler.ForAdvice.Default</span></td><td><code>2654b7be38550369</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.ArgumentHandler.ForAdvice.Default.ForMethodEnter</span></td><td><code>23d924c1a642e5ac</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.ArgumentHandler.ForAdvice.Default.ForMethodExit</span></td><td><code>009324e69dfb7bee</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.ArgumentHandler.ForInstrumentedMethod.Default</span></td><td><code>c4b2699457e6f507</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.ArgumentHandler.ForInstrumentedMethod.Default.Copying</span></td><td><code>f1f7ecd140ebfad8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Delegator.ForRegularInvocation.Factory</span></td><td><code>e7dcdbb5632c4506</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher</span></td><td><code>8c02dfd8d10c42cf</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.Inactive</span></td><td><code>3af781df5fc5d561</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.Inlining</span></td><td><code>e20e8dd106f2f99f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.Inlining.CodeTranslationVisitor</span></td><td><code>da8495a6f5b0618f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.Inlining.Resolved</span></td><td><code>51bdb329d6523d2a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.Inlining.Resolved.AdviceMethodInliner</span></td><td><code>f2f0958e8ece3557</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.Inlining.Resolved.AdviceMethodInliner.ExceptionTableCollector</span></td><td><code>bb7fcec382de281f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.Inlining.Resolved.AdviceMethodInliner.ExceptionTableExtractor</span></td><td><code>b52eebb59cb3741b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.Inlining.Resolved.AdviceMethodInliner.ExceptionTableSubstitutor</span></td><td><code>d3779cedd1dab2c3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.Inlining.Resolved.ForMethodEnter</span></td><td><code>78e0d8685ef1ad78</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.Inlining.Resolved.ForMethodEnter.WithRetainedEnterType</span></td><td><code>2425d09ef91b43a5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.Inlining.Resolved.ForMethodExit</span></td><td><code>23e144b8483497f2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.Inlining.Resolved.ForMethodExit.WithoutExceptionHandler</span></td><td><code>b6f105d99e448647</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.Disabled</span></td><td><code>b48ef93464355186</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForType</span></td><td><code>48fb914baef18f09</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForValue</span></td><td><code>6ad96dd8e24a5fa3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForValue.1</span></td><td><code>d283ee8efcc21527</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForValue.2</span></td><td><code>d999fb1d1c4d10f3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForValue.3</span></td><td><code>a699658f52dd8c14</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForValue.4</span></td><td><code>76dfa51cd1b559c5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForValue.5</span></td><td><code>927826306c7c3f9c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForValue.6</span></td><td><code>bb01690954d53c4c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForValue.7</span></td><td><code>a82b12d0db3c3ffa</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForValue.8</span></td><td><code>791f94716069d428</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForValue.9</span></td><td><code>b0dd23a0fc8a3914</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForValue.Bound</span></td><td><code>de2631f1bc7af48b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForValue.OfNonDefault</span></td><td><code>191c3f826cae1fe8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.Relocation.ForLabel</span></td><td><code>0a196b169de105b2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.Resolved.AbstractBase</span></td><td><code>e26d32a2dfd4e517</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.SuppressionHandler.NoOp</span></td><td><code>83e82e51ac39da5c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.SuppressionHandler.Suppressing</span></td><td><code>97f0d2d1abc8a41a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.ExceptionHandler.Default</span></td><td><code>95aa59b2ac6c5532</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.ExceptionHandler.Default.1</span></td><td><code>6c847fdbf8e9412f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.ExceptionHandler.Default.2</span></td><td><code>460a77dcbeb82603</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.ExceptionHandler.Default.3</span></td><td><code>d05e63aa5c5677f9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.MethodSizeHandler.Default</span></td><td><code>39955d981daffba8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.MethodSizeHandler.Default.ForAdvice</span></td><td><code>96016eaf0b89ffa0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.MethodSizeHandler.Default.WithCopiedArguments</span></td><td><code>6316ae6b42ae182c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.NoExceptionHandler</span></td><td><code>c716788084c49961</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.Factory.AdviceType</span></td><td><code>222344ae47fda22a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.Factory.Illegal</span></td><td><code>b824ec4854bde89c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForAllArguments</span></td><td><code>1473b7bf9fc4e1b5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForAllArguments.Factory</span></td><td><code>98148d6454b592af</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForArgument</span></td><td><code>bf5687f0da9f282c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForArgument.Unresolved</span></td><td><code>70d54b6bc8b1a165</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForArgument.Unresolved.Factory</span></td><td><code>c81d13dcb77ae44a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForEnterValue</span></td><td><code>5f66c9717dc9cd52</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForEnterValue.Factory</span></td><td><code>00d9225ad08c457a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForExitValue.Factory</span></td><td><code>4cceb48fab57271e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForField.Unresolved.Factory</span></td><td><code>0ea3c196b6e38c75</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForFieldHandle.Unresolved.ReaderFactory</span></td><td><code>34b038446b31ef68</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForFieldHandle.Unresolved.WriterFactory</span></td><td><code>0932f02483480c5e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForInstrumentedMethod</span></td><td><code>65354e871d8adbde</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForInstrumentedMethod.1</span></td><td><code>4a0705f218dbb9fc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForInstrumentedMethod.2</span></td><td><code>d19b1cccf33a5a8f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForInstrumentedMethod.3</span></td><td><code>8de7b4c791e41ff3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForInstrumentedMethod.4</span></td><td><code>7ef55ab4ec291ec2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForInstrumentedMethod.5</span></td><td><code>a42feaf4b03f011c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForInstrumentedType</span></td><td><code>c6ccb02973e68c83</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForLocalValue.Factory</span></td><td><code>0d73abcfe4f6cd84</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForOrigin.Factory</span></td><td><code>ba9fe45627be64ec</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForReturnValue</span></td><td><code>037de4c0de22ee60</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForReturnValue.Factory</span></td><td><code>8c33b59194419c40</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForSelfCallHandle.Factory</span></td><td><code>2e0b5be7f8d227d2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForStackManipulation</span></td><td><code>893f7d56b99ed2f9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForStackManipulation.Factory</span></td><td><code>ff46cb5a042d7392</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForStubValue</span></td><td><code>0d0dac7cedadacd4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForThisReference</span></td><td><code>4a18584d2e6f227a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForThisReference.Factory</span></td><td><code>4fd20920981119f6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForThrowable.Factory</span></td><td><code>66521af76037a434</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForUnusedValue.Factory</span></td><td><code>9f8c6b55fbfa959d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.Sort</span></td><td><code>07c4c74b6c947d77</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.Sort.1</span></td><td><code>8762020e5a551f03</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.Sort.2</span></td><td><code>0132b220a0ddeced</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.Target.ForArray</span></td><td><code>ad5edf15a11747f0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.Target.ForArray.ReadOnly</span></td><td><code>f1af9ec13976a523</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.Target.ForDefaultValue</span></td><td><code>12ba553207b3fbc6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.Target.ForDefaultValue.ReadWrite</span></td><td><code>2fa4d41d2b076afc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.Target.ForStackManipulation</span></td><td><code>f4fee7d60b5ebfea</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.Target.ForVariable</span></td><td><code>c78affc57d49d65f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.Target.ForVariable.ReadOnly</span></td><td><code>6337d04d57e8e4d5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.Target.ForVariable.ReadWrite</span></td><td><code>ed4dd37175d86fc9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.PostProcessor.NoOp</span></td><td><code>1734734198eaa842</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.StackMapFrameHandler.Default</span></td><td><code>a2cdb1250c1f8c77</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.StackMapFrameHandler.Default.ForAdvice</span></td><td><code>8054e1db604d40e7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.StackMapFrameHandler.Default.Initialization</span></td><td><code>58f9436b88573fcc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.StackMapFrameHandler.Default.Initialization.1</span></td><td><code>b3b933a2a8bb0347</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.StackMapFrameHandler.Default.Initialization.2</span></td><td><code>b24e2d2b2973973c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.StackMapFrameHandler.Default.TranslationMode</span></td><td><code>391e320601da554c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.StackMapFrameHandler.Default.TranslationMode.1</span></td><td><code>5d217eb3f927f488</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.StackMapFrameHandler.Default.TranslationMode.2</span></td><td><code>fa5d135a66e1fa58</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.StackMapFrameHandler.Default.TranslationMode.3</span></td><td><code>2dce5e71b7838990</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.StackMapFrameHandler.Default.WithPreservedArguments</span></td><td><code>903f1e2f6280986b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.StackMapFrameHandler.Default.WithPreservedArguments.WithArgumentCopy</span></td><td><code>c0a8da66d215f7da</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.WithCustomMapping</span></td><td><code>78848064739adad4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.AsmVisitorWrapper.AbstractBase</span></td><td><code>3cd03b050731d22c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.AsmVisitorWrapper.Compound</span></td><td><code>7b1e520e5f4262e6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.AsmVisitorWrapper.ForDeclaredMethods</span></td><td><code>573191880a5a4e0d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.AsmVisitorWrapper.ForDeclaredMethods.DispatchingVisitor</span></td><td><code>ac51d486f8ec0e4b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.AsmVisitorWrapper.ForDeclaredMethods.Entry</span></td><td><code>28eb46b4467366d6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.AsmVisitorWrapper.NoOp</span></td><td><code>a613c160b15bbc65</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.MemberRemoval</span></td><td><code>005cb62907cc0df7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.MemberRemoval.MemberRemovingClassVisitor</span></td><td><code>fe382217ff7273dc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.ByteCodeElement.Token.TokenList</span></td><td><code>5956eb03e0839596</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.ModifierReviewable.AbstractBase</span></td><td><code>0b625f401d945e23</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.NamedElement.WithDescriptor</span></td><td><code>69f25e85d31086f5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.TypeVariableSource.AbstractBase</span></td><td><code>4471bc67a44c1ef1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationDescription</span></td><td><code>7e080fcc4ab41eb1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationDescription.AbstractBase</span></td><td><code>55a8b2f7b58a15aa</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationDescription.ForLoadedAnnotation</span></td><td><code>a2b247526c4d26ca</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationList.AbstractBase</span></td><td><code>8e489ae727355271</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationList.Empty</span></td><td><code>7f4960ffee633b85</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationList.Explicit</span></td><td><code>f438077a66a539b8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationList.ForLoadedAnnotations</span></td><td><code>443952df3e869f3e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue</span></td><td><code>e46e60f3e4357d8a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.AbstractBase</span></td><td><code>6b46c288929d794a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant</span></td><td><code>650f7b88da7502df</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForArrayType</span></td><td><code>9124b7f697a6f4a6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForArrayType.1</span></td><td><code>3e2be7538b8965b3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForArrayType.2</span></td><td><code>f54ef75705e3ce59</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForArrayType.3</span></td><td><code>37ebfc80c418ddec</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForArrayType.4</span></td><td><code>fbf5bd783149eab3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForArrayType.5</span></td><td><code>893433ef70df56ad</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForArrayType.6</span></td><td><code>3ad4bb1a0eb14611</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForArrayType.7</span></td><td><code>09ec057a92378b89</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForArrayType.8</span></td><td><code>e8575505930d9ea2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForArrayType.9</span></td><td><code>f6b42b3550f2d376</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType</span></td><td><code>8683233734d98d81</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType.1</span></td><td><code>ecf694f5c718a013</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType.2</span></td><td><code>113fe247f14fdcdd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType.3</span></td><td><code>ad40ce4c8d647d57</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType.4</span></td><td><code>649136274570c878</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType.5</span></td><td><code>25519a3723562b18</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType.6</span></td><td><code>d0a4ee1eb78e8925</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType.7</span></td><td><code>5cc6d38c7688ce9e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType.8</span></td><td><code>542fa217a5fe4c51</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType.9</span></td><td><code>9adc51229ebb26c9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForDescriptionArray</span></td><td><code>198e8cb892ebb0c6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForEnumerationDescription</span></td><td><code>451401174e8ca82f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForEnumerationDescription.Loaded</span></td><td><code>fda0610025cc12ff</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForTypeDescription</span></td><td><code>256f9475d7baab5e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.Loaded.AbstractBase</span></td><td><code>1a834bbf25c86ab4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.State</span></td><td><code>db0e0a0878d7e335</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.enumeration.EnumerationDescription.AbstractBase</span></td><td><code>36efae2fe3237ba9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.enumeration.EnumerationDescription.ForLoadedEnumeration</span></td><td><code>5b47cbeca30adac0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldDescription</span></td><td><code>53da8eaebbfbddbb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldDescription.AbstractBase</span></td><td><code>a20f5231a76bb980</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldDescription.ForLoadedField</span></td><td><code>31b51b7792efcc8a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldDescription.InDefinedShape.AbstractBase</span></td><td><code>7b3d946febaf5d33</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldDescription.Latent</span></td><td><code>b47200ad7e88dffb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldDescription.SignatureToken</span></td><td><code>3e1967b3504d4f43</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldDescription.Token</span></td><td><code>966f799bfb7c0668</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldList.AbstractBase</span></td><td><code>78739d279005d8a4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldList.Explicit</span></td><td><code>323b76a02a64f9a7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldList.ForLoadedFields</span></td><td><code>fc8cc870e5f42b89</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldList.ForTokens</span></td><td><code>ea98dba6ef4eb758</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription</span></td><td><code>4242f9f3ec05d9d8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.AbstractBase</span></td><td><code>d7265e748488ffc7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.ForLoadedConstructor</span></td><td><code>c634ab9c8e587e89</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.ForLoadedMethod</span></td><td><code>483c8f6d97caf847</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.InDefinedShape.AbstractBase</span></td><td><code>b33d93bb8cbd26c6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.InDefinedShape.AbstractBase.ForLoadedExecutable</span></td><td><code>2c34e3cd1c4620d7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.Latent</span></td><td><code>eba047d0ce33d6c2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.Latent.TypeInitializer</span></td><td><code>c77dbea1c1a57995</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.SignatureToken</span></td><td><code>806effdacef53f94</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.Token</span></td><td><code>d7a148a88bb734b4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.TypeSubstituting</span></td><td><code>78d976a6f400ec70</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.TypeToken</span></td><td><code>ef258f0fca0278e0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodList.AbstractBase</span></td><td><code>b054427f9b6a48f1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodList.Explicit</span></td><td><code>b03ab4c21a93dfd0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodList.ForLoadedMethods</span></td><td><code>38bd1bf17eb05676</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodList.ForTokens</span></td><td><code>40aa960dc7616ac5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodList.TypeSubstituting</span></td><td><code>f1f510557a04392e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterDescription.AbstractBase</span></td><td><code>244fa52c57557e62</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterDescription.ForLoadedParameter</span></td><td><code>b764f219b6fb497f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterDescription.ForLoadedParameter.OfConstructor</span></td><td><code>82a00db077e8417d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterDescription.ForLoadedParameter.OfMethod</span></td><td><code>8bd70a245946537e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterDescription.InDefinedShape.AbstractBase</span></td><td><code>717f5d8d90c005f1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterDescription.Latent</span></td><td><code>eb41c7e5a8c26f4d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterDescription.Token</span></td><td><code>6f6ff151883ddc85</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterDescription.Token.TypeList</span></td><td><code>0a24417518716030</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterDescription.TypeSubstituting</span></td><td><code>fbb01b7a5d680315</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterList.AbstractBase</span></td><td><code>6fe6f7a3a2c191ea</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterList.Empty</span></td><td><code>8f4a45d2f54ed28b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterList.Explicit.ForTypes</span></td><td><code>75d84e0b4fcd99a9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterList.ForLoadedExecutable</span></td><td><code>1456c072c3be7105</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterList.ForLoadedExecutable.OfConstructor</span></td><td><code>6d7eaa8911075319</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterList.ForLoadedExecutable.OfMethod</span></td><td><code>f0835708e2d15fb4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterList.ForTokens</span></td><td><code>b77d0ee711552f0c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterList.TypeSubstituting</span></td><td><code>293f1f350b97c439</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.modifier.FieldManifestation</span></td><td><code>61ed9ad5f460d425</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.modifier.ModifierContributor.Resolver</span></td><td><code>4c37457cc5fe415c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.modifier.Ownership</span></td><td><code>03978521bbedeaac</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.modifier.SynchronizationState</span></td><td><code>1ee1e76d573ad75b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.modifier.SyntheticState</span></td><td><code>0ea0b3d14a159257</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.modifier.TypeManifestation</span></td><td><code>823497b74af56cf0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.modifier.Visibility</span></td><td><code>eddec8671a9488f2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.modifier.Visibility.1</span></td><td><code>d7e383ada6123e01</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.PackageDescription.AbstractBase</span></td><td><code>fbc5f3918eb9463b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.PackageDescription.ForLoadedPackage</span></td><td><code>647cf445f49b7cf5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.PackageDescription.Simple</span></td><td><code>0cb49b8e5cdceb1d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.RecordComponentList.AbstractBase</span></td><td><code>fa2d664156de0c87</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.RecordComponentList.Empty</span></td><td><code>facb71157fa46ed2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.RecordComponentList.ForTokens</span></td><td><code>b72447d1fcbe18bd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDefinition.Sort</span></td><td><code>e252ac8a021f4082</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDefinition.SuperClassIterator</span></td><td><code>dcc41092c6176f54</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription</span></td><td><code>36fd0fa20ad52135</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.AbstractBase</span></td><td><code>5a025e6b487dc4d4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.AbstractBase.OfSimpleType</span></td><td><code>b303484d47559945</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.ArrayProjection</span></td><td><code>b2eaa11a9cb2dfdf</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.ForLoadedType</span></td><td><code>eaba95dbe7ff20e3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic</span></td><td><code>5601518ac3dba89e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AbstractBase</span></td><td><code>8945db84e33ef474</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator</span></td><td><code>3667bf74596341be</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator.Chained</span></td><td><code>2ffd4f682b50b7a3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator.ForLoadedExecutableExceptionType</span></td><td><code>23c446e41b00e3d9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator.ForLoadedExecutableParameterType</span></td><td><code>e193c6fbd692e84b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator.ForLoadedField</span></td><td><code>e78b70f23aa515c7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator.ForLoadedInterface</span></td><td><code>ff7d6be363126897</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator.ForLoadedMethodReturnType</span></td><td><code>6a49119e2f4e7230</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator.ForLoadedSuperClass</span></td><td><code>e75747426d68d747</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator.ForLoadedTypeVariable</span></td><td><code>6a8729e15b6adbf3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator.Simple</span></td><td><code>033590c3703b359c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.ForComponentType</span></td><td><code>1fa21fa04ad679a2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.ForOwnerType</span></td><td><code>cd6561b27e9a72b9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.ForTypeArgument</span></td><td><code>1a24787ee7d1fdc5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.ForTypeVariableBoundType</span></td><td><code>a53f175bb28a13d3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.ForTypeVariableBoundType.OfFormalTypeVariable</span></td><td><code>e84aca4ed9c79b18</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.ForWildcardUpperBoundType</span></td><td><code>7a16218b4894f05c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.NoOp</span></td><td><code>4b1711dc36edca14</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection</span></td><td><code>b83a2a6843ec6916</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.ForLoadedFieldType</span></td><td><code>1f7db8763aa7d013</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.ForLoadedReturnType</span></td><td><code>a44a81d315df37f4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.ForLoadedSuperClass</span></td><td><code>7f84f737a5aabc33</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.OfConstructorParameter</span></td><td><code>11fdd224cb82bcc7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.OfMethodParameter</span></td><td><code>bdf150371e5d9a88</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.WithEagerNavigation</span></td><td><code>51829bfdd36917df</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.WithEagerNavigation.OfAnnotatedElement</span></td><td><code>3a1283c2ece97dc2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.WithLazyNavigation</span></td><td><code>7b9fc51e9dea8fed</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.WithLazyNavigation.OfAnnotatedElement</span></td><td><code>11fd85e81e92a190</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.WithResolvedErasure</span></td><td><code>73e71223628a86da</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProxy</span></td><td><code>4b75a549e2d82324</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfGenericArray</span></td><td><code>b8f177aeb4e618c7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfGenericArray.ForLoadedType</span></td><td><code>87fa142a0a041b9b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfGenericArray.Latent</span></td><td><code>d3ee0097f5390e1c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfNonGenericType</span></td><td><code>66e33f9250f83f5f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfNonGenericType.ForErasure</span></td><td><code>71abd4e32c5684d2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfNonGenericType.ForLoadedType</span></td><td><code>8f8a4651bfc2f94f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfNonGenericType.Latent</span></td><td><code>dcd275cbd2ef3e3c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfParameterizedType</span></td><td><code>f2bed5aa1c761680</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfParameterizedType.ForGenerifiedErasure</span></td><td><code>767a5f3f34700710</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfParameterizedType.ForLoadedType</span></td><td><code>41d8107b8c1daaa8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfParameterizedType.ForLoadedType.ParameterArgumentTypeList</span></td><td><code>267045e8fde43f71</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfParameterizedType.Latent</span></td><td><code>8e35c02988d3f1af</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfTypeVariable</span></td><td><code>ddbefd09e03fd1b0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfTypeVariable.ForLoadedType</span></td><td><code>d5143b55d1bedb1e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfTypeVariable.ForLoadedType.TypeVariableBoundList</span></td><td><code>8261a702dcf6b622</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfTypeVariable.Symbolic</span></td><td><code>b027db9e179ee652</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfTypeVariable.WithAnnotationOverlay</span></td><td><code>cbd83eec8d2e8489</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfWildcardType</span></td><td><code>2bc3088df35c8422</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfWildcardType.ForLoadedType</span></td><td><code>4f61b7ff9f8e931f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfWildcardType.ForLoadedType.WildcardLowerBoundTypeList</span></td><td><code>63922206431afb9f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfWildcardType.ForLoadedType.WildcardUpperBoundTypeList</span></td><td><code>0554a12f18e220b5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfWildcardType.Latent</span></td><td><code>6a424c1b0863ca5b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.ForRawType</span></td><td><code>ef813417b8dd5115</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.ForSignatureVisitor</span></td><td><code>7c9ee6e3c386d02f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.ForSignatureVisitor.OfTypeArgument</span></td><td><code>d8e6035b10ed1222</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Reducing</span></td><td><code>7e9f92325793d797</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Reifying</span></td><td><code>f695f950ef96d452</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Reifying.1</span></td><td><code>3887b35198c64c3f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Reifying.2</span></td><td><code>dda2c47b308dfe77</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Substitutor</span></td><td><code>1643b68abc9226b5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Substitutor.ForAttachment</span></td><td><code>90652ad844af97e8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Substitutor.ForDetachment</span></td><td><code>314960996c0e9fe4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Substitutor.ForTypeVariableBinding</span></td><td><code>1aa87951e5899f01</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Substitutor.ForTypeVariableBinding.RetainedMethodTypeVariable</span></td><td><code>13a8e6bcf229981a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Substitutor.ForTypeVariableBinding.TypeVariableSubstitutor</span></td><td><code>6e5bae1e7e888fd4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Substitutor.WithoutTypeSubstitution</span></td><td><code>10dc462a02d28569</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.TypeErasing</span></td><td><code>7c319b6cec9530e2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Validator</span></td><td><code>13ff0a7ec71a9596</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Validator.1</span></td><td><code>3122adbd7aaaeca9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Validator.2</span></td><td><code>36d36c5061f2243e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Validator.3</span></td><td><code>ca3595549a574d77</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Validator.ForTypeAnnotations</span></td><td><code>f22bf42b89621378</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.LazyProxy</span></td><td><code>1060349463062059</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList</span></td><td><code>da60a7cfb717d0a8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.AbstractBase</span></td><td><code>4700315364477234</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Empty</span></td><td><code>59d00ad7b53c811a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Explicit</span></td><td><code>81495dfc3a359dfe</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.ForLoadedTypes</span></td><td><code>4356a7471aec6f20</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.AbstractBase</span></td><td><code>5376e1d2298a6512</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.Empty</span></td><td><code>df9431d33e66dbb4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.Explicit</span></td><td><code>1ab8c93e54ee2ac6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.ForDetachedTypes</span></td><td><code>1b6544725fdb45a6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.ForDetachedTypes.OfTypeVariables</span></td><td><code>05b85732c40f12b7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.ForDetachedTypes.OfTypeVariables.AttachedTypeVariable</span></td><td><code>8133514c5d90955c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.ForDetachedTypes.WithResolvedErasure</span></td><td><code>3ae7efc80de7c3db</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.ForLoadedTypes</span></td><td><code>c603bfa8790b860c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.ForLoadedTypes.OfTypeVariables</span></td><td><code>d713fc161a8b3c83</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.OfConstructorExceptionTypes</span></td><td><code>41a985dd07ed867c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.OfLoadedInterfaceTypes</span></td><td><code>99d4f3faf0ed1337</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.OfLoadedInterfaceTypes.TypeProjection</span></td><td><code>7f6f3c7654719119</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.OfMethodExceptionTypes</span></td><td><code>74966b175ac75ab9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.OfMethodExceptionTypes.TypeProjection</span></td><td><code>2d651d381fd3d0a8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeVariableToken</span></td><td><code>0b904605bce2d673</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.ClassFileLocator.ForClassLoader</span></td><td><code>bc2296cfb91301b0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.ClassFileLocator.ForClassLoader.BootLoaderProxyCreationAction</span></td><td><code>bef49ddd37f152e7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.ClassFileLocator.Resolution.Explicit</span></td><td><code>a44d2b3d4cf22e0e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.ClassFileLocator.Simple</span></td><td><code>5ec3e1fe094d9677</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase</span></td><td><code>8b697109899c9f1c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase.Adapter</span></td><td><code>c239cebb09dc521b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase.Adapter.FieldDefinitionAdapter</span></td><td><code>95f089373e121f7c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase.Adapter.MethodDefinitionAdapter</span></td><td><code>2e966526edcb873d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase.Adapter.MethodDefinitionAdapter.AnnotationAdapter</span></td><td><code>8158ace8dc815026</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase.Adapter.MethodDefinitionAdapter.SimpleParameterAnnotationAdapter</span></td><td><code>47371bc63761204d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase.Adapter.MethodMatchAdapter</span></td><td><code>3d734adb6ddc1b18</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase.Adapter.MethodMatchAdapter.AnnotationAdapter</span></td><td><code>870c4a748d272702</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase.Adapter.OptionalMethodMatchAdapter</span></td><td><code>8ae5d509775196fa</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase.Delegator</span></td><td><code>3f1fabfaec45a27c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase.UsingTypeWriter</span></td><td><code>3ca14d92cfc3bc3b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.FieldDefinition.Optional.AbstractBase</span></td><td><code>7ff3ef3d7a52aeda</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.FieldDefinition.Optional.Valuable.AbstractBase</span></td><td><code>6f4cbe7b3cf65d41</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.FieldDefinition.Optional.Valuable.AbstractBase.Adapter</span></td><td><code>f6c60e62d9344f54</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.AbstractBase</span></td><td><code>3bf64c5f90a05b38</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.AbstractBase.Adapter</span></td><td><code>e1416bad6f01b268</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.ExceptionDefinition.AbstractBase</span></td><td><code>6a660545adbbedde</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.ImplementationDefinition.AbstractBase</span></td><td><code>8233c005598191ed</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.ParameterDefinition.AbstractBase</span></td><td><code>af2910a38e7ac02e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.ParameterDefinition.Initial.AbstractBase</span></td><td><code>d24c948296af6d68</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.ParameterDefinition.Simple.AbstractBase</span></td><td><code>9b31315749acebaf</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.ParameterDefinition.Simple.Annotatable.AbstractBase</span></td><td><code>6c42f489e12f3841</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.ParameterDefinition.Simple.Annotatable.AbstractBase.Adapter</span></td><td><code>18ee5a7716255e41</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.ReceiverTypeDefinition.AbstractBase</span></td><td><code>2531fe5794acf41f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.TypeVariableDefinition.AbstractBase</span></td><td><code>433828b210243d94</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Default</span></td><td><code>0f62ddd57860b9e1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Default.Loaded</span></td><td><code>973a422e6432796e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Default.Unloaded</span></td><td><code>cd577d53be4c22d5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.TargetType</span></td><td><code>26c139b5f2f58862</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.Transformer.Compound</span></td><td><code>a5a52522b43091ef</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.Transformer.ForMethod</span></td><td><code>22ab387d59f6c970</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.Transformer.ForMethod.MethodModifierTransformer</span></td><td><code>829c18ff395159ba</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.Transformer.ForMethod.TransformedMethod</span></td><td><code>083bfd5734c4504d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.Transformer.ForMethod.TransformedMethod.AttachmentVisitor</span></td><td><code>43014c50e1310fbf</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.Transformer.ForMethod.TransformedMethod.TransformedParameter</span></td><td><code>84642c4a6f0d1bdc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.Transformer.ForMethod.TransformedMethod.TransformedParameterList</span></td><td><code>54d561afbee57f99</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.Transformer.NoOp</span></td><td><code>49cd89a2b3b975a3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.TypeResolutionStrategy.Passive</span></td><td><code>d5784ee7fb36ce53</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.VisibilityBridgeStrategy.Default</span></td><td><code>ae8d9f7fd85c6aad</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.VisibilityBridgeStrategy.Default.1</span></td><td><code>63c0d42260c7599e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.VisibilityBridgeStrategy.Default.2</span></td><td><code>a8389e9d32c4ecd7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.VisibilityBridgeStrategy.Default.3</span></td><td><code>30f7afc5a8be245c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ByteArrayClassLoader</span></td><td><code>d00c8733dea299dd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ByteArrayClassLoader.ClassDefinitionAction</span></td><td><code>25513de2d7f3a1cc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ByteArrayClassLoader.PackageLookupStrategy.CreationAction</span></td><td><code>5ab9077977a569a3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ByteArrayClassLoader.PackageLookupStrategy.ForJava9CapableVm</span></td><td><code>f72740caac2e4fba</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ByteArrayClassLoader.PersistenceHandler</span></td><td><code>6d61f61ae555258a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ByteArrayClassLoader.PersistenceHandler.1</span></td><td><code>680488d6e62d40d1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ByteArrayClassLoader.PersistenceHandler.2</span></td><td><code>6bf6915f86de0792</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ByteArrayClassLoader.SynchronizationStrategy.CreationAction</span></td><td><code>49781f9101d11acc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ByteArrayClassLoader.SynchronizationStrategy.ForJava8CapableVm</span></td><td><code>ccca5f228cf2a595</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassFilePostProcessor.NoOp</span></td><td><code>3c8088887326744a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassInjector.AbstractBase</span></td><td><code>331215a38873f162</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassInjector.UsingReflection</span></td><td><code>9b4c6d016e86d89d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassInjector.UsingReflection.Dispatcher.CreationAction</span></td><td><code>e95efd9bc7c2fbec</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassInjector.UsingReflection.Dispatcher.UsingUnsafeInjection</span></td><td><code>ee369f8a9915cac0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassInjector.UsingUnsafe</span></td><td><code>6f205111f44e745f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassInjector.UsingUnsafe.Dispatcher.CreationAction</span></td><td><code>acadd9b7008a78d6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassInjector.UsingUnsafe.Dispatcher.Enabled</span></td><td><code>a365360113d70680</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassLoadingStrategy</span></td><td><code>17fb081ccc92f99c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassLoadingStrategy.Default</span></td><td><code>7390ec8634515594</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassLoadingStrategy.Default.InjectionDispatcher</span></td><td><code>759cb7a298fc98b7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassLoadingStrategy.Default.WrappingDispatcher</span></td><td><code>88c49bdd78533ba6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassLoadingStrategy.ForUnsafeInjection</span></td><td><code>fae0995eb7740944</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.InjectionClassLoader</span></td><td><code>cbd809288c0dad36</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.MultipleParentClassLoader.Builder</span></td><td><code>c6fb9f2d63f216f9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.PackageDefinitionStrategy.Definition.Trivial</span></td><td><code>b136ce1c9387d14f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.PackageDefinitionStrategy.Definition.Undefined</span></td><td><code>2f1d95f3613d9f49</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.PackageDefinitionStrategy.NoOp</span></td><td><code>3d34f5f46e1c0610</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.PackageDefinitionStrategy.Trivial</span></td><td><code>848dce81f4e8d105</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.ClassWriterStrategy.Default</span></td><td><code>f0774d4bbe85a809</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.ClassWriterStrategy.Default.1</span></td><td><code>09a3c2cfe88a5ae4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.ClassWriterStrategy.Default.2</span></td><td><code>76afb59bd5abdd5f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.ClassWriterStrategy.FrameComputingClassWriter</span></td><td><code>52e278e8d81b4dc4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.FieldLocator.AbstractBase</span></td><td><code>54f490d54da29c16</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.FieldLocator.ForClassHierarchy</span></td><td><code>166417044cd009a4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.FieldLocator.ForClassHierarchy.Factory</span></td><td><code>f656bc98a970fd47</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.FieldLocator.Resolution.Illegal</span></td><td><code>a9972cd13cf8462c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.FieldLocator.Resolution.Simple</span></td><td><code>de8883fdeb865c93</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.FieldRegistry.Default</span></td><td><code>cc5265630d0906f2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.FieldRegistry.Default.Compiled</span></td><td><code>00933225bc77b175</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.FieldRegistry.Default.Compiled.Entry</span></td><td><code>0ec1361a69a955fd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.FieldRegistry.Default.Entry</span></td><td><code>a7413622fd851aa9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.InstrumentedType.Default</span></td><td><code>f7579d046e578eec</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.InstrumentedType.Factory.Default</span></td><td><code>cd900ae01efd903f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.InstrumentedType.Factory.Default.1</span></td><td><code>a7ce85bb2f37ff77</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.InstrumentedType.Factory.Default.2</span></td><td><code>ad157a47dace4f55</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler</span></td><td><code>fc88be698cc4a50f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.AbstractBase</span></td><td><code>ad55505e167100d9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default</span></td><td><code>af94c7ab11c1fcdd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Harmonizer.ForJavaMethod</span></td><td><code>7031164d2b791e9e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Harmonizer.ForJavaMethod.Token</span></td><td><code>7182cc44c6651e89</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Key</span></td><td><code>a65d37875a395ddb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Key.Detached</span></td><td><code>3f02da9703ce5c2d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Key.Harmonized</span></td><td><code>388d8cbf8e63aa90</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Key.Store</span></td><td><code>1a1546093db6edc8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Key.Store.Entry.Ambiguous</span></td><td><code>0b0a2fb9ec96eb00</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Key.Store.Entry.Initial</span></td><td><code>ea7f0be36536a4bb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Key.Store.Entry.Resolved</span></td><td><code>ba93041ed575e0c7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Key.Store.Entry.Resolved.Node</span></td><td><code>1f19152a07e27690</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Key.Store.Graph</span></td><td><code>dd183a5630da8a82</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Merger.Directional</span></td><td><code>431cb1fc240f1328</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.ForDeclaredMethods</span></td><td><code>80835a5a4610b1d3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Empty</span></td><td><code>de57d507ae61b464</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Linked.Delegation</span></td><td><code>7341085250d5f338</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Node.Simple</span></td><td><code>f9767f80e7124acc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Node.Sort</span></td><td><code>8e20af4bf9dad8a0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Node.Unresolved</span></td><td><code>c42332646fb3e771</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.NodeList</span></td><td><code>15622cc8eb6ac006</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Simple</span></td><td><code>3ab25bf2fa755adb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodRegistry.Default</span></td><td><code>a688cfda627119db</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodRegistry.Default.Compiled</span></td><td><code>dcd52aed23ae0b55</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodRegistry.Default.Compiled.Entry</span></td><td><code>44710ee8541c44cf</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodRegistry.Default.Entry</span></td><td><code>b1cbe9bdfc76e994</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodRegistry.Default.Prepared</span></td><td><code>9bba4ee547c8082c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodRegistry.Default.Prepared.Entry</span></td><td><code>53689d93cf82f768</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodRegistry.Handler.ForImplementation</span></td><td><code>ea77701fcbc47e2c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodRegistry.Handler.ForImplementation.Compiled</span></td><td><code>7b000ab44a4af2cc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.RecordComponentRegistry.Default</span></td><td><code>eec49897d441dcbe</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.RecordComponentRegistry.Default.Compiled</span></td><td><code>1d64a300c478cbd4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeInitializer.Drain.Default</span></td><td><code>a3bc2736d5ad95f5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeInitializer.None</span></td><td><code>d062b02ed3f4d342</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeInitializer.Simple</span></td><td><code>3429322f4d42e2d4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeValidation</span></td><td><code>b9ab70dc0d5e3c60</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default</span></td><td><code>c13cf997e386f3cc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ClassDumpAction.Dispatcher.Disabled</span></td><td><code>d4f0d2e7fbcab045</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ForCreation</span></td><td><code>fc9ad618be46b3c0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ForInlining</span></td><td><code>299c2478af802227</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ForInlining.ContextRegistry</span></td><td><code>dfee6deed9a49e33</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ForInlining.WithFullProcessing</span></td><td><code>bf4cd0530bebc828</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ForInlining.WithFullProcessing.InitializationHandler.Creating</span></td><td><code>b01ca83867dc0a50</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ForInlining.WithFullProcessing.OpenedClassRemapper</span></td><td><code>9e0d8af34c811602</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ForInlining.WithFullProcessing.RedefinitionClassVisitor</span></td><td><code>f41a382ab3215f3e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.SignatureKey</span></td><td><code>d20a5d7220afbb42</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.UnresolvedType</span></td><td><code>3f5380fd3549f07e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ValidatingClassVisitor</span></td><td><code>0449b85d73902e5f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ValidatingClassVisitor.Constraint.Compound</span></td><td><code>522fa4e49e512828</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ValidatingClassVisitor.Constraint.ForClass</span></td><td><code>73e7f3e477121987</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ValidatingClassVisitor.Constraint.ForClassFileVersion</span></td><td><code>9e87393ba441dbdc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ValidatingClassVisitor.ValidatingFieldVisitor</span></td><td><code>32779ab29633e9ef</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ValidatingClassVisitor.ValidatingMethodVisitor</span></td><td><code>a412717a1b97aba3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.FieldPool.Record.ForExplicitField</span></td><td><code>a03e0587988aae1f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.FieldPool.Record.ForImplicitField</span></td><td><code>b7f49ad994b5b989</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.MethodPool.Record.AccessBridgeWrapper</span></td><td><code>9527fd76169900c9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.MethodPool.Record.AccessBridgeWrapper.AccessorBridge</span></td><td><code>1496ecf7d9a77025</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.MethodPool.Record.AccessBridgeWrapper.BridgeTarget</span></td><td><code>993a3ceba7447d02</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.MethodPool.Record.ForDefinedMethod</span></td><td><code>e3fde8a86929682d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.MethodPool.Record.ForDefinedMethod.WithBody</span></td><td><code>963047d43410ba83</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.MethodPool.Record.ForNonImplementedMethod</span></td><td><code>28a00d78fb553a8c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.MethodPool.Record.Sort</span></td><td><code>928d954d831a88bc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.inline.AbstractInliningDynamicTypeBuilder</span></td><td><code>3dcbe96c7737ffda</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.inline.InliningImplementationMatcher</span></td><td><code>385ec334716921a9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.inline.MethodRebaseResolver.Disabled</span></td><td><code>687ef4457dff2d12</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.inline.RedefinitionDynamicTypeBuilder</span></td><td><code>cc7957febfc5cb21</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.ConstructorStrategy.Default</span></td><td><code>0d114e09a2faac83</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.ConstructorStrategy.Default.1</span></td><td><code>16fc5c99e02d7f9f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.ConstructorStrategy.Default.2</span></td><td><code>dd199479878d5739</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.ConstructorStrategy.Default.3</span></td><td><code>792ea5ce51475037</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.ConstructorStrategy.Default.4</span></td><td><code>98fceb895a262b45</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.ConstructorStrategy.Default.5</span></td><td><code>f0898605f9020c16</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.SubclassDynamicTypeBuilder</span></td><td><code>15df30285a830f7f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.SubclassDynamicTypeBuilder.InstrumentableMatcher</span></td><td><code>c2850d79fc87446b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.SubclassImplementationTarget</span></td><td><code>17f509a8b52b39f3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.SubclassImplementationTarget.Factory</span></td><td><code>f6c0a700d93e9d10</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.SubclassImplementationTarget.OriginTypeResolver</span></td><td><code>282c73cc811d5b71</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.SubclassImplementationTarget.OriginTypeResolver.1</span></td><td><code>2eb773d398b87160</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.SubclassImplementationTarget.OriginTypeResolver.2</span></td><td><code>903a99da03746eb8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.FieldAccessor</span></td><td><code>c717fff4ac23e0ca</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.FieldAccessor.FieldLocation.Relative</span></td><td><code>b3e919957424f848</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.FieldAccessor.FieldLocation.Relative.Prepared</span></td><td><code>aa68ebf60b4f0bef</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.FieldAccessor.FieldNameExtractor.ForBeanProperty</span></td><td><code>b178a2653a5bafe9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.FieldAccessor.FieldNameExtractor.ForBeanProperty.1</span></td><td><code>e8b3de54c6138911</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.FieldAccessor.FieldNameExtractor.ForBeanProperty.2</span></td><td><code>7de6825165503ed1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.FieldAccessor.ForImplicitProperty</span></td><td><code>2077b83bedb8edde</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.FieldAccessor.ForImplicitProperty.Appender</span></td><td><code>b07cb6f14ea187be</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.Default</span></td><td><code>8e12655fc557738e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.Default.AbstractPropertyAccessorMethod</span></td><td><code>f23dc6369a1530e9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.Default.AccessorMethod</span></td><td><code>9be66f5be8d9fa45</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.Default.AccessorMethodDelegation</span></td><td><code>542747c99b66ec54</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.Default.CacheValueField</span></td><td><code>31a151ad62bab895</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.Default.DelegationRecord</span></td><td><code>70526320a1ad9cc3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.Default.Factory</span></td><td><code>d24c34bb404ca859</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.Default.FieldCacheEntry</span></td><td><code>8e7d6b7ed6743234</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.Disabled</span></td><td><code>53c73dd8eaae49ac</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.Disabled.Factory</span></td><td><code>adbbab47d629267a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.ExtractableView.AbstractBase</span></td><td><code>959623d5e0291105</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.FrameGeneration</span></td><td><code>a627c6d2ae1b5444</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.FrameGeneration.1</span></td><td><code>aaa6feaf64d85e8c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.FrameGeneration.2</span></td><td><code>a780e343d57d9071</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.FrameGeneration.3</span></td><td><code>2c34a94c8147f015</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.SpecialMethodInvocation.AbstractBase</span></td><td><code>a38cf2d5897906e6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.SpecialMethodInvocation.Illegal</span></td><td><code>0c59caca158bef52</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.SpecialMethodInvocation.Simple</span></td><td><code>1d406914f1f50463</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Target.AbstractBase</span></td><td><code>f7115dc2601ca003</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Target.AbstractBase.DefaultMethodInvocation</span></td><td><code>d1fa9bdfb38c1038</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Target.AbstractBase.DefaultMethodInvocation.1</span></td><td><code>5721353bb15366ec</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Target.AbstractBase.DefaultMethodInvocation.2</span></td><td><code>a3a810091d4e9086</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.LoadedTypeInitializer.NoOp</span></td><td><code>1af8ca0d9b7adbe8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodAccessorFactory.AccessType</span></td><td><code>a8b1b417256441f1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall</span></td><td><code>ae4dca29f42e39d5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.Appender</span></td><td><code>36c14b929a5d9485</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.ArgumentLoader.ForMethodParameter</span></td><td><code>f435ec4bd832341c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.ArgumentLoader.ForMethodParameter.Factory</span></td><td><code>14d10834f68773ca</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.MethodInvoker.ForContextualInvocation</span></td><td><code>67d21233b61c5c16</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.MethodInvoker.ForContextualInvocation.Factory</span></td><td><code>473b92f68bfbccba</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.MethodInvoker.ForVirtualInvocation.WithImplicitType</span></td><td><code>a39c338c28e91204</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.MethodLocator.ForExplicitMethod</span></td><td><code>98c72c41253ed08a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TargetHandler.ForMethodCall</span></td><td><code>0caad707b30ae193</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TargetHandler.ForMethodCall.Factory</span></td><td><code>c1832cb5d54736e4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TargetHandler.ForMethodCall.Resolved</span></td><td><code>7bf0e6eeede8ac9d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TargetHandler.ForMethodParameter</span></td><td><code>7f338183a38839e1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TargetHandler.ForMethodParameter.Resolved</span></td><td><code>6392db92c53c1bb9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TargetHandler.ForSelfOrStaticInvocation</span></td><td><code>d1b18e3b58b886f7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TargetHandler.ForSelfOrStaticInvocation.Factory</span></td><td><code>ce3c235283ac0dd6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TargetHandler.ForSelfOrStaticInvocation.Resolved</span></td><td><code>1c1abf86b318738e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TerminationHandler.Simple</span></td><td><code>6690aed6e7a18218</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TerminationHandler.Simple.1</span></td><td><code>295d1288fc335ed1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TerminationHandler.Simple.2</span></td><td><code>9e9230bbbb470354</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TerminationHandler.Simple.3</span></td><td><code>f579959891e14d29</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.WithoutSpecifiedTarget</span></td><td><code>d0b373c9e0216c67</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodDelegation</span></td><td><code>c1415fee7b21870c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodDelegation.Appender</span></td><td><code>f1ea47b04d738fac</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodDelegation.ImplementationDelegate.Compiled.ForStaticCall</span></td><td><code>2afafc9e131f3a8c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodDelegation.ImplementationDelegate.ForStaticMethod</span></td><td><code>5b03f5bbc3a0bfa2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodDelegation.WithCustomProperties</span></td><td><code>15991377debf2c67</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.SuperMethodCall</span></td><td><code>48a9709638c71f00</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.SuperMethodCall.Appender</span></td><td><code>1278488d60ed8e86</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.SuperMethodCall.Appender.TerminationHandler</span></td><td><code>35d2e0ef6d7f630d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.SuperMethodCall.Appender.TerminationHandler.1</span></td><td><code>05664af3a3b6738b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.SuperMethodCall.Appender.TerminationHandler.2</span></td><td><code>be670f96c6d93831</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationAppender.1</span></td><td><code>09e39802151aefbf</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationAppender.Default</span></td><td><code>7787cf7f483d6685</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationAppender.ForTypeAnnotations</span></td><td><code>040d5aab72de4582</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationAppender.Target.OnField</span></td><td><code>52ad3ce83f52621f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationAppender.Target.OnMethod</span></td><td><code>b2534f024a4880dd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationAppender.Target.OnMethodParameter</span></td><td><code>c9f39d80b694c092</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationAppender.Target.OnType</span></td><td><code>db8f4f1dbbcf3c3e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationRetention</span></td><td><code>6dca59a58d56874f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationValueFilter.Default</span></td><td><code>190882f8828de18a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationValueFilter.Default.1</span></td><td><code>593737e47cc84848</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationValueFilter.Default.2</span></td><td><code>a61861baa0bc96ee</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.FieldAttributeAppender.ForInstrumentedField</span></td><td><code>ca19f51ae14fb7b4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.MethodAttributeAppender.Compound</span></td><td><code>87d24d92007e506e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.MethodAttributeAppender.Factory.Compound</span></td><td><code>85113e9ca3ae38c3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.MethodAttributeAppender.ForInstrumentedMethod</span></td><td><code>4e40a53e08d4cbbb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.MethodAttributeAppender.ForInstrumentedMethod.1</span></td><td><code>a3b87b1a75d290fd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.MethodAttributeAppender.ForInstrumentedMethod.2</span></td><td><code>10e734a991eea3bf</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.MethodAttributeAppender.NoOp</span></td><td><code>aa6841038c96aed0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.TypeAttributeAppender.ForInstrumentedType</span></td><td><code>537a1dac83c99ae9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.TypeAttributeAppender.ForInstrumentedType.Differentiating</span></td><td><code>542ad65dee4078dd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.auxiliary.AuxiliaryType</span></td><td><code>577555a7861b5701</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.auxiliary.AuxiliaryType.NamingStrategy.SuffixingRandom</span></td><td><code>9ff4d19573d987f3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.auxiliary.MethodCallProxy</span></td><td><code>e4ad67673bba91b3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.auxiliary.MethodCallProxy.AssignableSignatureCall</span></td><td><code>e32307e618f933aa</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.auxiliary.MethodCallProxy.ConstructorCall</span></td><td><code>b40129a97ef170e6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.auxiliary.MethodCallProxy.ConstructorCall.Appender</span></td><td><code>6a4a35552c21bf78</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.auxiliary.MethodCallProxy.MethodCall</span></td><td><code>d2f0f120376a3b4f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.auxiliary.MethodCallProxy.MethodCall.Appender</span></td><td><code>df4a3b2e219da333</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.auxiliary.MethodCallProxy.PrecomputedMethodGraph</span></td><td><code>7fb29fbd9d22e04c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.ArgumentTypeResolver</span></td><td><code>74973272be85ce17</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.ArgumentTypeResolver.ParameterIndexToken</span></td><td><code>a8052b758f0a0361</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.DeclaringTypeResolver</span></td><td><code>d1000b5d5bf7bd79</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.1</span></td><td><code>54de841f73ee4eae</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.AmbiguityResolver</span></td><td><code>7d40b5a2d5d69397</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.AmbiguityResolver.Compound</span></td><td><code>eab4a548d2693cd2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.AmbiguityResolver.Resolution</span></td><td><code>e8ca39d95b4ade42</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.BindingResolver.Default</span></td><td><code>ed3f9e212bdf4696</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.MethodBinding.Builder</span></td><td><code>ffaacecf2e1956bd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.MethodBinding.Builder.Build</span></td><td><code>fbe15ed2c0b7c26f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.MethodBinding.Illegal</span></td><td><code>ca301be97fe35cde</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.MethodInvoker.Simple</span></td><td><code>dafea2ba3b2f164b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.ParameterBinding.Anonymous</span></td><td><code>30b0f734840f8b2c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.ParameterBinding.Illegal</span></td><td><code>470dc52d77c3898e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.ParameterBinding.Unique</span></td><td><code>c60c100f523804e4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.Processor</span></td><td><code>1dd9238ba412581f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.TerminationHandler.Default</span></td><td><code>946265fda2ca27e8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.TerminationHandler.Default.1</span></td><td><code>db109132d7373fda</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.TerminationHandler.Default.2</span></td><td><code>cb3895b610bd15d5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodNameEqualityResolver</span></td><td><code>65a8d1431b34fdcd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.ParameterLengthResolver</span></td><td><code>58a025cd0f10dff1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.AllArguments.Assignment</span></td><td><code>a9a852c11b320ab1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.AllArguments.Binder</span></td><td><code>70d2d38d942236e9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.Argument.Binder</span></td><td><code>d9599526792299bc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.Argument.BindingMechanic</span></td><td><code>3c1577b22755160a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.Argument.BindingMechanic.1</span></td><td><code>0d55bcd6ddcb95ce</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.Argument.BindingMechanic.2</span></td><td><code>a10c7561f9e6f193</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.BindingPriority.Resolver</span></td><td><code>2fd170c18c979895</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.Default.Binder</span></td><td><code>fdd8dd2baa86d3db</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.DefaultCall.Binder</span></td><td><code>da1f6e99880fdd81</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.DefaultCallHandle.Binder</span></td><td><code>e06c83e6a5d67914</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.DefaultMethod.Binder</span></td><td><code>03d209c7b50b3b07</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.DefaultMethodHandle.Binder</span></td><td><code>a2ceb680358bbf3b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.Empty.Binder</span></td><td><code>7c3892404f623e5a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.FieldGetterHandle.Binder</span></td><td><code>861b7c22fc0276d1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.FieldGetterHandle.Binder.Delegate</span></td><td><code>311d13f023d8289a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.FieldSetterHandle.Binder</span></td><td><code>73928d415965e531</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.FieldSetterHandle.Binder.Delegate</span></td><td><code>87df40b62880da89</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.FieldValue.Binder</span></td><td><code>62660cf02a28bd16</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.FieldValue.Binder.Delegate</span></td><td><code>0f20336b20b2e19e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.IgnoreForBinding.Verifier</span></td><td><code>f6eaa0a37f2ce769</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.Origin.Binder</span></td><td><code>de6b5494873daefa</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.RuntimeType.Verifier</span></td><td><code>79ef98193cf36f83</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.StubValue.Binder</span></td><td><code>47dfbe906a0f1712</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.Super.Binder</span></td><td><code>159db3adf8f80917</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.SuperCall.Binder</span></td><td><code>ab7d9c4bff4cce1f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.SuperCallHandle.Binder</span></td><td><code>7b8a4c06e71007ba</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.SuperMethod.Binder</span></td><td><code>787b81ea7c3cf9d1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.SuperMethodHandle.Binder</span></td><td><code>24c923e11496eb8f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder</span></td><td><code>07e504cb3c546aab</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder.DelegationProcessor</span></td><td><code>2084514b37eafe57</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder.DelegationProcessor.Handler.Bound</span></td><td><code>ef7d428377a4cc32</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder.DelegationProcessor.Handler.Unbound</span></td><td><code>268e0923d2bba678</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder.ParameterBinder</span></td><td><code>ba9707c8f3fe13d6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder.ParameterBinder.ForFieldBinding</span></td><td><code>94bb239add34e1bc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder.ParameterBinder.ForFixedValue</span></td><td><code>655436a01f544525</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder.ParameterBinder.ForFixedValue.OfConstant</span></td><td><code>1a94e96610690841</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder.Record</span></td><td><code>e5a54c271a13fa1e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.This.Binder</span></td><td><code>365ed9c01801d8a8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.ByteCodeAppender.Compound</span></td><td><code>e6b18c005febea10</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.ByteCodeAppender.Simple</span></td><td><code>e1016f8961c133f9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.ByteCodeAppender.Size</span></td><td><code>18d689fcde916cfc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.Duplication</span></td><td><code>87726ed8bb6e39de</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.Duplication.1</span></td><td><code>6cbf4aae44bb9c6a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.Duplication.2</span></td><td><code>204abf23cbf37c68</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.Duplication.3</span></td><td><code>0631976e078609bd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.Removal</span></td><td><code>6d539a300caa5092</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.Removal.1</span></td><td><code>ab763f3b743f79a5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.Removal.2</span></td><td><code>fd766afb93ac2a09</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.StackManipulation.AbstractBase</span></td><td><code>31ac4a0904ac3e09</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.StackManipulation.Compound</span></td><td><code>96939a22aac4c91b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.StackManipulation.Illegal</span></td><td><code>d75e2eb0d394f6c3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.StackManipulation.Size</span></td><td><code>e69b15cd3e8d4461</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.StackManipulation.Trivial</span></td><td><code>56f2787cdbce4d40</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.StackSize</span></td><td><code>80f94e8effa2f7bb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.StackSize.1</span></td><td><code>3706a73bbafad769</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.TypeCreation</span></td><td><code>4865d2e454028bc1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.Assigner</span></td><td><code>7e67d52e9390b000</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.Assigner.Typing</span></td><td><code>b09adf7fa17d04b8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.TypeCasting</span></td><td><code>1a445bd188e2931d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.primitive.PrimitiveBoxingDelegate</span></td><td><code>dac9a66a711d1bdb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.primitive.PrimitiveBoxingDelegate.BoxingStackManipulation</span></td><td><code>96e0379915a5a251</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.primitive.PrimitiveTypeAwareAssigner</span></td><td><code>c888a19b998b7769</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.primitive.PrimitiveUnboxingDelegate</span></td><td><code>14e47d44e5cebb1d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.primitive.PrimitiveUnboxingDelegate.ImplicitlyTypedUnboxingResponsible</span></td><td><code>adf7d49661fe0566</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.primitive.PrimitiveWideningDelegate</span></td><td><code>1008755d8fe45330</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.primitive.PrimitiveWideningDelegate.WideningStackManipulation</span></td><td><code>796408ff7247d988</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.primitive.VoidAwareAssigner</span></td><td><code>3df36760b29d387a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.reference.GenericTypeAwareAssigner</span></td><td><code>3623cb487284bb53</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.reference.ReferenceTypeAwareAssigner</span></td><td><code>59b5f6f8641c87f2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.collection.ArrayFactory</span></td><td><code>f2dcfb1430649b3e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.collection.ArrayFactory.ArrayCreator</span></td><td><code>7ff584cc516e3f40</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.collection.ArrayFactory.ArrayCreator.ForReferenceType</span></td><td><code>2ffee25860dde2e1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.collection.ArrayFactory.ArrayStackManipulation</span></td><td><code>2420354f9fdfb502</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.ClassConstant</span></td><td><code>8c2c8e360f844ad5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.ClassConstant.ForReferenceType</span></td><td><code>a779a54b4d7fcd6c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.DefaultValue</span></td><td><code>56544d5987e5a6d8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.DoubleConstant</span></td><td><code>829c95b7b67e95cf</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.FloatConstant</span></td><td><code>bdee038754940fff</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.IntegerConstant</span></td><td><code>58a28f871a6a0499</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.LongConstant</span></td><td><code>113f925135fa3020</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.MethodConstant</span></td><td><code>4af2674773bedc86</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.MethodConstant.CachedMethod</span></td><td><code>927dce16203d5f6c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.MethodConstant.ForMethod</span></td><td><code>5c66dba4a8bfbcea</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.NullConstant</span></td><td><code>9cf4bfc5c52a2517</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.TextConstant</span></td><td><code>76b9599de59f2aeb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.FieldAccess</span></td><td><code>e098860a4703e90a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.FieldAccess.AccessDispatcher</span></td><td><code>20c90535a547e3cd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.FieldAccess.AccessDispatcher.AbstractFieldInstruction</span></td><td><code>75724b7b6b2e4a66</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.FieldAccess.AccessDispatcher.FieldGetInstruction</span></td><td><code>adcac7724ac0272c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.FieldAccess.AccessDispatcher.FieldPutInstruction</span></td><td><code>aeaedb775e139b65</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.MethodInvocation</span></td><td><code>14726e4d8770e5c2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.MethodInvocation.Invocation</span></td><td><code>fa9ba5217301f030</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.MethodInvocation.OfGenericMethod</span></td><td><code>17523e41efd5a475</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.MethodReturn</span></td><td><code>3cbfd6833fda70dd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.MethodVariableAccess</span></td><td><code>7ec211e72c6c3719</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.MethodVariableAccess.MethodLoading</span></td><td><code>0b690307be533e18</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.MethodVariableAccess.MethodLoading.TypeCastingHandler.ForBridgeTarget</span></td><td><code>89785916231f4dad</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.MethodVariableAccess.MethodLoading.TypeCastingHandler.NoOp</span></td><td><code>3f3d0d86b569e241</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.MethodVariableAccess.OffsetLoading</span></td><td><code>4794627822a950ec</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.MethodVariableAccess.OffsetWriting</span></td><td><code>ec4ccc785b7c7e50</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.AnnotationVisitor</span></td><td><code>cd8a8ae8c6a81aac</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.AnnotationWriter</span></td><td><code>0932d72e909ca807</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.Attribute</span></td><td><code>706e3dca943537f4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.ByteVector</span></td><td><code>7b954a37494ae9b1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.ClassReader</span></td><td><code>e338a717450267b6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.ClassVisitor</span></td><td><code>fadf18db959a51c0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.ClassWriter</span></td><td><code>8fef2f78c16bf3a1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.ConstantDynamic</span></td><td><code>b7229c3e0045f54c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.Context</span></td><td><code>e9c1b62b23feb9ea</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.FieldVisitor</span></td><td><code>1e68d610e857eaad</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.FieldWriter</span></td><td><code>3c4ebfcb2bc7032e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.Handle</span></td><td><code>6019e218815e3c26</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.Handler</span></td><td><code>763c7a3b0dc4fc7e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.Label</span></td><td><code>90adaa7d501e514d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.MethodVisitor</span></td><td><code>9ace78a4d431747d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.MethodWriter</span></td><td><code>3bbf4f45000a5b02</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.Opcodes</span></td><td><code>faeee4d0ece993c6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.Symbol</span></td><td><code>667e508aa34354b1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.SymbolTable</span></td><td><code>062167c3c6eec51b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.SymbolTable.Entry</span></td><td><code>9be5b08b0e9ad0e4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.Type</span></td><td><code>ae2dca90336e2c4e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.TypeReference</span></td><td><code>7c2c246da0bafedc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.commons.ClassRemapper</span></td><td><code>3b51d3b9fc7535e2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.commons.FieldRemapper</span></td><td><code>98cdb08947bd5f18</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.commons.Remapper</span></td><td><code>812a9f5a9bb9b509</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.commons.SignatureRemapper</span></td><td><code>f7906518cd91d799</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.commons.SimpleRemapper</span></td><td><code>193adda534bf00c4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.signature.SignatureReader</span></td><td><code>011d12c758b95e5f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.signature.SignatureVisitor</span></td><td><code>482dc0d879af867f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.signature.SignatureWriter</span></td><td><code>bb3fc83b8aaad021</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.AnnotationTypeMatcher</span></td><td><code>4c083a293a95675e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.BooleanMatcher</span></td><td><code>fc276a6c128e2875</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.CollectionErasureMatcher</span></td><td><code>76b5d2cc623cc312</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.CollectionItemMatcher</span></td><td><code>640386844f0e29b8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.CollectionOneToOneMatcher</span></td><td><code>670278e525ff9bfc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.CollectionSizeMatcher</span></td><td><code>8f59b8be9ab4a58b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.DeclaringAnnotationMatcher</span></td><td><code>72a4630003105f69</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.DeclaringTypeMatcher</span></td><td><code>76e282c5482618bb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.DescriptorMatcher</span></td><td><code>e5d21259f82507a7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.ElementMatcher.Junction.AbstractBase</span></td><td><code>d129e1a5bbea50cb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.ElementMatcher.Junction.Conjunction</span></td><td><code>6586c7d2abf8bf59</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.ElementMatcher.Junction.Disjunction</span></td><td><code>78eb86ff19c5e913</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.ElementMatcher.Junction.ForNonNullValues</span></td><td><code>40b97e222b442c20</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.ElementMatchers</span></td><td><code>5da3055b8ba94b32</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.EqualityMatcher</span></td><td><code>7ddcccca3867f2c6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.ErasureMatcher</span></td><td><code>327b39df894c794a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.FailSafeMatcher</span></td><td><code>e67ae39af120023b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.FilterableList.AbstractBase</span></td><td><code>acc833b482b3e913</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.FilterableList.Empty</span></td><td><code>994e694dc878695f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.LatentMatcher.Disjunction</span></td><td><code>cf547e86976c153f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.LatentMatcher.ForFieldToken</span></td><td><code>08b4951ce99afdff</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.LatentMatcher.ForFieldToken.ResolvedMatcher</span></td><td><code>7a313b55df92d5ce</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.LatentMatcher.ForMethodToken</span></td><td><code>acf53d7e0ad9c66c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.LatentMatcher.ForMethodToken.ResolvedMatcher</span></td><td><code>a1b47b682cdd16e5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.LatentMatcher.Resolved</span></td><td><code>838bf93f64347719</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodParameterTypeMatcher</span></td><td><code>d565dce3bed4679b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodParameterTypesMatcher</span></td><td><code>4f9a1c61c2ca1d30</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodParametersMatcher</span></td><td><code>754bf9d07553d1f9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodReturnTypeMatcher</span></td><td><code>1b6fa22a35a706bc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodSortMatcher</span></td><td><code>d9a4a7f8ba8d705a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodSortMatcher.Sort</span></td><td><code>df4da3ccf1c43fb2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodSortMatcher.Sort.1</span></td><td><code>9f8edcf420246fae</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodSortMatcher.Sort.2</span></td><td><code>5b30e294f2304972</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodSortMatcher.Sort.3</span></td><td><code>9c8b9e468a9ba4ee</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodSortMatcher.Sort.4</span></td><td><code>4c3709005a13f932</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodSortMatcher.Sort.5</span></td><td><code>93400b67a6230353</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.ModifierMatcher</span></td><td><code>c0d2e66fbd31c083</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.ModifierMatcher.Mode</span></td><td><code>09bd88f8f539be92</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.NameMatcher</span></td><td><code>b901fc4b35799fa4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.NegatingMatcher</span></td><td><code>a7d93978e9d78d7e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.SignatureTokenMatcher</span></td><td><code>60c758b99c3d9148</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher</span></td><td><code>236df1d1d60ab580</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode</span></td><td><code>78a8ab1a5e998326</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.1</span></td><td><code>197cd818fecbf0dc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.2</span></td><td><code>130a12e752b093e0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.3</span></td><td><code>37e1825b2b41bae8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.4</span></td><td><code>34a59e75ad57ee16</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.5</span></td><td><code>6b18de0e0195fcc7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.6</span></td><td><code>bdaf5299d13e3bfe</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.7</span></td><td><code>f608050eb76b29c9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.8</span></td><td><code>7a1f43a330aa49e3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.9</span></td><td><code>d97cfe0669542624</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.SuperTypeMatcher</span></td><td><code>5f65e9ccb1649334</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.TypeSortMatcher</span></td><td><code>bea3cd319f7a9ab6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.VisibilityMatcher</span></td><td><code>6f0d2c70b6ce50e1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.pool.TypePool.AbstractBase</span></td><td><code>9fb6083dd80a22fc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.pool.TypePool.AbstractBase.Hierarchical</span></td><td><code>af09d201760be842</code></td></tr><tr><td><span class="el_class">net.bytebuddy.pool.TypePool.CacheProvider.NoOp</span></td><td><code>174576454ae1c349</code></td></tr><tr><td><span class="el_class">net.bytebuddy.pool.TypePool.CacheProvider.Simple</span></td><td><code>7bfcbb81282fd7ba</code></td></tr><tr><td><span class="el_class">net.bytebuddy.pool.TypePool.ClassLoading</span></td><td><code>eacd715670bb9cf5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.pool.TypePool.Default</span></td><td><code>d652b7abbf41681e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.pool.TypePool.Default.ReaderMode</span></td><td><code>c7c49aee0ee313c2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.pool.TypePool.Empty</span></td><td><code>3dd3d1db982dbfc3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.pool.TypePool.Explicit</span></td><td><code>eceae2bc3c0ef42b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.CompoundList</span></td><td><code>b8b501baeee21c20</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.ConstantValue.Simple</span></td><td><code>e3630dc7d69b95ee</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.ConstructorComparator</span></td><td><code>c7333b6b982e8e09</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.FieldComparator</span></td><td><code>040e57b459196f7f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.GraalImageCode</span></td><td><code>99c2d8870a99ec8c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.Invoker.Dispatcher</span></td><td><code>b9b5f67cf01bb049</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.JavaConstant.Simple</span></td><td><code>5b025f7cd4895fd5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.JavaConstant.Simple.OfTrivialValue</span></td><td><code>d0617f655417a3d4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.JavaConstant.Simple.OfTrivialValue.ForString</span></td><td><code>45e71adc753caccd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.JavaModule</span></td><td><code>6655d87ef5c48770</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.MethodComparator</span></td><td><code>4e5549fe1a1bb16a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.OpenedClassReader</span></td><td><code>03aca7f7509a23be</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.RandomString</span></td><td><code>475c5a28b2a65671</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.StreamDrainer</span></td><td><code>264534737ce95d78</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher</span></td><td><code>787d0fb443c33196</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.Dispatcher.ForContainerCreation</span></td><td><code>6d0da494448f50f0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.Dispatcher.ForInstanceCheck</span></td><td><code>348c5ed1a0ea72ea</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.Dispatcher.ForNonStaticMethod</span></td><td><code>bf4d2158c4101736</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.Dispatcher.ForStaticMethod</span></td><td><code>2cbd19f9947661fd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.DynamicClassLoader</span></td><td><code>fb77b168217827f2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.DynamicClassLoader.Resolver.CreationAction</span></td><td><code>8ca4ae6007eb9fd7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.DynamicClassLoader.Resolver.ForModuleSystem</span></td><td><code>9a96cee67ed31732</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.InvokerCreationAction</span></td><td><code>8b81db7b9bb021a1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.ProxiedInvocationHandler</span></td><td><code>a4eb032d57e965fc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.privilege.GetMethodAction</span></td><td><code>74124300a1be96ce</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.privilege.GetSystemPropertyAction</span></td><td><code>3dcb9c5481b99d57</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.visitor.ExceptionTableSensitiveMethodVisitor</span></td><td><code>d6e802e0f103ce5a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.visitor.LineNumberPrependingMethodVisitor</span></td><td><code>39913d282d69be33</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.visitor.MetadataAwareClassVisitor</span></td><td><code>01777504b2dd8fd6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.visitor.StackAwareMethodVisitor</span></td><td><code>e665bc6a36ad6fe9</code></td></tr><tr><td><span class="el_class">org.apache.commons.lang.StringUtils</span></td><td><code>9dd94cc65aafa7e1</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.AbstractAssert</span></td><td><code>350d4a3c45c0d8b2</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.AbstractBooleanAssert</span></td><td><code>48a83efc83bd1062</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.AbstractCharSequenceAssert</span></td><td><code>da675e3ab7090aaa</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.AbstractComparableAssert</span></td><td><code>4bc0b15e745cd2bd</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.AbstractIntegerAssert</span></td><td><code>74584e5937642417</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.AbstractObjectAssert</span></td><td><code>9efff4a69b305ce5</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.AbstractStringAssert</span></td><td><code>bc722a6783ecab24</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.Assertions</span></td><td><code>4edb27c6dadb3b26</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.AssertionsForClassTypes</span></td><td><code>485dd7e71971d9a1</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.BooleanAssert</span></td><td><code>7c2437c2727b8309</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.IntegerAssert</span></td><td><code>8f698b21fd75dcf6</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.ObjectAssert</span></td><td><code>1bbc9fbe987a71e1</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.StringAssert</span></td><td><code>276d8048089fdd6d</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.WritableAssertionInfo</span></td><td><code>cfe8767c89787032</code></td></tr><tr><td><span class="el_class">org.assertj.core.configuration.Configuration</span></td><td><code>6ea356a40ee80ccf</code></td></tr><tr><td><span class="el_class">org.assertj.core.configuration.ConfigurationProvider</span></td><td><code>3346c4801f784bb9</code></td></tr><tr><td><span class="el_class">org.assertj.core.configuration.PreferredAssumptionException</span></td><td><code>2789214dba489051</code></td></tr><tr><td><span class="el_class">org.assertj.core.configuration.PreferredAssumptionException.1</span></td><td><code>1eab9d24cce924d2</code></td></tr><tr><td><span class="el_class">org.assertj.core.configuration.Services</span></td><td><code>3dc1dd22400d3099</code></td></tr><tr><td><span class="el_class">org.assertj.core.error.AssertionErrorCreator</span></td><td><code>744bd205226ec15f</code></td></tr><tr><td><span class="el_class">org.assertj.core.error.ConstructorInvoker</span></td><td><code>dbd17ff2cbb8bc28</code></td></tr><tr><td><span class="el_class">org.assertj.core.error.GroupTypeDescription</span></td><td><code>e2d30a487eec2c68</code></td></tr><tr><td><span class="el_class">org.assertj.core.internal.AbstractComparisonStrategy</span></td><td><code>40fb8687fd6113a4</code></td></tr><tr><td><span class="el_class">org.assertj.core.internal.Booleans</span></td><td><code>47899591edb7e017</code></td></tr><tr><td><span class="el_class">org.assertj.core.internal.Comparables</span></td><td><code>492c5254e1e386a8</code></td></tr><tr><td><span class="el_class">org.assertj.core.internal.Conditions</span></td><td><code>e092e4d723bc2314</code></td></tr><tr><td><span class="el_class">org.assertj.core.internal.Failures</span></td><td><code>2cd3f6ce6070185b</code></td></tr><tr><td><span class="el_class">org.assertj.core.internal.Integers</span></td><td><code>51f142568138237e</code></td></tr><tr><td><span class="el_class">org.assertj.core.internal.Numbers</span></td><td><code>b1c5a72fc2773178</code></td></tr><tr><td><span class="el_class">org.assertj.core.internal.Objects</span></td><td><code>fe71671260ce8f9c</code></td></tr><tr><td><span class="el_class">org.assertj.core.internal.StandardComparisonStrategy</span></td><td><code>cb180b5c43beb144</code></td></tr><tr><td><span class="el_class">org.assertj.core.internal.Strings</span></td><td><code>7e045dfabe913b45</code></td></tr><tr><td><span class="el_class">org.assertj.core.presentation.CompositeRepresentation</span></td><td><code>3230199b443ac68a</code></td></tr><tr><td><span class="el_class">org.assertj.core.presentation.StandardRepresentation</span></td><td><code>6d33658e7677a603</code></td></tr><tr><td><span class="el_class">org.assertj.core.util.Arrays</span></td><td><code>20c1f3363764d24e</code></td></tr><tr><td><span class="el_class">org.assertj.core.util.Lists</span></td><td><code>5895215344293d99</code></td></tr><tr><td><span class="el_class">org.assertj.core.util.Streams</span></td><td><code>d730dd591d3325a8</code></td></tr><tr><td><span class="el_class">org.assertj.core.util.introspection.FieldSupport</span></td><td><code>1f44f51b62bb0ce5</code></td></tr><tr><td><span class="el_class">org.assertj.core.util.introspection.PropertySupport</span></td><td><code>381c5ad4b48534d7</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.AbstractTestDescriptor</span></td><td><code>b7d6764e5c2ed1e2</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.DefaultTestClassDescriptor</span></td><td><code>29a580f844a707e9</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.DefaultTestClassRunInfo</span></td><td><code>68a7e79b2914fd4d</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.DefaultTestDescriptor</span></td><td><code>33f0f28b81218a57</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.DefaultTestOutputEvent</span></td><td><code>8b3d72b91c24a69b</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.DefaultTestSuiteDescriptor</span></td><td><code>7ca2225e2fb0b4b2</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.JULRedirector</span></td><td><code>bae8ac50b3f8106a</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor</span></td><td><code>61188fe4ac13d309</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.TestCompleteEvent</span></td><td><code>94a6da85674017e0</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.TestStartEvent</span></td><td><code>739a2bff9c36ddab</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.failure.DefaultThrowableToTestFailureMapper</span></td><td><code>98b3c6d95620e628</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.failure.TestFailureMapper</span></td><td><code>fad0361b08728e0d</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.failure.mappers.AssertErrorMapper</span></td><td><code>f8f52c2b08659a75</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.failure.mappers.AssertjMultipleAssertionsErrorMapper</span></td><td><code>6d9c88eceee97e47</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.failure.mappers.JUnitComparisonTestFailureMapper</span></td><td><code>1870ccedd70c62d3</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.failure.mappers.OpenTestAssertionFailedMapper</span></td><td><code>4ded763dc3dea331</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.failure.mappers.OpenTestMultipleFailuresErrorMapper</span></td><td><code>fd9e46b889182617</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.filter.TestFilterSpec</span></td><td><code>a7526e6ebab295a4</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.filter.TestSelectionMatcher</span></td><td><code>06128e54c9dca021</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.filter.TestSelectionMatcher.FullQualifiedClassNameSelector</span></td><td><code>b0cdbd341967c218</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.filter.TestSelectionMatcher.NoWildcardMatcher</span></td><td><code>c2434758b84103cc</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.filter.TestSelectionMatcher.TestPattern</span></td><td><code>bf83a0bf4a96f644</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestClassProcessor</span></td><td><code>672aa182353275ae</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformSpec</span></td><td><code>f5579f12caeb524a</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor</span></td><td><code>f682a3fb343b4c24</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.BackwardsCompatibleLauncherSession</span></td><td><code>15441bf1aaf0f299</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.ClassMethodNameFilter</span></td><td><code>2e75ab5ae4a5698f</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.CollectAllTestClassesExecutor</span></td><td><code>8c9350cf7e325a14</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessorFactory</span></td><td><code>a7b6a6fbba6df145</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestExecutionListener</span></td><td><code>b76948e94474cdbc</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.processors.CaptureTestOutputTestResultProcessor</span></td><td><code>29d7c45ae3841147</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.processors.DefaultStandardOutputRedirector</span></td><td><code>c0ce962d1b0afc6c</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.processors.DefaultStandardOutputRedirector.DiscardAction</span></td><td><code>b1b2c3fe575a0572</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.processors.DefaultStandardOutputRedirector.WriteAction</span></td><td><code>313e54868cd6f7bf</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.processors.TestOutputRedirector</span></td><td><code>3b6a0392c9e3dd02</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.processors.TestOutputRedirector.Forwarder</span></td><td><code>2f0a51434c23293a</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.results.AttachParentTestResultProcessor</span></td><td><code>6d02567fd2a7d62d</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer</span></td><td><code>86c8a2a7f444af17</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.DefaultNestedTestSuiteDescriptorSerializer</span></td><td><code>d06ce1b3d75f97ec</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.DefaultParameterizedTestDescriptorSerializer</span></td><td><code>110fe58b6a08d18a</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.DefaultTestClassDescriptorSerializer</span></td><td><code>7a33def0e5f77169</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.DefaultTestClassRunInfoSerializer</span></td><td><code>756d4261d461b736</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.DefaultTestDescriptorSerializer</span></td><td><code>f22763fb9799791b</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.DefaultTestFailureSerializer</span></td><td><code>a3fa0d4e2033ff7b</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.DefaultTestMethodDescriptorSerializer</span></td><td><code>8399fed70a5a5583</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.DefaultTestOutputEventSerializer</span></td><td><code>ab68b99e3ba8e6a7</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.DefaultTestSuiteDescriptorSerializer</span></td><td><code>00e4063cb0a3717e</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.IdSerializer</span></td><td><code>cdde38a9abcdd3c1</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.NullableSerializer</span></td><td><code>0b8b3e72f4fb326b</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.TestCompleteEventSerializer</span></td><td><code>971566bf8e6bbbc9</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.TestStartEventSerializer</span></td><td><code>46e7b262d38e1858</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.WorkerTestSuiteDescriptorSerializer</span></td><td><code>e06ab7fe365be81b</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestWorker</span></td><td><code>9da5c91b10b63d25</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestWorker.1</span></td><td><code>ccbe896c0f005689</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestWorker.2</span></td><td><code>fd29a630d60da1b8</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestWorker.3</span></td><td><code>b9c4ca4676087868</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestWorker.State</span></td><td><code>fa812eb1a8e0dd23</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestWorker.TestFrameworkServiceRegistry</span></td><td><code>e033f3a95f86732e</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.WorkerTestClassProcessor</span></td><td><code>0f6525b02f2bb3d2</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.WorkerTestClassProcessor.WorkerTestSuiteDescriptor</span></td><td><code>b3807e9b92351840</code></td></tr><tr><td><span class="el_class">org.gradle.api.logging.LogLevel</span></td><td><code>236e938e30516638</code></td></tr><tr><td><span class="el_class">org.gradle.api.tasks.testing.TestOutputEvent.Destination</span></td><td><code>a16caef1c278a81f</code></td></tr><tr><td><span class="el_class">org.gradle.internal.Cast</span></td><td><code>6130c81e08d81640</code></td></tr><tr><td><span class="el_class">org.gradle.internal.MutableBoolean</span></td><td><code>349de2b8a37d4338</code></td></tr><tr><td><span class="el_class">org.gradle.internal.SystemProperties</span></td><td><code>d691e6f045b4d8e8</code></td></tr><tr><td><span class="el_class">org.gradle.internal.actor.internal.DefaultActorFactory</span></td><td><code>2776985b64942a33</code></td></tr><tr><td><span class="el_class">org.gradle.internal.actor.internal.DefaultActorFactory.BlockingActor</span></td><td><code>abe31a572fce57fa</code></td></tr><tr><td><span class="el_class">org.gradle.internal.concurrent.AbstractDelegatingExecutorService</span></td><td><code>49d3dededcea40d0</code></td></tr><tr><td><span class="el_class">org.gradle.internal.concurrent.AbstractManagedExecutor</span></td><td><code>2b6c0f29fdff5244</code></td></tr><tr><td><span class="el_class">org.gradle.internal.concurrent.AbstractManagedExecutor.1</span></td><td><code>872460d8243510dc</code></td></tr><tr><td><span class="el_class">org.gradle.internal.concurrent.CompositeStoppable</span></td><td><code>e322584f6cb5969a</code></td></tr><tr><td><span class="el_class">org.gradle.internal.concurrent.CompositeStoppable.1</span></td><td><code>97a4a0e348c32238</code></td></tr><tr><td><span class="el_class">org.gradle.internal.concurrent.CompositeStoppable.2</span></td><td><code>d6e18202f5962cf7</code></td></tr><tr><td><span class="el_class">org.gradle.internal.concurrent.DefaultExecutorFactory</span></td><td><code>63847aa635eddd82</code></td></tr><tr><td><span class="el_class">org.gradle.internal.concurrent.DefaultExecutorFactory.TrackedManagedExecutor</span></td><td><code>36f4bc1cd93c039c</code></td></tr><tr><td><span class="el_class">org.gradle.internal.concurrent.ExecutorPolicy.CatchAndRecordFailures</span></td><td><code>2aacf6d3d0dd2240</code></td></tr><tr><td><span class="el_class">org.gradle.internal.concurrent.ManagedExecutorImpl</span></td><td><code>ce6f255f6fc1de83</code></td></tr><tr><td><span class="el_class">org.gradle.internal.concurrent.ThreadFactoryImpl</span></td><td><code>1d388becbfb01ad8</code></td></tr><tr><td><span class="el_class">org.gradle.internal.dispatch.ContextClassLoaderDispatch</span></td><td><code>132d0c3fd93e8141</code></td></tr><tr><td><span class="el_class">org.gradle.internal.dispatch.ContextClassLoaderProxy</span></td><td><code>4295807baa6fbb83</code></td></tr><tr><td><span class="el_class">org.gradle.internal.dispatch.MethodInvocation</span></td><td><code>56dc845f6b509e42</code></td></tr><tr><td><span class="el_class">org.gradle.internal.dispatch.ProxyDispatchAdapter</span></td><td><code>56827e7cbc177632</code></td></tr><tr><td><span class="el_class">org.gradle.internal.dispatch.ProxyDispatchAdapter.DispatchingInvocationHandler</span></td><td><code>91c49d997210d865</code></td></tr><tr><td><span class="el_class">org.gradle.internal.dispatch.ReflectionDispatch</span></td><td><code>6976fdf67f3e8979</code></td></tr><tr><td><span class="el_class">org.gradle.internal.event.AbstractBroadcastDispatch</span></td><td><code>3624329b4268ace0</code></td></tr><tr><td><span class="el_class">org.gradle.internal.event.BroadcastDispatch</span></td><td><code>8e28373cd592a460</code></td></tr><tr><td><span class="el_class">org.gradle.internal.event.BroadcastDispatch.CompositeDispatch</span></td><td><code>cb1fa3ce9072c0bf</code></td></tr><tr><td><span class="el_class">org.gradle.internal.event.BroadcastDispatch.EmptyDispatch</span></td><td><code>720dd233b7e6bc29</code></td></tr><tr><td><span class="el_class">org.gradle.internal.event.BroadcastDispatch.SingletonDispatch</span></td><td><code>1d8f3791fdfff085</code></td></tr><tr><td><span class="el_class">org.gradle.internal.event.ListenerBroadcast</span></td><td><code>bb9ab86e7f09e921</code></td></tr><tr><td><span class="el_class">org.gradle.internal.id.CompositeIdGenerator</span></td><td><code>f1c607aa5fccdbaa</code></td></tr><tr><td><span class="el_class">org.gradle.internal.id.CompositeIdGenerator.CompositeId</span></td><td><code>e710c854f802c58b</code></td></tr><tr><td><span class="el_class">org.gradle.internal.id.LongIdGenerator</span></td><td><code>6f8168bf486a560d</code></td></tr><tr><td><span class="el_class">org.gradle.internal.id.UUIDGenerator</span></td><td><code>047a43ab94df6ffa</code></td></tr><tr><td><span class="el_class">org.gradle.internal.io.BufferCaster</span></td><td><code>88a8af829d9f2dca</code></td></tr><tr><td><span class="el_class">org.gradle.internal.io.ClassLoaderObjectInputStream</span></td><td><code>acf45500b0d04661</code></td></tr><tr><td><span class="el_class">org.gradle.internal.io.LineBufferingOutputStream</span></td><td><code>bcb3506c9cb335f2</code></td></tr><tr><td><span class="el_class">org.gradle.internal.io.LinePerThreadBufferingOutputStream</span></td><td><code>2d2cc4f27d1ed01d</code></td></tr><tr><td><span class="el_class">org.gradle.internal.io.NullOutputStream</span></td><td><code>eefcfe0665bbfe4c</code></td></tr><tr><td><span class="el_class">org.gradle.internal.io.StreamByteBuffer</span></td><td><code>3ec3288935eb4819</code></td></tr><tr><td><span class="el_class">org.gradle.internal.io.StreamByteBuffer.StreamByteBufferChunk</span></td><td><code>ae7975dc16af2356</code></td></tr><tr><td><span class="el_class">org.gradle.internal.io.StreamByteBuffer.StreamByteBufferInputStream</span></td><td><code>d1fc83f589a55ee4</code></td></tr><tr><td><span class="el_class">org.gradle.internal.io.StreamByteBuffer.StreamByteBufferOutputStream</span></td><td><code>c78a467a714934e8</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.config.LoggingSystemAdapter</span></td><td><code>2bb5150ee66232e9</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.config.LoggingSystemAdapter.SnapshotImpl</span></td><td><code>221de860d84422df</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.console.DefaultUserInputReceiver</span></td><td><code>08050cb4428bad0e</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.events.EndOutputEvent</span></td><td><code>0d8edd2a5ce274ee</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.events.LogLevelChangeEvent</span></td><td><code>33b762c6d5852de7</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.events.OutputEvent</span></td><td><code>85bce87f1bcda18d</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.events.OutputEventListener</span></td><td><code>e7d50a9306531b49</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.events.OutputEventListener.1</span></td><td><code>5c6014dff2070607</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.events.StyledTextOutputEvent</span></td><td><code>11f48fb1a17330c8</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.events.StyledTextOutputEvent.Span</span></td><td><code>c55f799d2631f13d</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.serializer.LogEventSerializer</span></td><td><code>b6d88af223db296a</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.serializer.LogLevelChangeEventSerializer</span></td><td><code>f77a59533dde75ec</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.serializer.SpanSerializer</span></td><td><code>5f773b7d1ad07c9f</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.serializer.StyledTextOutputEventSerializer</span></td><td><code>faebed27ac3e65ba</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.services.DefaultLoggingManager</span></td><td><code>61e216a064052ff1</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.services.DefaultLoggingManager.StartableLoggingRouter</span></td><td><code>78396be937af48de</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.services.DefaultLoggingManager.StartableLoggingSystem</span></td><td><code>b121a97021902643</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.services.DefaultLoggingManagerFactory</span></td><td><code>eb1ab97193f0d177</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.services.LoggingServiceRegistry</span></td><td><code>f422be508a723dad</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.services.LoggingServiceRegistry.1</span></td><td><code>8077eb5bc8da45fa</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.services.LoggingServiceRegistry.CommandLineLogging</span></td><td><code>ab0f1f63de5d4641</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.services.TextStreamOutputEventListener</span></td><td><code>ef4d0c3267356598</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.sink.OutputEventListenerManager</span></td><td><code>d6dee3d6fea49020</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.sink.OutputEventListenerManager.1</span></td><td><code>1e218a705ff0ee7e</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.sink.OutputEventRenderer</span></td><td><code>ad1cc4fc552ab292</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.sink.OutputEventRenderer.1</span></td><td><code>b94418b2e260aede</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.sink.OutputEventRenderer.2</span></td><td><code>a956801cd98ca633</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.sink.OutputEventRenderer.LazyListener</span></td><td><code>7ee882569b166e1e</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.sink.OutputEventRenderer.SnapshotImpl</span></td><td><code>827634628a47c5f5</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.sink.OutputEventTransformer</span></td><td><code>06c2270eef0e291e</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.slf4j.BuildOperationAwareLogger</span></td><td><code>daea5fa552e68a8c</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.slf4j.OutputEventListenerBackedLogger</span></td><td><code>30ddd0a8ff91b5f5</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.slf4j.OutputEventListenerBackedLoggerContext</span></td><td><code>9d35d4b7a722eb08</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.slf4j.OutputEventListenerBackedLoggerContext.NoOpLogger</span></td><td><code>a09428f13d916349</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.slf4j.Slf4jLoggingConfigurer</span></td><td><code>75fba29c3739b15f</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.source.DefaultStdErrLoggingSystem</span></td><td><code>fd3dd0caab2f1d95</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.source.DefaultStdOutLoggingSystem</span></td><td><code>528bb39bfb67c3ae</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.source.JavaUtilLoggingSystem</span></td><td><code>5e967b17aabfd442</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.source.JavaUtilLoggingSystem.SnapshotImpl</span></td><td><code>15dfc30250723749</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.source.PrintStreamLoggingSystem</span></td><td><code>1ae6e6b715c6b3f9</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.source.PrintStreamLoggingSystem.1</span></td><td><code>65643cb979acba64</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.source.PrintStreamLoggingSystem.OutputEventDestination</span></td><td><code>8c1ddf1476568828</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.source.PrintStreamLoggingSystem.PrintStreamDestination</span></td><td><code>9e7273f370028123</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.source.PrintStreamLoggingSystem.SnapshotImpl</span></td><td><code>8f80a46f9780a57e</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.text.StyledTextOutput.Style</span></td><td><code>d676557b62e3f601</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.filesystem.services.FileSystemServices</span></td><td><code>b25a2a743a08dd2a</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.jansi.DefaultJansiRuntimeResolver</span></td><td><code>1aa17f25c9c1cad4</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.jansi.JansiBootPathConfigurer</span></td><td><code>3a766bce65ac1a48</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.jansi.JansiLibraryFactory</span></td><td><code>0cbaac430d6656c4</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.jansi.JansiStorageLocator</span></td><td><code>c8bff1ccb071f9b6</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.services.NativeServices</span></td><td><code>abb0c6b651fcb93a</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.services.NativeServices.1</span></td><td><code>cb6208604e1a9ad4</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.services.NativeServices.NativeFeatures</span></td><td><code>6aa09c4d82dd664e</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.services.NativeServices.NativeFeatures.1</span></td><td><code>a97bf0d4f5545599</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.services.NativeServices.NativeFeatures.2</span></td><td><code>b680e303b6631a7b</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.services.NativeServices.NativeServicesMode</span></td><td><code>c5dd13d016e14664</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.services.NativeServices.NativeServicesMode.1</span></td><td><code>95f5d7b5f2ef5cdf</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.services.NativeServices.NativeServicesMode.2</span></td><td><code>ed56f6dad8089839</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.services.NativeServices.NativeServicesMode.3</span></td><td><code>37a9e97bc1744917</code></td></tr><tr><td><span class="el_class">org.gradle.internal.reflect.JavaMethod</span></td><td><code>c42e01e56542d65c</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.KryoBackedMessageSerializer</span></td><td><code>0028157720ec1f27</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.ConnectionSet</span></td><td><code>323708d9214e34e4</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.ConnectionState</span></td><td><code>250fb1b274991d9a</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.DefaultMethodArgsSerializer</span></td><td><code>b5f4b38125033ffd</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.DefaultMethodArgsSerializer.ArraySerializer</span></td><td><code>16505d5ccbb1b78b</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.DefaultMethodArgsSerializer.EmptyArraySerializer</span></td><td><code>cdc53c79a631aa33</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.IncomingQueue</span></td><td><code>0e8ecdb8f31efe51</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.InterHubMessageSerializer</span></td><td><code>7d84d4aa85858c73</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.InterHubMessageSerializer.MessageReader</span></td><td><code>ab1cd6753eb75a29</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.InterHubMessageSerializer.MessageWriter</span></td><td><code>3e4611f758508afb</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.JavaSerializationBackedMethodArgsSerializer</span></td><td><code>4c7a738ee4525ff6</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHub</span></td><td><code>1326887a1f1da0ac</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHub.ChannelDispatch</span></td><td><code>8a9dfd1b6306d8e6</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHub.ConnectionDispatch</span></td><td><code>df1d0a86180d66e4</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHub.ConnectionReceive</span></td><td><code>e1dc78071e8e957d</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHub.Discard</span></td><td><code>63a8d677cc1f9101</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHub.Handler</span></td><td><code>3d232f51f2c02828</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHub.State</span></td><td><code>1b76747d7bce6b89</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHubBackedClient</span></td><td><code>77c2124c3c43d832</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection</span></td><td><code>c23964928f1aff22</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection.1</span></td><td><code>ac806a6bc6b1b21d</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection.2</span></td><td><code>8ac38215966e3a20</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection.DispatchWrapper</span></td><td><code>9aa5d8679dbc6601</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MethodInvocationSerializer</span></td><td><code>47063ab293644e83</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MethodInvocationSerializer.MethodDetails</span></td><td><code>b6b7fb55e88cc4b9</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MethodInvocationSerializer.MethodInvocationReader</span></td><td><code>e6b939136f207ff5</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MethodInvocationSerializer.MethodInvocationWriter</span></td><td><code>c3b77db1b2556afe</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.OutgoingQueue</span></td><td><code>fbcc05506ad40c68</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.protocol.ChannelIdentifier</span></td><td><code>7697ff6a7c712869</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.protocol.ChannelMessage</span></td><td><code>9bff479666e58802</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.protocol.EndOfStream</span></td><td><code>f29ffed85365f7db</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.protocol.InterHubMessage</span></td><td><code>0c6e49b6ec077e16</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.protocol.InterHubMessage.Delivery</span></td><td><code>0652d09c2a7fd1ac</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.queue.EndPointQueue</span></td><td><code>8038a5636529123d</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.queue.MultiChannelQueue</span></td><td><code>bcaac9c224068764</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.queue.MultiEndPointQueue</span></td><td><code>27222a892157733f</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.queue.MultiEndPointQueue.1</span></td><td><code>44049b3edc682954</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.queue.QueueInitializer</span></td><td><code>ad18361c23e679b1</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.inet.MultiChoiceAddress</span></td><td><code>91381aa03cdd48e7</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.inet.MultiChoiceAddressSerializer</span></td><td><code>7ffc395650705aaa</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.inet.SocketConnectCompletion</span></td><td><code>0da46ac4ccd1c9ce</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.inet.SocketConnection</span></td><td><code>b648fc2e70525f62</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.inet.SocketConnection.1</span></td><td><code>c7f1074dffaaa188</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.inet.SocketConnection.SocketInputStream</span></td><td><code>07d3128481116a21</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.inet.SocketConnection.SocketOutputStream</span></td><td><code>341e7a58a4db0e94</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.inet.SocketInetAddress</span></td><td><code>20cc3fd7992230e8</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.inet.SocketInetAddress.Serializer</span></td><td><code>d42dd7f644e6367c</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.inet.TcpOutgoingConnector</span></td><td><code>e658ec26090de909</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.services.MessagingServices</span></td><td><code>d686a35c2f44fd41</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.AbstractCollectionSerializer</span></td><td><code>7897b7a9a0c39b1b</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.AbstractDecoder</span></td><td><code>6f331f65d3691839</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.AbstractEncoder</span></td><td><code>44ea8279ea7b3a07</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.AbstractSerializer</span></td><td><code>d5cd8744f99ef12d</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory</span></td><td><code>83d030ef5f6c0526</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.BigDecimalSerializer</span></td><td><code>4dcd516a5e9202d8</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.BigIntegerSerializer</span></td><td><code>50f6ab963a855e2a</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.BooleanSerializer</span></td><td><code>9a343eeb20f2b7f4</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.ByteArraySerializer</span></td><td><code>9566e41ef84566ae</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.ByteSerializer</span></td><td><code>85286889be7534cf</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.CharSerializer</span></td><td><code>6fba21fa805857ff</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.DoubleSerializer</span></td><td><code>085b687ded9be124</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.EnumSerializer</span></td><td><code>a314f7118f1d0412</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.FileSerializer</span></td><td><code>c43bc85ad47073ee</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.FloatSerializer</span></td><td><code>dad7a35798e49d9d</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.IntegerSerializer</span></td><td><code>e8a55740afa66954</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.LongSerializer</span></td><td><code>3a08a2ef15abca0d</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.PathSerializer</span></td><td><code>22894f3c1859ada1</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.ShortSerializer</span></td><td><code>5791e5a0a4ad1ece</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.StringMapSerializer</span></td><td><code>eb348217154fd0ed</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.StringSerializer</span></td><td><code>01576ecfb2720760</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.ThrowableSerializer</span></td><td><code>ae463fe767977ceb</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.DefaultSerializer</span></td><td><code>f0908e23b4486288</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.DefaultSerializerRegistry</span></td><td><code>84449bcf590c1af7</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.DefaultSerializerRegistry.1</span></td><td><code>aeba2bb0cd2eab52</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.DefaultSerializerRegistry.HierarchySerializerMatcher</span></td><td><code>c4fa93579434fd2b</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.DefaultSerializerRegistry.InstanceBasedSerializerFactory</span></td><td><code>4d56c9c7fbddbcc0</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.DefaultSerializerRegistry.SerializerClassMatcherStrategy</span></td><td><code>ea36ea8beff22743</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.DefaultSerializerRegistry.StrictSerializerMatcher</span></td><td><code>6df6080c06573b93</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.DefaultSerializerRegistry.TaggedTypeSerializer</span></td><td><code>264fbb605d976b35</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.DefaultSerializerRegistry.TypeInfo</span></td><td><code>bd6904d4ac5974ce</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.HashCodeSerializer</span></td><td><code>4cc78fc15c246fbf</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.InputStreamBackedDecoder</span></td><td><code>1a43def6f05c6405</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.ListSerializer</span></td><td><code>fe472a367fb15381</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.kryo.KryoBackedDecoder</span></td><td><code>f9287092db21f40c</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.kryo.KryoBackedEncoder</span></td><td><code>c7b371f9548e9e06</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.kryo.TypeSafeSerializer</span></td><td><code>1dbc9e4c69fd1973</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.kryo.TypeSafeSerializer.1</span></td><td><code>bb88df969641a032</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.kryo.TypeSafeSerializer.2</span></td><td><code>599bac595545b9c0</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.AbstractServiceMethod</span></td><td><code>d8f9bf72435aa0d5</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceMethodFactory</span></td><td><code>7cd5dc9e6187cc39</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry</span></td><td><code>554c0bdbb65f55e5</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.1</span></td><td><code>726e10ffdfe2409a</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.ClassInspector</span></td><td><code>aa4210f935a4d0a5</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.ClassInspector.ClassDetails</span></td><td><code>53c53e0645999e10</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.CompositeServiceProvider</span></td><td><code>91db51aebd73dbaf</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.ConstructorService</span></td><td><code>bc8ae40bda9c59ff</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.FactoryMethodService</span></td><td><code>9f0229ae7d626482</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.FactoryService</span></td><td><code>c9da4433a3208962</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.FixedInstanceService</span></td><td><code>cf29b00c2e8b2d37</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.ManagedObjectServiceProvider</span></td><td><code>2ca44396bc0bc74b</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.OwnServices</span></td><td><code>1ee93f694ad228ec</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.ParentServices</span></td><td><code>1d4570e7353520f7</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.SingletonService</span></td><td><code>1f6b32eb0b444d88</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.SingletonService.BindState</span></td><td><code>3a2e6f45cbc059eb</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.State</span></td><td><code>455f607243c17726</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.ThisAsService</span></td><td><code>df926700e970f5a1</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.InjectUtil</span></td><td><code>4e32c5f95305147b</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.MethodHandleBasedServiceMethod</span></td><td><code>674037aa99129b52</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.MethodHandleBasedServiceMethodFactory</span></td><td><code>47e87df4713e4ce5</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.ReflectionBasedServiceMethod</span></td><td><code>56fdba7d8393253f</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.RelevantMethods</span></td><td><code>542516b051995f02</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.RelevantMethodsBuilder</span></td><td><code>2254a458e7bdf1d8</code></td></tr><tr><td><span class="el_class">org.gradle.internal.time.MonotonicClock</span></td><td><code>ba849f4eb1139bf6</code></td></tr><tr><td><span class="el_class">org.gradle.internal.time.Time</span></td><td><code>118854647ab7eed4</code></td></tr><tr><td><span class="el_class">org.gradle.internal.time.TimeSource</span></td><td><code>a96871955c3b895e</code></td></tr><tr><td><span class="el_class">org.gradle.internal.time.TimeSource.1</span></td><td><code>6de78f6b0e44a7b2</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.WorkerLoggingSerializer</span></td><td><code>adae78bad8b0e727</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.child.ActionExecutionWorker</span></td><td><code>a7d30aba9c762788</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.child.ActionExecutionWorker.1</span></td><td><code>d0eba6bfe3f78d57</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.child.DefaultWorkerDirectoryProvider</span></td><td><code>10469cccf2e081cb</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker</span></td><td><code>d51a401f71c96cf4</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.ContextImpl</span></td><td><code>6684822230e9827b</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.PrintUnrecoverableErrorToFileHandler</span></td><td><code>1b3eabcd9dbe24df</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.WorkerServices</span></td><td><code>14d92ee3ca1bb0be</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.WorkerServices.1</span></td><td><code>b7b72af63ebb5dff</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.WorkerServices.1.1</span></td><td><code>befc8ff806a5f547</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.child.WorkerLogEventListener</span></td><td><code>4a0b5fb708591833</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.messaging.WorkerConfig</span></td><td><code>8633f06980fb19fd</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.messaging.WorkerConfigSerializer</span></td><td><code>9cb8842482bd87b2</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.DisplayNameGenerator</span></td><td><code>1c70d4d828122f05</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.DisplayNameGenerator.IndicativeSentences</span></td><td><code>b23b44fe1a1ae4b6</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.DisplayNameGenerator.ReplaceUnderscores</span></td><td><code>45af1f815eb3bfc6</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.DisplayNameGenerator.Simple</span></td><td><code>3587fc3bd5ac68a7</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.DisplayNameGenerator.Standard</span></td><td><code>232bffaaa51a0c4e</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.TestInstance.Lifecycle</span></td><td><code>235138c6fffd45f1</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.extension.ConditionEvaluationResult</span></td><td><code>fc311dfabd3a0e23</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.extension.ExtensionContext</span></td><td><code>dacb7330135ba8f9</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.extension.ExtensionContext.Namespace</span></td><td><code>eb8d03782ab35d64</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.extension.ExtensionContext.Store</span></td><td><code>288780f400093c7c</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.extension.InvocationInterceptor</span></td><td><code>695ac2a6b4b9c7e4</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.JupiterTestEngine</span></td><td><code>011031d0b1fe58db</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.config.CachingJupiterConfiguration</span></td><td><code>9da5fe6b78ad9a14</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.config.DefaultJupiterConfiguration</span></td><td><code>bbee9c72790c271d</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.config.EnumConfigurationParameterConverter</span></td><td><code>433eec982a6fabbc</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.config.InstantiatingConfigurationParameterConverter</span></td><td><code>d2270f0957971443</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.AbstractExtensionContext</span></td><td><code>6b3fc41ad8b41d4f</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor</span></td><td><code>414ee653c9e673cf</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.ClassExtensionContext</span></td><td><code>e804dacaeaef4a6a</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.ClassTestDescriptor</span></td><td><code>2f87db51b4485e07</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.DefaultTestInstanceFactoryContext</span></td><td><code>b1b7d61e94c58605</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.DisplayNameUtils</span></td><td><code>8a6f8eeb3e12ddf6</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.ExtensionUtils</span></td><td><code>43a683ad1b768e92</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.JupiterEngineDescriptor</span></td><td><code>3d2dbddce296b041</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.JupiterEngineExtensionContext</span></td><td><code>7146ce9988edfce2</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.JupiterTestDescriptor</span></td><td><code>67ad750cdb2cb53b</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.LifecycleMethodUtils</span></td><td><code>286eb923d0b68032</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.MethodBasedTestDescriptor</span></td><td><code>f531f49451e39050</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.MethodExtensionContext</span></td><td><code>b5abe6523f4a32d7</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.TestInstanceLifecycleUtils</span></td><td><code>a247fc379f47df66</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor</span></td><td><code>35334f82ecefa63c</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.AbstractAnnotatedDescriptorWrapper</span></td><td><code>90b10f2d90d7b01b</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.AbstractOrderingVisitor</span></td><td><code>f8eb297929c247eb</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.AbstractOrderingVisitor.DescriptorWrapperOrderer</span></td><td><code>c8e1585f8474ed61</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.ClassOrderingVisitor</span></td><td><code>1f09fc1c6b9779bb</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.ClassSelectorResolver</span></td><td><code>e25bb2b197bc8493</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.DefaultClassDescriptor</span></td><td><code>9064f3528773a161</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.DiscoverySelectorResolver</span></td><td><code>5dc6be896f50996f</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.MethodFinder</span></td><td><code>621c8591e557439a</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.MethodOrderingVisitor</span></td><td><code>7d9864cebac818e1</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.MethodSelectorResolver</span></td><td><code>679c52dec5ee3cd2</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.MethodSelectorResolver.MethodType</span></td><td><code>2ca704c5264882ae</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.MethodSelectorResolver.MethodType.1</span></td><td><code>b3bc3007a7dfdaa0</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.MethodSelectorResolver.MethodType.2</span></td><td><code>598aec8eeefe85e3</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.MethodSelectorResolver.MethodType.3</span></td><td><code>e8fd5325e2431a2b</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsInnerClass</span></td><td><code>d746bcff9a71ec26</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsNestedTestClass</span></td><td><code>f75dfd9ee2347890</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsPotentialTestContainer</span></td><td><code>909f14a1b9fe84dc</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestClassWithTests</span></td><td><code>34690a186bfcf3ac</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestFactoryMethod</span></td><td><code>941a8af0d47a68fd</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestMethod</span></td><td><code>f2039dbd13fce110</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestTemplateMethod</span></td><td><code>c13a4260435c18a8</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestableMethod</span></td><td><code>4be487dee199f633</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.ConditionEvaluator</span></td><td><code>df91d94b180fe511</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.ConstructorInvocation</span></td><td><code>60b80968f2bdedc3</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.DefaultExecutableInvoker</span></td><td><code>97f15d1e3151968f</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.DefaultTestInstances</span></td><td><code>0fc6d90567826bc4</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.InterceptingExecutableInvoker</span></td><td><code>42cb185ff5e76387</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.ReflectiveInterceptorCall</span></td><td><code>7e154d03f7a732e5</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.InvocationInterceptorChain</span></td><td><code>9798b2a812d2015d</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.InvocationInterceptorChain.InterceptedInvocation</span></td><td><code>199eef1acbe0b316</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.InvocationInterceptorChain.ValidatingInvocation</span></td><td><code>f064b1c2c4a4bf86</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.JupiterEngineExecutionContext</span></td><td><code>b48cc2a96dab0116</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.JupiterEngineExecutionContext.Builder</span></td><td><code>d1557432e23d2776</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.JupiterEngineExecutionContext.State</span></td><td><code>3926323ef1c7fb03</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.MethodInvocation</span></td><td><code>8b8fd00463d994df</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.NamespaceAwareStore</span></td><td><code>00e5ea1337f34969</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.ParameterResolutionUtils</span></td><td><code>5aba48e342016f8f</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.TestInstancesProvider</span></td><td><code>357bca6226069e7b</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.DisabledCondition</span></td><td><code>1604b4e34c1363e4</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.ExtensionRegistry</span></td><td><code>687649643dbb04fc</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.MutableExtensionRegistry</span></td><td><code>4daca7ba95c88845</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.RepeatedTestExtension</span></td><td><code>7a30afad0f944ea5</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.TempDirectory</span></td><td><code>d2ce4804a30f8d8c</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.TempDirectory.Scope</span></td><td><code>81c9fea1068d7ff2</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.TestInfoParameterResolver</span></td><td><code>3c520f8376f91ff7</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.TestReporterParameterResolver</span></td><td><code>7187071bfc76c6ac</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.TimeoutConfiguration</span></td><td><code>44b8593a8e980687</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.TimeoutDurationParser</span></td><td><code>bb6a412c3829dae9</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.TimeoutExtension</span></td><td><code>13bcdadb20fcc7bb</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.support.JupiterThrowableCollectorFactory</span></td><td><code>46546a446de4c9c0</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.support.OpenTest4JAndJUnit4AwareThrowableCollector</span></td><td><code>e9ee7d4e1adecdd1</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.function.Try</span></td><td><code>5200e6adc191344c</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.function.Try.Success</span></td><td><code>98cdc5b539e1abfd</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.logging.LoggerFactory</span></td><td><code>39fdfe1f67bc0eda</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.logging.LoggerFactory.DelegatingLogger</span></td><td><code>c71dcf008235901c</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.support.AnnotationSupport</span></td><td><code>4b0c63263b83acb5</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.support.ReflectionSupport</span></td><td><code>db9de9450da5225a</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.AnnotationUtils</span></td><td><code>efebc064783617e1</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ClassLoaderUtils</span></td><td><code>0d0959e2f6aa173e</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ClassNamePatternFilterUtils</span></td><td><code>e725a6f058746f53</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ClassUtils</span></td><td><code>60a2276f3701443f</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ClasspathScanner</span></td><td><code>54e3df9bb2092b52</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.CollectionUtils</span></td><td><code>d47999c87f911057</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.Preconditions</span></td><td><code>2c2a6e13cda880d4</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ReflectionUtils</span></td><td><code>172cf9786a51e883</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ReflectionUtils.HierarchyTraversalMode</span></td><td><code>349d54e51f2ffb44</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.StringUtils</span></td><td><code>237c0cb03ac19254</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.CompositeFilter</span></td><td><code>6a52e5b4f7292f48</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.CompositeFilter.1</span></td><td><code>cc0aadc5880fb4e4</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.EngineDiscoveryListener</span></td><td><code>c3024068e43bb7f4</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.EngineDiscoveryListener.1</span></td><td><code>a4cdbe8dd38d8f57</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.EngineExecutionListener</span></td><td><code>693fee5cbd4c2df0</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.EngineExecutionListener.1</span></td><td><code>999902b68f81dd9a</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.ExecutionRequest</span></td><td><code>b74e001541d12dd1</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.Filter</span></td><td><code>5ffaaa90df97ca04</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.FilterResult</span></td><td><code>a787a89e1f12d534</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.SelectorResolutionResult</span></td><td><code>ca52e15a278dcf5c</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.SelectorResolutionResult.Status</span></td><td><code>c505c2274f89f01d</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.TestDescriptor</span></td><td><code>a828437d5cd2ea4f</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.TestDescriptor.Type</span></td><td><code>7628a7c639ef3a60</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.TestExecutionResult</span></td><td><code>6b1b512d17bb680e</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.TestExecutionResult.Status</span></td><td><code>ad256e9fb4407e04</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.UniqueId</span></td><td><code>4308af7bfbde4ba1</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.UniqueId.Segment</span></td><td><code>f2d36a9ca9d14367</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.UniqueIdFormat</span></td><td><code>6c86362ad62a1954</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.discovery.ClassSelector</span></td><td><code>3174b37b3ba53b7e</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.discovery.DiscoverySelectors</span></td><td><code>7863536f4276f4dd</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.discovery.MethodSelector</span></td><td><code>3fe9eccb2ba205d2</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.descriptor.AbstractTestDescriptor</span></td><td><code>b9c965daf4d9a476</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.descriptor.ClassSource</span></td><td><code>37bd92069360f773</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.descriptor.EngineDescriptor</span></td><td><code>8f2f77769ee0e9c9</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.descriptor.MethodSource</span></td><td><code>1d55ac49f5cabc20</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.ClassContainerSelectorResolver</span></td><td><code>dc6114dc7e983729</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolution</span></td><td><code>506a6b871d2fd8fe</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolution.DefaultContext</span></td><td><code>db18f59764ea1f2a</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolver</span></td><td><code>e7fb3042ea8112f0</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolver.Builder</span></td><td><code>d86618af76b95613</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolver.DefaultInitializationContext</span></td><td><code>1904819635770d62</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.SelectorResolver</span></td><td><code>e64e4fd796d9641d</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.SelectorResolver.Match</span></td><td><code>789c682356298d75</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.SelectorResolver.Match.Type</span></td><td><code>1761e56439c8d93c</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.SelectorResolver.Resolution</span></td><td><code>ab713bbdee405d17</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.ExclusiveResource</span></td><td><code>c29acbe41918b09a</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.ExclusiveResource.LockMode</span></td><td><code>96e95d210b150f97</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine</span></td><td><code>3ac292151741b7fc</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor</span></td><td><code>963cba9b029b4b19</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.LockManager</span></td><td><code>5aedd3bd3957b5a6</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.Node</span></td><td><code>5c68850150771b6e</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.Node.SkipResult</span></td><td><code>5aca1404ff0f9294</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.NodeExecutionAdvisor</span></td><td><code>7c2670c7a35cfba6</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.NodeTestTask</span></td><td><code>f652d8cc5e11bdc5</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.NodeTestTask.DefaultDynamicTestExecutor</span></td><td><code>abd00dd511d28b2f</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.NodeTestTaskContext</span></td><td><code>bdf88cd3834282a5</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.NodeTreeWalker</span></td><td><code>c689092b060d0b12</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.NodeUtils</span></td><td><code>a7ec8f66d373c169</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.NodeUtils.1</span></td><td><code>5a44a7e2cbf864b4</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService</span></td><td><code>2f3b283eba81629f</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.SingleLock</span></td><td><code>2036ec8b92a38105</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.ThrowableCollector</span></td><td><code>6fd7a27676be3c50</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.store.NamespacedHierarchicalStore</span></td><td><code>f773d297d7dc3275</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.store.NamespacedHierarchicalStore.CompositeKey</span></td><td><code>3f8758b273ff41a9</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.store.NamespacedHierarchicalStore.EvaluatedValue</span></td><td><code>3362298f87d9b160</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.store.NamespacedHierarchicalStore.MemoizingSupplier</span></td><td><code>be04f7b805ba11e1</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.store.NamespacedHierarchicalStore.StoredValue</span></td><td><code>8e79d12821d1a835</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.EngineDiscoveryResult</span></td><td><code>44ae55d9c94cdd13</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.EngineDiscoveryResult.Status</span></td><td><code>c6f73a818e869b3a</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.LauncherDiscoveryListener</span></td><td><code>c8e17526e895636b</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.LauncherDiscoveryListener.1</span></td><td><code>8959ed22ae756aca</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.LauncherSessionListener</span></td><td><code>fd09754de5a01f16</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.LauncherSessionListener.1</span></td><td><code>44b3640faa83f474</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.TestExecutionListener</span></td><td><code>268b267f76852bf6</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.TestIdentifier</span></td><td><code>543c59738c036e7f</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.TestPlan</span></td><td><code>125780e74ba9c50c</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.CompositeEngineExecutionListener</span></td><td><code>cea0030887322419</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.CompositeTestExecutionListener</span></td><td><code>283b3c281a0728e5</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DefaultDiscoveryRequest</span></td><td><code>5706e3938a47edbc</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DefaultLauncher</span></td><td><code>0bd6690ec3f385ab</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DefaultLauncherConfig</span></td><td><code>6fbfe73d83f861ce</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DefaultLauncherSession</span></td><td><code>593c9fadcd439bc2</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DefaultLauncherSession.1</span></td><td><code>4e7ad5e44df7008e</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DefaultLauncherSession.ClosedLauncher</span></td><td><code>1fe238faa78c4ee2</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DelegatingEngineExecutionListener</span></td><td><code>98129d4f91790da1</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DelegatingLauncher</span></td><td><code>443e4e7cef8118ba</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.EngineDiscoveryOrchestrator</span></td><td><code>9260ad30b5b1dcb4</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.EngineDiscoveryOrchestrator.Phase</span></td><td><code>c5da52319ffdb6cc</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.EngineDiscoveryResultValidator</span></td><td><code>241befbef6ea2edf</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.EngineExecutionOrchestrator</span></td><td><code>61a7d44fcaf1fd6d</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.EngineFilterer</span></td><td><code>5886e10a3932fe3b</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.EngineIdValidator</span></td><td><code>a3cbf4111f4706bd</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.ExecutionListenerAdapter</span></td><td><code>027b702b863a1b7b</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.InternalTestPlan</span></td><td><code>6c1da5c749fc1754</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.IterationOrder</span></td><td><code>67fbbac106398c55</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.IterationOrder.1</span></td><td><code>c32d4c631876b3d3</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.IterationOrder.2</span></td><td><code>b3c544910702c338</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherConfig</span></td><td><code>58100dc14c875cb9</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherConfig.Builder</span></td><td><code>b0426f929eec8a53</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherConfigurationParameters</span></td><td><code>443c9d189d7662aa</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherConfigurationParameters.Builder</span></td><td><code>89b3d95a424a68ea</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherConfigurationParameters.ParameterProvider</span></td><td><code>da0ae1240b20de42</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherConfigurationParameters.ParameterProvider.2</span></td><td><code>481aeb52e3ac15c4</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherConfigurationParameters.ParameterProvider.3</span></td><td><code>2d8e65fa362495e2</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherDiscoveryRequestBuilder</span></td><td><code>9eec1c5d1eee9fa1</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherDiscoveryResult</span></td><td><code>6ba764b26de92159</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherFactory</span></td><td><code>7c870cd17431cb9d</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherListenerRegistry</span></td><td><code>64d5f2a8ac991f94</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.ListenerRegistry</span></td><td><code>387fd40f10f1e6b5</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.OutcomeDelayingEngineExecutionListener</span></td><td><code>4c68ad66a29b4dd7</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.OutcomeDelayingEngineExecutionListener.Outcome</span></td><td><code>b6ca0889820c3cca</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.ServiceLoaderRegistry</span></td><td><code>2a95faa488a889e7</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.ServiceLoaderTestEngineRegistry</span></td><td><code>69f4349cc7042ed7</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.StackTracePruningEngineExecutionListener</span></td><td><code>dbf05583a874b58d</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.StreamInterceptingTestExecutionListener</span></td><td><code>36972afd5e542435</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.listeners.UniqueIdTrackingListener</span></td><td><code>05baa08d39a86a6a</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.listeners.discovery.AbortOnFailureLauncherDiscoveryListener</span></td><td><code>ee6720edc40a9ccf</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.listeners.discovery.LauncherDiscoveryListeners</span></td><td><code>03063623efb5e8b2</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.listeners.discovery.LauncherDiscoveryListeners.LauncherDiscoveryListenerType</span></td><td><code>e18e1a0e62e22287</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.listeners.session.LauncherSessionListeners</span></td><td><code>792ecbf10e49d607</code></td></tr><tr><td><span class="el_class">org.mockito.Answers</span></td><td><code>afd86bd70185fc83</code></td></tr><tr><td><span class="el_class">org.mockito.Mock.Strictness</span></td><td><code>009145878d43835a</code></td></tr><tr><td><span class="el_class">org.mockito.Mockito</span></td><td><code>5e987adfdd19a5b2</code></td></tr><tr><td><span class="el_class">org.mockito.MockitoAnnotations</span></td><td><code>74524dc0e5acf9f0</code></td></tr><tr><td><span class="el_class">org.mockito.configuration.DefaultMockitoConfiguration</span></td><td><code>b174879ae8ed115e</code></td></tr><tr><td><span class="el_class">org.mockito.internal.MockitoCore</span></td><td><code>f49bfbc3fe5350e5</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.CaptorAnnotationProcessor</span></td><td><code>2f21a4570b50b64a</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.ClassPathLoader</span></td><td><code>173a7c62160e6dbf</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.DefaultDoNotMockEnforcer</span></td><td><code>6a7cb49285062e7d</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.DefaultInjectionEngine</span></td><td><code>5622872b1b0aa27c</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.GlobalConfiguration</span></td><td><code>0df96c19dabdcfc0</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.IndependentAnnotationEngine</span></td><td><code>54aaab1155cc41fd</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.IndependentAnnotationEngine.1</span></td><td><code>288c2838a4732b5b</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.InjectingAnnotationEngine</span></td><td><code>3402d3906098d7e2</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.MockAnnotationProcessor</span></td><td><code>f32d9954d5c65205</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.SpyAnnotationEngine</span></td><td><code>6b53375c8a8a5cc1</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.ConstructorInjection</span></td><td><code>19dcf00154169dc3</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.ConstructorInjection.SimpleArgumentResolver</span></td><td><code>80e845e136e4a645</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.MockInjection</span></td><td><code>ca48d2168eb0379e</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.MockInjection.OngoingMockInjection</span></td><td><code>7332cebf2a8af19f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.MockInjectionStrategy</span></td><td><code>c2617130af96367b</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.MockInjectionStrategy.1</span></td><td><code>452f05e1d767d35b</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.PropertyAndSetterInjection</span></td><td><code>47bbc3a0a738f758</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.SpyOnInjectedFieldsHandler</span></td><td><code>c215fb083e355a56</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.filter.NameBasedCandidateFilter</span></td><td><code>022739292a1ee0bb</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.filter.TerminalMockCandidateFilter</span></td><td><code>33c9b708ed3e7c78</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.filter.TypeBasedCandidateFilter</span></td><td><code>e42765a95b390b22</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.scanner.InjectMocksScanner</span></td><td><code>46136c11b8e2ed65</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.scanner.MockScanner</span></td><td><code>9a1662242e3f2d24</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.plugins.DefaultMockitoPlugins</span></td><td><code>f2b7ceb1ff6789f3</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.plugins.DefaultPluginSwitch</span></td><td><code>bae35df711d1f747</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.plugins.PluginFileReader</span></td><td><code>f40c61def10749c5</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.plugins.PluginFinder</span></td><td><code>bd3cbb4ee283ccc1</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.plugins.PluginInitializer</span></td><td><code>7b55758cab21a0db</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.plugins.PluginLoader</span></td><td><code>1702b486e8f8c9ad</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.plugins.PluginRegistry</span></td><td><code>edba7ea1c6a85364</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.plugins.Plugins</span></td><td><code>b0a44acc68acdddb</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.DelegatingMethod</span></td><td><code>aa9a3605cadc5938</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.MockSettingsImpl</span></td><td><code>3040d7b3b87e5329</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.SuspendMethod</span></td><td><code>5807a496dfc9c4c6</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.ByteBuddyCrossClassLoaderSerializationSupport</span></td><td><code>cc16221692a6ad40</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.BytecodeGenerator</span></td><td><code>b96181544d17b32a</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.InlineByteBuddyMockMaker</span></td><td><code>a1a0ac895421946d</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.InlineBytecodeGenerator</span></td><td><code>4d280bd4890c7bfc</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.InlineBytecodeGenerator.ParameterWritingVisitorWrapper</span></td><td><code>f687cffac707cab0</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.InlineBytecodeGenerator.ParameterWritingVisitorWrapper.MethodParameterStrippingMethodVisitor</span></td><td><code>f73bf14929b93218</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.InlineBytecodeGenerator.ParameterWritingVisitorWrapper.ParameterAddingClassVisitor</span></td><td><code>d9e075cf41f65b6b</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.InlineDelegateByteBuddyMockMaker</span></td><td><code>60d0c826d258f2c7</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.InlineDelegateByteBuddyMockMaker.1</span></td><td><code>8ed606a1d3b15b19</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.MockFeatures</span></td><td><code>3948e31575d7accd</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.MockMethodAdvice</span></td><td><code>f2359792dc3778e4</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.MockMethodAdvice.ConstructorShortcut</span></td><td><code>e37fbd5282bb870b</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.MockMethodAdvice.ConstructorShortcut.1</span></td><td><code>d0e13ff90475a1a2</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.MockMethodAdvice.RealMethodCall</span></td><td><code>c2369bb294a6357d</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.MockMethodAdvice.ReturnValueWrapper</span></td><td><code>00efacc0ab0c5045</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.MockMethodAdvice.SelfCallInfo</span></td><td><code>23361b97116d3bc6</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.MockMethodInterceptor</span></td><td><code>0cc689df0bc804c0</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.MockMethodInterceptor.DispatcherDefaultingToRealMethod</span></td><td><code>dcca41190d27ae99</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.ModuleHandler</span></td><td><code>a9609957ab4bbbbb</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.ModuleHandler.ModuleSystemFound</span></td><td><code>8d938a4ac4779d75</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.StackWalkerChecker</span></td><td><code>68e569e3f7178506</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.SubclassBytecodeGenerator</span></td><td><code>4c19068b417bbacb</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.SubclassInjectionLoader</span></td><td><code>b44aeab62a314e0f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.SubclassInjectionLoader.WithReflection</span></td><td><code>4fa50c5021fa78c0</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.TypeCachingBytecodeGenerator</span></td><td><code>9b77b7f9f15ce65b</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.TypeCachingBytecodeGenerator.MockitoMockKey</span></td><td><code>6ab1c48e921f0e50</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.TypeCachingBytecodeGenerator.TypeCachingLock</span></td><td><code>f3718822abb34b6b</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.TypeSupport</span></td><td><code>d98a4f5abd337730</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.instance.DefaultInstantiatorProvider</span></td><td><code>844386c7887007f1</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.instance.ObjenesisInstantiator</span></td><td><code>7a7c1771759c8b2f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.settings.CreationSettings</span></td><td><code>1d27e65e4db303b9</code></td></tr><tr><td><span class="el_class">org.mockito.internal.debugging.LocationFactory</span></td><td><code>20c7d5b8c58d83b6</code></td></tr><tr><td><span class="el_class">org.mockito.internal.debugging.LocationFactory.DefaultLocationFactory</span></td><td><code>f8e464fb84825981</code></td></tr><tr><td><span class="el_class">org.mockito.internal.debugging.LocationImpl</span></td><td><code>530a4709e6947f60</code></td></tr><tr><td><span class="el_class">org.mockito.internal.debugging.LocationImpl.MetadataShim</span></td><td><code>e0e02617575176a4</code></td></tr><tr><td><span class="el_class">org.mockito.internal.exceptions.stacktrace.DefaultStackTraceCleaner</span></td><td><code>ccefdaf75b25508d</code></td></tr><tr><td><span class="el_class">org.mockito.internal.exceptions.stacktrace.DefaultStackTraceCleanerProvider</span></td><td><code>b96ca03f68c6b0bc</code></td></tr><tr><td><span class="el_class">org.mockito.internal.framework.DefaultMockitoFramework</span></td><td><code>9ff7a406a63b11b2</code></td></tr><tr><td><span class="el_class">org.mockito.internal.framework.DefaultMockitoSession</span></td><td><code>b769df66d2932b43</code></td></tr><tr><td><span class="el_class">org.mockito.internal.framework.DefaultMockitoSession.1</span></td><td><code>6d40a180fd180112</code></td></tr><tr><td><span class="el_class">org.mockito.internal.handler.InvocationNotifierHandler</span></td><td><code>81a88d2a9823ca2e</code></td></tr><tr><td><span class="el_class">org.mockito.internal.handler.MockHandlerFactory</span></td><td><code>60aaf611c9f037ba</code></td></tr><tr><td><span class="el_class">org.mockito.internal.handler.MockHandlerImpl</span></td><td><code>40af730c41726d19</code></td></tr><tr><td><span class="el_class">org.mockito.internal.handler.NullResultGuardian</span></td><td><code>887855f598dc7f26</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.ArgumentsProcessor</span></td><td><code>48a63d334fbe1568</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.DefaultInvocationFactory</span></td><td><code>fd7a2f1ca0abf244</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.InterceptedInvocation</span></td><td><code>2bc1759562590122</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.InterceptedInvocation.1</span></td><td><code>a808ee7e12b0c370</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.InvocationComparator</span></td><td><code>961ab6368446cd9c</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.InvocationMatcher</span></td><td><code>a60a277cde788c00</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.InvocationMatcher.1</span></td><td><code>d5c4b96c4388ebd1</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.MatcherApplicationStrategy</span></td><td><code>c26110ae251954b2</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.MatchersBinder</span></td><td><code>7855054a8c7718ee</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.RealMethod.IsIllegal</span></td><td><code>64f3caff97edef01</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.StubInfoImpl</span></td><td><code>9766984c92e9959b</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.TypeSafeMatching</span></td><td><code>db8fac8befb40512</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.finder.AllInvocationsFinder</span></td><td><code>a80f90b774f88fc5</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.mockref.MockWeakReference</span></td><td><code>1fbf38ee01ef223b</code></td></tr><tr><td><span class="el_class">org.mockito.internal.junit.DefaultStubbingLookupListener</span></td><td><code>13dcfa4167b96780</code></td></tr><tr><td><span class="el_class">org.mockito.internal.junit.UniversalTestListener</span></td><td><code>b0cc5166693438a8</code></td></tr><tr><td><span class="el_class">org.mockito.internal.junit.UniversalTestListener.1</span></td><td><code>c4d90e297ae82cc7</code></td></tr><tr><td><span class="el_class">org.mockito.internal.junit.UnusedStubbings</span></td><td><code>b53675bd52d6172d</code></td></tr><tr><td><span class="el_class">org.mockito.internal.junit.UnusedStubbingsFinder</span></td><td><code>675da25e30c00788</code></td></tr><tr><td><span class="el_class">org.mockito.internal.listeners.StubbingLookupNotifier</span></td><td><code>6f87fdb14780b091</code></td></tr><tr><td><span class="el_class">org.mockito.internal.listeners.StubbingLookupNotifier.Event</span></td><td><code>f6cc7c2930ac8f03</code></td></tr><tr><td><span class="el_class">org.mockito.internal.matchers.Equality</span></td><td><code>341b019eaeb85d40</code></td></tr><tr><td><span class="el_class">org.mockito.internal.matchers.Equals</span></td><td><code>84c89c09d537ae1d</code></td></tr><tr><td><span class="el_class">org.mockito.internal.progress.ArgumentMatcherStorageImpl</span></td><td><code>bd022035831d5c7c</code></td></tr><tr><td><span class="el_class">org.mockito.internal.progress.MockingProgressImpl</span></td><td><code>b4b478523e99786f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.progress.MockingProgressImpl.1</span></td><td><code>9f7db825fdcdf194</code></td></tr><tr><td><span class="el_class">org.mockito.internal.progress.SequenceNumber</span></td><td><code>a68ee1dd45f51b97</code></td></tr><tr><td><span class="el_class">org.mockito.internal.progress.ThreadSafeMockingProgress</span></td><td><code>452aa6e38ddff43e</code></td></tr><tr><td><span class="el_class">org.mockito.internal.progress.ThreadSafeMockingProgress.1</span></td><td><code>79ae9726492f0c4f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.session.DefaultMockitoSessionBuilder</span></td><td><code>b96a72121a8d44b7</code></td></tr><tr><td><span class="el_class">org.mockito.internal.session.MockitoLoggerAdapter</span></td><td><code>493d0e9955f91a80</code></td></tr><tr><td><span class="el_class">org.mockito.internal.session.MockitoSessionLoggerAdapter</span></td><td><code>f55620e96a8de521</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.BaseStubbing</span></td><td><code>7fb9abb0c3eadb7f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.ConsecutiveStubbing</span></td><td><code>557234368bf5ca41</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.DefaultLenientStubber</span></td><td><code>eb65121929ef8fcc</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.DoAnswerStyleStubbing</span></td><td><code>6e7ca0308caa0784</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.InvocationContainerImpl</span></td><td><code>67208a7429ee203f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.OngoingStubbingImpl</span></td><td><code>747b28f7f0499aba</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.StrictnessSelector</span></td><td><code>00cb65fb01fdc580</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.StubbedInvocationMatcher</span></td><td><code>73693c29dbd5f1d4</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.StubbingComparator</span></td><td><code>8d9934f6f6956410</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.UnusedStubbingReporting</span></td><td><code>076cd36a765c131f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.answers.CallsRealMethods</span></td><td><code>e57edbc68b0e39e6</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.answers.DefaultAnswerValidator</span></td><td><code>bc157688cbf26d9c</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.answers.InvocationInfo</span></td><td><code>35c4a7d4431e2604</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.answers.Returns</span></td><td><code>419d0de7c8cd9ec2</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.defaultanswers.GloballyConfiguredAnswer</span></td><td><code>b4af5d0cc4127c43</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.defaultanswers.ReturnsDeepStubs</span></td><td><code>9290a19f5dbdf1b2</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.defaultanswers.ReturnsEmptyValues</span></td><td><code>d6ed669583d1bf96</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.defaultanswers.ReturnsMocks</span></td><td><code>99d9220ab6ee9e86</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.defaultanswers.ReturnsMoreEmptyValues</span></td><td><code>708bd411a28382b5</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.defaultanswers.ReturnsSmartNulls</span></td><td><code>f434f2f732e6e80e</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.defaultanswers.TriesToReturnSelf</span></td><td><code>13e6f22c3923267d</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.Checks</span></td><td><code>693b7ec3dc9db88a</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.ConsoleMockitoLogger</span></td><td><code>8eb43018d32cf683</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.DefaultMockingDetails</span></td><td><code>445b7a7104a677ce</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.KotlinInlineClassUtil</span></td><td><code>8f2e65801baf9ad5</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.MockCreationValidator</span></td><td><code>83a10f2760252cf3</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.MockNameImpl</span></td><td><code>009cd5fc276ed0dd</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.MockUtil</span></td><td><code>8cedd1d6aa623c6c</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.ObjectMethodsGuru</span></td><td><code>e958146f93547352</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.Primitives</span></td><td><code>6b6a08aaf147839f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.StringUtil</span></td><td><code>0a51b9987b23cb8a</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.collections.HashCodeAndEqualsMockWrapper</span></td><td><code>93f7437facb707c5</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.collections.HashCodeAndEqualsSafeSet</span></td><td><code>737466b57a8efbc9</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.collections.HashCodeAndEqualsSafeSet.1</span></td><td><code>42fcd15141d4c88d</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.collections.Iterables</span></td><td><code>f7eb3a38de601237</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.collections.Sets</span></td><td><code>31c2cf4c7d79f16e</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.concurrent.DetachedThreadLocal</span></td><td><code>24c845c0cee0c23b</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.concurrent.DetachedThreadLocal.1</span></td><td><code>defaf890898faa64</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.concurrent.DetachedThreadLocal.Cleaner</span></td><td><code>fe82f09eda153c82</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.concurrent.WeakConcurrentMap</span></td><td><code>317df0cbe9bf65e4</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.concurrent.WeakConcurrentMap.LatentKey</span></td><td><code>49d0008ff01c2270</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.concurrent.WeakConcurrentMap.WeakKey</span></td><td><code>c9b8ab481aee9c32</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.concurrent.WeakConcurrentMap.WithInlinedExpunction</span></td><td><code>2900bb8f66594337</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.concurrent.WeakConcurrentSet</span></td><td><code>01665a2956990716</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.concurrent.WeakConcurrentSet.Cleaner</span></td><td><code>8e47207f365780a7</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.io.IOUtil</span></td><td><code>85aaa73b6a20c3ce</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.reflection.FieldInitializationReport</span></td><td><code>afb34a6be447d8bd</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.reflection.FieldInitializer</span></td><td><code>5664ed6e482410e9</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.reflection.FieldInitializer.ParameterizedConstructorInstantiator</span></td><td><code>41b0a2436abbee69</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.reflection.FieldInitializer.ParameterizedConstructorInstantiator.1</span></td><td><code>4c9971e1a5fee49f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.reflection.FieldReader</span></td><td><code>2d76f64107151601</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.reflection.GenericMetadataSupport</span></td><td><code>fa7ecde5970c0e5d</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.reflection.GenericMetadataSupport.FromClassGenericMetadataSupport</span></td><td><code>99c88b2ac93b8f3f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.reflection.GenericMetadataSupport.NotGenericReturnTypeSupport</span></td><td><code>8c611ef213f94120</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.reflection.GenericMetadataSupport.ParameterizedReturnType</span></td><td><code>25e3bc9dabf2fa9d</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.reflection.InstrumentationMemberAccessor</span></td><td><code>9e6d6acd35084d39</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.reflection.ModuleMemberAccessor</span></td><td><code>df6459cdb157634f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.verification.DefaultRegisteredInvocations</span></td><td><code>48184ff2108397ec</code></td></tr><tr><td><span class="el_class">org.mockito.junit.jupiter.MockitoExtension</span></td><td><code>15127f132851319e</code></td></tr><tr><td><span class="el_class">org.mockito.junit.jupiter.resolver.CaptorParameterResolver</span></td><td><code>2e8866c6a5127d6f</code></td></tr><tr><td><span class="el_class">org.mockito.junit.jupiter.resolver.CompositeParameterResolver</span></td><td><code>c7a126226052e288</code></td></tr><tr><td><span class="el_class">org.mockito.junit.jupiter.resolver.MockParameterResolver</span></td><td><code>2a46311d1d569871</code></td></tr><tr><td><span class="el_class">org.mockito.mock.MockType</span></td><td><code>0b5105452bbd0790</code></td></tr><tr><td><span class="el_class">org.mockito.mock.SerializableMode</span></td><td><code>d8db118920e53367</code></td></tr><tr><td><span class="el_class">org.mockito.plugins.AnnotationEngine.NoAction</span></td><td><code>cccb6d6b2cd49244</code></td></tr><tr><td><span class="el_class">org.mockito.plugins.DoNotMockEnforcer</span></td><td><code>d84a80636a3b2091</code></td></tr><tr><td><span class="el_class">org.mockito.plugins.DoNotMockEnforcer.Cache</span></td><td><code>7ad724250d9a8fd2</code></td></tr><tr><td><span class="el_class">org.mockito.quality.Strictness</span></td><td><code>fd006704ba980aef</code></td></tr><tr><td><span class="el_class">org.objenesis.ObjenesisBase</span></td><td><code>0c1d2fd83029257f</code></td></tr><tr><td><span class="el_class">org.objenesis.ObjenesisStd</span></td><td><code>f35c83a75caea811</code></td></tr><tr><td><span class="el_class">org.objenesis.strategy.BaseInstantiatorStrategy</span></td><td><code>b0aaa6460452f5ce</code></td></tr><tr><td><span class="el_class">org.objenesis.strategy.StdInstantiatorStrategy</span></td><td><code>abae05ba56ea35a6</code></td></tr><tr><td><span class="el_class">org.slf4j.LoggerFactory</span></td><td><code>a381b7ddf19bf47d</code></td></tr><tr><td><span class="el_class">org.slf4j.bridge.SLF4JBridgeHandler</span></td><td><code>a24ab9068b3f1049</code></td></tr><tr><td><span class="el_class">org.slf4j.helpers.NOPLoggerFactory</span></td><td><code>54f5632bfcb8d8d5</code></td></tr><tr><td><span class="el_class">org.slf4j.helpers.SubstituteLoggerFactory</span></td><td><code>dc7efc0107a4a62d</code></td></tr><tr><td><span class="el_class">org.slf4j.helpers.Util</span></td><td><code>857ff3acc0576435</code></td></tr><tr><td><span class="el_class">org.slf4j.impl.StaticLoggerBinder</span></td><td><code>6822bf7129d487fa</code></td></tr><tr><td><span class="el_class">org.springframework.aop.support.AopUtils</span></td><td><code>54db49eee568bbd6</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.mock.mockito.SpringBootMockResolver</span></td><td><code>e7844a493ab8f94c</code></td></tr><tr><td><span class="el_class">org.springframework.transaction.annotation.Isolation</span></td><td><code>37b131a74452c371</code></td></tr><tr><td><span class="el_class">org.springframework.transaction.annotation.Propagation</span></td><td><code>98d9856e50d13361</code></td></tr><tr><td><span class="el_class">org.springframework.util.Assert</span></td><td><code>fff12e6566010a09</code></td></tr><tr><td><span class="el_class">org.springframework.util.ClassUtils</span></td><td><code>e27c2a38ca92de9c</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrentReferenceHashMap</span></td><td><code>722cd58749bce5da</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrentReferenceHashMap.ReferenceManager</span></td><td><code>35eb6b9c1f2eedb5</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrentReferenceHashMap.ReferenceType</span></td><td><code>5b823be241865c2f</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrentReferenceHashMap.Segment</span></td><td><code>5daee5d71f2a6fe2</code></td></tr><tr><td><span class="el_class">sun.text.resources.cldr.ext.FormatData_ko</span></td><td><code>baf0b0c5ab453b12</code></td></tr><tr><td><span class="el_class">sun.util.resources.cldr.provider.CLDRLocaleDataMetaInfo</span></td><td><code>9ed83010eeaa402e</code></td></tr><tr><td><span class="el_class">sun.util.resources.provider.LocaleDataProvider</span></td><td><code>090384bcacb31f21</code></td></tr><tr><td><span class="el_class">worker.org.gradle.api.JavaVersion</span></td><td><code>b1ecdf7e3318cb73</code></td></tr><tr><td><span class="el_class">worker.org.gradle.api.internal.jvm.JavaVersionParser</span></td><td><code>1206b4dd1a2e9827</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.classloader.ClassLoaderSpec</span></td><td><code>cb374b01ccbebc0b</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.classloader.ClassLoaderUtils</span></td><td><code>8203100709821636</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.classloader.ClassLoaderUtils.AbstractClassLoaderLookuper</span></td><td><code>c285dc94ede87ba6</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.classloader.ClassLoaderUtils.Java9PackagesFetcher</span></td><td><code>66503273ab6df058</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.classloader.ClassLoaderUtils.LookupClassDefiner</span></td><td><code>101fed03f270a39f</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.classloader.FilteringClassLoader</span></td><td><code>685f3dec8c07e429</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.classloader.FilteringClassLoader.RetrieveSystemPackagesClassLoader</span></td><td><code>f37f538880fb8032</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.classloader.FilteringClassLoader.Spec</span></td><td><code>66254ecaab39094b</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.classloader.FilteringClassLoader.TrieSet</span></td><td><code>9ca6d89930a3c026</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.stream.EncodedStream.EncodedInput</span></td><td><code>6e5f5782b741154c</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.util.Trie</span></td><td><code>19fbee069a29feb3</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.util.Trie.Builder</span></td><td><code>3ff89b3303eddda1</code></td></tr><tr><td><span class="el_class">worker.org.gradle.process.internal.worker.GradleWorkerMain</span></td><td><code>232767ef46e8d7ca</code></td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/src/main/java/com/softeer/backend/global/common/code/status/ErrorStatus.java b/src/main/java/com/softeer/backend/global/common/code/status/ErrorStatus.java
    index 194eb0ca..f740269f 100644
    --- a/src/main/java/com/softeer/backend/global/common/code/status/ErrorStatus.java
    +++ b/src/main/java/com/softeer/backend/global/common/code/status/ErrorStatus.java
    @@ -36,7 +36,10 @@ public enum ErrorStatus implements BaseErrorCode {
         _AUTH_CODE_ISSUE_LIMIT_EXCEEDED(HttpStatus.BAD_REQUEST, "A403",
                 "인증 코드 발급 횟수를 초과하였습니다. 나중에 다시 시도하세요."),
         _AUTH_CODE_NOT_VERIFIED(HttpStatus.BAD_REQUEST, "A404", "인증되지 않은 상태에서 로그인 할 수 없습니다."),
    -    _AUTH_USERNAME_NOT_MATCH(HttpStatus.BAD_REQUEST, "A405", "이미 등록된 번호입니다.");
    +    _AUTH_USERNAME_NOT_MATCH(HttpStatus.BAD_REQUEST, "A405", "이미 등록된 번호입니다."),
    +
    +    // FCFS ERROR
    +    _FCFS_ALREADY_CLOSED(HttpStatus.BAD_REQUEST, "F400", "이미 선착순 이벤트가 마감되었습니다.");
     
         // 예외의 Http 상태값
         private final HttpStatus httpStatus;
    
    From 7c2220bd961b8dd204e367d9845328d2bded08c1 Mon Sep 17 00:00:00 2001
    From: hyeokson <chanhuk1765@gmail.com>
    Date: Thu, 22 Aug 2024 16:27:54 +0900
    Subject: [PATCH 16/36] =?UTF-8?q?fix:=20reverse=20=EB=A9=94=EC=84=9C?=
     =?UTF-8?q?=EB=93=9C=20=EC=88=98=ED=96=89=20=EC=BD=94=EB=93=9C=20=EC=A0=9C?=
     =?UTF-8?q?=EA=B1=B0?=
    MIME-Version: 1.0
    Content-Type: text/plain; charset=UTF-8
    Content-Transfer-Encoding: 8bit
    
    ---
     .../backend/fo_domain/comment/util/ScrollPaginationUtil.java     | 1 -
     1 file changed, 1 deletion(-)
    
    diff --git a/src/main/java/com/softeer/backend/fo_domain/comment/util/ScrollPaginationUtil.java b/src/main/java/com/softeer/backend/fo_domain/comment/util/ScrollPaginationUtil.java
    index 01ca3845..9459d091 100644
    --- a/src/main/java/com/softeer/backend/fo_domain/comment/util/ScrollPaginationUtil.java
    +++ b/src/main/java/com/softeer/backend/fo_domain/comment/util/ScrollPaginationUtil.java
    @@ -44,7 +44,6 @@ public List<T> getCurrentScrollItems() {
             } else {
                 itemsList = new ArrayList<>(itemsWithNextCursor.subList(0, countPerScroll));
             }
    -        Collections.reverse(itemsList);
     
             return itemsList;
         }
    
    From d04e1988a0b27795f42812d8c2c91c241e2f486c Mon Sep 17 00:00:00 2001
    From: hyeokson <chanhuk1765@gmail.com>
    Date: Thu, 22 Aug 2024 16:28:13 +0900
    Subject: [PATCH 17/36] =?UTF-8?q?chore:=20import=EB=AC=B8=20=EC=A0=9C?=
     =?UTF-8?q?=EA=B1=B0?=
    MIME-Version: 1.0
    Content-Type: text/plain; charset=UTF-8
    Content-Transfer-Encoding: 8bit
    
    ---
     .../softeer/backend/fo_domain/fcfs/service/FcfsService.java    | 3 ---
     1 file changed, 3 deletions(-)
    
    diff --git a/src/main/java/com/softeer/backend/fo_domain/fcfs/service/FcfsService.java b/src/main/java/com/softeer/backend/fo_domain/fcfs/service/FcfsService.java
    index c11f228d..b8b8f610 100644
    --- a/src/main/java/com/softeer/backend/fo_domain/fcfs/service/FcfsService.java
    +++ b/src/main/java/com/softeer/backend/fo_domain/fcfs/service/FcfsService.java
    @@ -23,14 +23,11 @@
     import org.springframework.stereotype.Service;
     
     import java.time.LocalDate;
    -import java.time.LocalDateTime;
     import java.time.format.DateTimeFormatter;
     import java.util.ArrayList;
     import java.util.List;
     import java.util.Map;
     
    -import static java.util.stream.Collectors.toList;
    -
     /**
      * 선착순 관련 이벤트를 처리하는 클래스
      */
    
    From b6eee21bb7147c78992252cbc5e58fc2e014144d Mon Sep 17 00:00:00 2001
    From: hyeokson <chanhuk1765@gmail.com>
    Date: Thu, 22 Aug 2024 16:28:28 +0900
    Subject: [PATCH 18/36] =?UTF-8?q?fix:=20repository=20=EB=A9=94=EC=84=9C?=
     =?UTF-8?q?=EB=93=9C=20=EB=B3=80=EA=B2=BD?=
    MIME-Version: 1.0
    Content-Type: text/plain; charset=UTF-8
    Content-Transfer-Encoding: 8bit
    
    ---
     .../backend/fo_domain/comment/service/CommentService.java       | 2 +-
     1 file changed, 1 insertion(+), 1 deletion(-)
    
    diff --git a/src/main/java/com/softeer/backend/fo_domain/comment/service/CommentService.java b/src/main/java/com/softeer/backend/fo_domain/comment/service/CommentService.java
    index c7bd7eb5..d97674e5 100644
    --- a/src/main/java/com/softeer/backend/fo_domain/comment/service/CommentService.java
    +++ b/src/main/java/com/softeer/backend/fo_domain/comment/service/CommentService.java
    @@ -32,7 +32,7 @@ public class CommentService {
         public CommentsResponseDto getComments(Integer userId, Integer cursor) {
     
             PageRequest pageRequest = PageRequest.of(0, SCROLL_SIZE + 1);
    -        Page<Comment> page = commentRepository.findAllByIdLessThanEqualOrderByIdDesc(cursor, pageRequest);
    +        Page<Comment> page = commentRepository.findAllByIdLessThanOrderByIdDesc(cursor, pageRequest);
     
             List<Comment> comments = page.getContent();
     
    
    From 155eb96f1bf191b852a00ffe8b1ebd4325dfc7fa Mon Sep 17 00:00:00 2001
    From: hyeokson <chanhuk1765@gmail.com>
    Date: Thu, 22 Aug 2024 16:28:32 +0900
    Subject: [PATCH 19/36] =?UTF-8?q?fix:=20repository=20=EB=A9=94=EC=84=9C?=
     =?UTF-8?q?=EB=93=9C=20=EB=B3=80=EA=B2=BD?=
    MIME-Version: 1.0
    Content-Type: text/plain; charset=UTF-8
    Content-Transfer-Encoding: 8bit
    
    ---
     .../backend/fo_domain/comment/repository/CommentRepository.java | 2 +-
     1 file changed, 1 insertion(+), 1 deletion(-)
    
    diff --git a/src/main/java/com/softeer/backend/fo_domain/comment/repository/CommentRepository.java b/src/main/java/com/softeer/backend/fo_domain/comment/repository/CommentRepository.java
    index 1c69741d..941c7334 100644
    --- a/src/main/java/com/softeer/backend/fo_domain/comment/repository/CommentRepository.java
    +++ b/src/main/java/com/softeer/backend/fo_domain/comment/repository/CommentRepository.java
    @@ -12,5 +12,5 @@
     @Repository
     public interface CommentRepository extends JpaRepository<Comment, Integer> {
     
    -    Page<Comment> findAllByIdLessThanEqualOrderByIdDesc(Integer id, Pageable pageable);
    +    Page<Comment> findAllByIdLessThanOrderByIdDesc(Integer id, Pageable pageable);
     }
    
    From b34d9fdd33d3d291916fee7347540b526c7fd763 Mon Sep 17 00:00:00 2001
    From: hyeokson <chanhuk1765@gmail.com>
    Date: Thu, 22 Aug 2024 16:39:56 +0900
    Subject: [PATCH 20/36] =?UTF-8?q?test:=20=EB=A9=94=EC=84=9C=EB=93=9C=20?=
     =?UTF-8?q?=EB=B3=80=EA=B2=BD?=
    MIME-Version: 1.0
    Content-Type: text/plain; charset=UTF-8
    Content-Transfer-Encoding: 8bit
    
    ---
     .../comment/service/CommentServiceTest.java          | 12 ++++++------
     1 file changed, 6 insertions(+), 6 deletions(-)
    
    diff --git a/src/test/java/com/softeer/backend/fo_domain/comment/service/CommentServiceTest.java b/src/test/java/com/softeer/backend/fo_domain/comment/service/CommentServiceTest.java
    index f91af14e..b9a77618 100644
    --- a/src/test/java/com/softeer/backend/fo_domain/comment/service/CommentServiceTest.java
    +++ b/src/test/java/com/softeer/backend/fo_domain/comment/service/CommentServiceTest.java
    @@ -42,7 +42,7 @@ void testGetComments() {
             List<Comment> comments = createComments();
     
             Page<Comment> page = new PageImpl<>(comments, PageRequest.of(0, SCROLL_SIZE + 1), comments.size());
    -        when(commentRepository.findAllByIdLessThanEqualOrderByIdDesc(anyInt(), any(PageRequest.class)))
    +        when(commentRepository.findAllByIdLessThanOrderByIdDesc(anyInt(), any(PageRequest.class)))
                     .thenReturn(page);
     
             // When
    @@ -55,19 +55,19 @@ void testGetComments() {
             // 첫 번째 기대평
             CommentsResponseDto.CommentResponse firstCommentResponse = response.getComments().get(0);
             assertThat(firstCommentResponse).isNotNull();
    -        assertThat(firstCommentResponse.getIsMine()).isFalse();
    -        assertThat(firstCommentResponse.getNickName()).isEqualTo("user2");
    +        assertThat(firstCommentResponse.getIsMine()).isTrue();
    +        assertThat(firstCommentResponse.getNickName()).isEqualTo("user1(나)");
             assertThat(firstCommentResponse.getCommentType()).isEqualTo(1);
     
             // 두 번째 기대평
             CommentsResponseDto.CommentResponse secondCommentResponse = response.getComments().get(1);
             assertThat(secondCommentResponse).isNotNull();
    -        assertThat(secondCommentResponse.getIsMine()).isTrue();
    -        assertThat(secondCommentResponse.getNickName()).isEqualTo("user1" + CommentNickname.MY_NICKNAME_SUFFIX);
    +        assertThat(secondCommentResponse.getIsMine()).isFalse();
    +        assertThat(secondCommentResponse.getNickName()).isEqualTo("user2");
             assertThat(secondCommentResponse.getCommentType()).isEqualTo(1);
     
             verify(commentRepository, times(1))
    -                .findAllByIdLessThanEqualOrderByIdDesc(eq(cursor), any(PageRequest.class));
    +                .findAllByIdLessThanOrderByIdDesc(eq(cursor), any(PageRequest.class));
         }
     
         @Test
    
    From a97f66a4c8fb155bdaa908a2a7842a8890d8c0c3 Mon Sep 17 00:00:00 2001
    From: hyeokson <chanhuk1765@gmail.com>
    Date: Thu, 22 Aug 2024 17:07:50 +0900
    Subject: [PATCH 21/36] =?UTF-8?q?feat:=20test=EC=9A=A9=20=EC=9D=B4?=
     =?UTF-8?q?=EB=B2=A4=ED=8A=B8=20=EC=86=8D=EC=84=B1=20=EC=9A=94=EC=B2=AD=20?=
     =?UTF-8?q?dto=20=EA=B5=AC=ED=98=84?=
    MIME-Version: 1.0
    Content-Type: text/plain; charset=UTF-8
    Content-Transfer-Encoding: 8bit
    
    ---
     .../admin/dto/DrawSettingTestRequestDto.java  | 27 +++++++++++++++++++
     .../admin/dto/FcfsSettingTestRequestDto.java  | 20 ++++++++++++++
     2 files changed, 47 insertions(+)
     create mode 100644 src/main/java/com/softeer/backend/bo_domain/admin/dto/DrawSettingTestRequestDto.java
     create mode 100644 src/main/java/com/softeer/backend/bo_domain/admin/dto/FcfsSettingTestRequestDto.java
    
    diff --git a/src/main/java/com/softeer/backend/bo_domain/admin/dto/DrawSettingTestRequestDto.java b/src/main/java/com/softeer/backend/bo_domain/admin/dto/DrawSettingTestRequestDto.java
    new file mode 100644
    index 00000000..986831b7
    --- /dev/null
    +++ b/src/main/java/com/softeer/backend/bo_domain/admin/dto/DrawSettingTestRequestDto.java
    @@ -0,0 +1,27 @@
    +package com.softeer.backend.bo_domain.admin.dto;
    +
    +import lombok.*;
    +
    +import java.time.LocalDate;
    +import java.time.LocalTime;
    +
    +@NoArgsConstructor(access = AccessLevel.PRIVATE)
    +@AllArgsConstructor(access = AccessLevel.PUBLIC)
    +@Builder
    +@Getter
    +public class DrawSettingTestRequestDto {
    +
    +    private LocalDate startDate;
    +
    +    private LocalDate endDate;
    +
    +    private LocalTime startTime;
    +
    +    private LocalTime endTime;
    +
    +    private int winnerNum1;
    +
    +    private int winnerNum2;
    +
    +    private int winnerNum3;
    +}
    diff --git a/src/main/java/com/softeer/backend/bo_domain/admin/dto/FcfsSettingTestRequestDto.java b/src/main/java/com/softeer/backend/bo_domain/admin/dto/FcfsSettingTestRequestDto.java
    new file mode 100644
    index 00000000..4fcbafbf
    --- /dev/null
    +++ b/src/main/java/com/softeer/backend/bo_domain/admin/dto/FcfsSettingTestRequestDto.java
    @@ -0,0 +1,20 @@
    +package com.softeer.backend.bo_domain.admin.dto;
    +
    +import lombok.*;
    +
    +import java.time.LocalDateTime;
    +
    +@NoArgsConstructor(access = AccessLevel.PRIVATE)
    +@AllArgsConstructor(access = AccessLevel.PUBLIC)
    +@Builder
    +@Getter
    +public class FcfsSettingTestRequestDto {
    +
    +    private int round;
    +
    +    private LocalDateTime startTime;
    +
    +    private LocalDateTime endTime;
    +
    +    private int winnerNum;
    +}
    
    From 0ab2754f7aa7e60af3e1cdece5fc62c4d6887b7b Mon Sep 17 00:00:00 2001
    From: hyeokson <chanhuk1765@gmail.com>
    Date: Thu, 22 Aug 2024 17:08:03 +0900
    Subject: [PATCH 22/36] =?UTF-8?q?feat:=20test=EC=9A=A9=20=EC=9D=B4?=
     =?UTF-8?q?=EB=B2=A4=ED=8A=B8=20=EC=86=8D=EC=84=B1=20=EC=BB=A8=ED=8A=B8?=
     =?UTF-8?q?=EB=A1=A4=EB=9F=AC=20=EB=A9=94=EC=84=9C=EB=93=9C=20=EA=B5=AC?=
     =?UTF-8?q?=ED=98=84?=
    MIME-Version: 1.0
    Content-Type: text/plain; charset=UTF-8
    Content-Transfer-Encoding: 8bit
    
    ---
     .../controller/AdminLoginController.java      | 19 +++++++++++++++++++
     1 file changed, 19 insertions(+)
    
    diff --git a/src/main/java/com/softeer/backend/bo_domain/admin/controller/AdminLoginController.java b/src/main/java/com/softeer/backend/bo_domain/admin/controller/AdminLoginController.java
    index c1836959..b4b77149 100644
    --- a/src/main/java/com/softeer/backend/bo_domain/admin/controller/AdminLoginController.java
    +++ b/src/main/java/com/softeer/backend/bo_domain/admin/controller/AdminLoginController.java
    @@ -1,5 +1,7 @@
     package com.softeer.backend.bo_domain.admin.controller;
     
    +import com.softeer.backend.bo_domain.admin.dto.DrawSettingTestRequestDto;
    +import com.softeer.backend.bo_domain.admin.dto.FcfsSettingTestRequestDto;
     import com.softeer.backend.bo_domain.admin.dto.login.AdminLoginRequestDto;
     import com.softeer.backend.bo_domain.admin.dto.login.AdminSignUpRequestDto;
     import com.softeer.backend.bo_domain.admin.service.AdminLoginService;
    @@ -53,4 +55,21 @@ ResponseDto<Void> handleSignUp(@Valid @RequestBody AdminSignUpRequestDto adminSi
     
             return ResponseDto.onSuccess();
         }
    +
    +    @PostMapping("/fcfs/test")
    +    ResponseDto<Void> setFcfsSetting(@RequestBody FcfsSettingTestRequestDto fcfsSettingTestRequestDto) {
    +
    +        adminLoginService.setFcfsSetting(fcfsSettingTestRequestDto);
    +
    +        return ResponseDto.onSuccess();
    +    }
    +
    +
    +    @PostMapping("/draw/test")
    +    ResponseDto<Void> setDrawSetting(@RequestBody DrawSettingTestRequestDto drawSettingTestRequestDto) {
    +
    +        adminLoginService.setDrawSetting(drawSettingTestRequestDto);
    +
    +        return ResponseDto.onSuccess();
    +    }
     }
    
    From 002192503816e0142d412d7b396d97fe3a8b7255 Mon Sep 17 00:00:00 2001
    From: hyeokson <chanhuk1765@gmail.com>
    Date: Thu, 22 Aug 2024 17:08:19 +0900
    Subject: [PATCH 23/36] =?UTF-8?q?feat:=20test=EC=9A=A9=20=EC=9D=B4?=
     =?UTF-8?q?=EB=B2=A4=ED=8A=B8=20=EC=86=8D=EC=84=B1=20=EC=84=A4=EC=A0=95=20?=
     =?UTF-8?q?=EB=A9=94=EC=84=9C=EB=93=9C=20=EA=B5=AC=ED=98=84?=
    MIME-Version: 1.0
    Content-Type: text/plain; charset=UTF-8
    Content-Transfer-Encoding: 8bit
    
    ---
     .../bo_domain/admin/service/AdminLoginService.java | 14 ++++++++++++++
     .../fo_domain/draw/service/DrawSettingManager.java | 13 +++++++++++++
     .../fo_domain/fcfs/service/FcfsSettingManager.java | 12 ++++++++++++
     .../global/filter/JwtAuthenticationFilter.java     |  3 ++-
     4 files changed, 41 insertions(+), 1 deletion(-)
    
    diff --git a/src/main/java/com/softeer/backend/bo_domain/admin/service/AdminLoginService.java b/src/main/java/com/softeer/backend/bo_domain/admin/service/AdminLoginService.java
    index 282f8fb3..b9045a08 100644
    --- a/src/main/java/com/softeer/backend/bo_domain/admin/service/AdminLoginService.java
    +++ b/src/main/java/com/softeer/backend/bo_domain/admin/service/AdminLoginService.java
    @@ -1,11 +1,15 @@
     package com.softeer.backend.bo_domain.admin.service;
     
     import com.softeer.backend.bo_domain.admin.domain.Admin;
    +import com.softeer.backend.bo_domain.admin.dto.DrawSettingTestRequestDto;
    +import com.softeer.backend.bo_domain.admin.dto.FcfsSettingTestRequestDto;
     import com.softeer.backend.bo_domain.admin.dto.login.AdminLoginRequestDto;
     import com.softeer.backend.bo_domain.admin.dto.login.AdminSignUpRequestDto;
     import com.softeer.backend.bo_domain.admin.exception.AdminException;
     import com.softeer.backend.bo_domain.admin.repository.AdminRepository;
     import com.softeer.backend.bo_domain.admin.util.PasswordEncoder;
    +import com.softeer.backend.fo_domain.draw.service.DrawSettingManager;
    +import com.softeer.backend.fo_domain.fcfs.service.FcfsSettingManager;
     import com.softeer.backend.global.common.code.status.ErrorStatus;
     import com.softeer.backend.global.common.constant.RoleType;
     import com.softeer.backend.global.common.dto.JwtClaimsDto;
    @@ -29,6 +33,8 @@ public class AdminLoginService {
         private final JwtUtil jwtUtil;
         private final StringRedisUtil stringRedisUtil;
         private final PasswordEncoder passwordEncoder;
    +    private final FcfsSettingManager fcfsSettingManager;
    +    private final DrawSettingManager drawSettingManager;
     
         /**
          * 어드민 계정 로그인을 처리하는 메서드
    @@ -91,4 +97,12 @@ public void handleSignUp(AdminSignUpRequestDto adminSignUpRequestDto) {
                     .password(passwordEncoder.encode(adminSignUpRequestDto.getPassword()))
                     .build());
         }
    +
    +    public void setFcfsSetting(FcfsSettingTestRequestDto fcfsSettingTestRequestDto) {
    +        fcfsSettingManager.setFcfsSettingByAdmin(fcfsSettingTestRequestDto);
    +    }
    +
    +    public void setDrawSetting(DrawSettingTestRequestDto drawSettingTestRequestDto) {
    +        drawSettingManager.setDrawSettingByAdmin(drawSettingTestRequestDto);
    +    }
     }
    diff --git a/src/main/java/com/softeer/backend/fo_domain/draw/service/DrawSettingManager.java b/src/main/java/com/softeer/backend/fo_domain/draw/service/DrawSettingManager.java
    index ce70ce8a..4e955be0 100644
    --- a/src/main/java/com/softeer/backend/fo_domain/draw/service/DrawSettingManager.java
    +++ b/src/main/java/com/softeer/backend/fo_domain/draw/service/DrawSettingManager.java
    @@ -1,5 +1,6 @@
     package com.softeer.backend.fo_domain.draw.service;
     
    +import com.softeer.backend.bo_domain.admin.dto.DrawSettingTestRequestDto;
     import com.softeer.backend.fo_domain.draw.domain.DrawSetting;
     import com.softeer.backend.fo_domain.draw.exception.DrawException;
     import com.softeer.backend.fo_domain.draw.repository.DrawRepository;
    @@ -73,4 +74,16 @@ public void setDrawSetting(DrawSetting drawSetting) {
             this.winnerNum3 = drawSetting.getWinnerNum3();
         }
     
    +    public void setDrawSettingByAdmin(DrawSettingTestRequestDto drawSettingTestRequestDto) {
    +
    +        this.startDate = drawSettingTestRequestDto.getStartDate();
    +        this.endDate = drawSettingTestRequestDto.getEndDate();
    +        this.startTime = drawSettingTestRequestDto.getStartTime();
    +        this.endTime = drawSettingTestRequestDto.getEndTime();
    +        this.winnerNum1 = drawSettingTestRequestDto.getWinnerNum1();
    +        this.winnerNum2 = drawSettingTestRequestDto.getWinnerNum2();
    +        this.winnerNum3 = drawSettingTestRequestDto.getWinnerNum3();
    +
    +    }
    +
     }
    diff --git a/src/main/java/com/softeer/backend/fo_domain/fcfs/service/FcfsSettingManager.java b/src/main/java/com/softeer/backend/fo_domain/fcfs/service/FcfsSettingManager.java
    index 8b0670f2..dd2b96ef 100644
    --- a/src/main/java/com/softeer/backend/fo_domain/fcfs/service/FcfsSettingManager.java
    +++ b/src/main/java/com/softeer/backend/fo_domain/fcfs/service/FcfsSettingManager.java
    @@ -1,5 +1,6 @@
     package com.softeer.backend.fo_domain.fcfs.service;
     
    +import com.softeer.backend.bo_domain.admin.dto.FcfsSettingTestRequestDto;
     import com.softeer.backend.bo_domain.eventparticipation.repository.EventParticipationRepository;
     import com.softeer.backend.fo_domain.fcfs.domain.FcfsSetting;
     import com.softeer.backend.fo_domain.fcfs.domain.Quiz;
    @@ -187,4 +188,15 @@ public Integer getFcfsRoundForHistory(LocalDate now) {
             return null;
         }
     
    +    public void setFcfsSettingByAdmin(FcfsSettingTestRequestDto fcfsSettingTestRequestDto){
    +        FcfsSettingDto fcfsSettingDto = FcfsSettingDto.builder()
    +                .round(fcfsSettingTestRequestDto.getRound())
    +                .startTime(fcfsSettingTestRequestDto.getStartTime())
    +                .endTime(fcfsSettingTestRequestDto.getEndTime())
    +                .winnerNum(fcfsSettingTestRequestDto.getWinnerNum())
    +                .build();
    +
    +        fcfsSettingList.set(fcfsSettingTestRequestDto.getRound()-1, fcfsSettingDto);
    +    }
    +
     }
    diff --git a/src/main/java/com/softeer/backend/global/filter/JwtAuthenticationFilter.java b/src/main/java/com/softeer/backend/global/filter/JwtAuthenticationFilter.java
    index 968d9857..bcb22b2b 100644
    --- a/src/main/java/com/softeer/backend/global/filter/JwtAuthenticationFilter.java
    +++ b/src/main/java/com/softeer/backend/global/filter/JwtAuthenticationFilter.java
    @@ -39,7 +39,8 @@ public class JwtAuthenticationFilter extends OncePerRequestFilter {
                 "/login",
                 "/main/event/static", "/main/event/info", "/main/car",
                 "/admin/login", "/admin/signup",
    -            "/share/**"
    +            "/share/**",
    +            "/admin/fcfs/test","/admin/draw/test"
         };
     
         // Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정
    
    From a55266be0cf7d06c20d5314a25a1e31d1b21e144 Mon Sep 17 00:00:00 2001
    From: hyeokson <chanhuk1765@gmail.com>
    Date: Thu, 22 Aug 2024 17:10:50 +0900
    Subject: [PATCH 24/36] =?UTF-8?q?feat:=20jsonformat=20=EC=95=A0=EB=85=B8?=
     =?UTF-8?q?=ED=85=8C=EC=9D=B4=EC=85=98=20=EC=B6=94=EA=B0=80?=
    MIME-Version: 1.0
    Content-Type: text/plain; charset=UTF-8
    Content-Transfer-Encoding: 8bit
    
    ---
     .../bo_domain/admin/dto/DrawSettingTestRequestDto.java       | 5 +++++
     .../bo_domain/admin/dto/FcfsSettingTestRequestDto.java       | 3 +++
     2 files changed, 8 insertions(+)
    
    diff --git a/src/main/java/com/softeer/backend/bo_domain/admin/dto/DrawSettingTestRequestDto.java b/src/main/java/com/softeer/backend/bo_domain/admin/dto/DrawSettingTestRequestDto.java
    index 986831b7..855a145c 100644
    --- a/src/main/java/com/softeer/backend/bo_domain/admin/dto/DrawSettingTestRequestDto.java
    +++ b/src/main/java/com/softeer/backend/bo_domain/admin/dto/DrawSettingTestRequestDto.java
    @@ -1,5 +1,6 @@
     package com.softeer.backend.bo_domain.admin.dto;
     
    +import com.fasterxml.jackson.annotation.JsonFormat;
     import lombok.*;
     
     import java.time.LocalDate;
    @@ -11,12 +12,16 @@
     @Getter
     public class DrawSettingTestRequestDto {
     
    +    @JsonFormat(pattern = "yyyy-MM-dd")
         private LocalDate startDate;
     
    +    @JsonFormat(pattern = "yyyy-MM-dd")
         private LocalDate endDate;
     
    +    @JsonFormat(pattern = "HH:mm:ss")
         private LocalTime startTime;
     
    +    @JsonFormat(pattern = "HH:mm:ss")
         private LocalTime endTime;
     
         private int winnerNum1;
    diff --git a/src/main/java/com/softeer/backend/bo_domain/admin/dto/FcfsSettingTestRequestDto.java b/src/main/java/com/softeer/backend/bo_domain/admin/dto/FcfsSettingTestRequestDto.java
    index 4fcbafbf..80b5cc28 100644
    --- a/src/main/java/com/softeer/backend/bo_domain/admin/dto/FcfsSettingTestRequestDto.java
    +++ b/src/main/java/com/softeer/backend/bo_domain/admin/dto/FcfsSettingTestRequestDto.java
    @@ -1,5 +1,6 @@
     package com.softeer.backend.bo_domain.admin.dto;
     
    +import com.fasterxml.jackson.annotation.JsonFormat;
     import lombok.*;
     
     import java.time.LocalDateTime;
    @@ -12,8 +13,10 @@ public class FcfsSettingTestRequestDto {
     
         private int round;
     
    +    @JsonFormat(pattern = "HH:mm:ss")
         private LocalDateTime startTime;
     
    +    @JsonFormat(pattern = "HH:mm:ss")
         private LocalDateTime endTime;
     
         private int winnerNum;
    
    From 4be5141239b4a6708ca76bdd7df08b5ed5c5c3c7 Mon Sep 17 00:00:00 2001
    From: hyeokson <chanhuk1765@gmail.com>
    Date: Thu, 22 Aug 2024 17:14:57 +0900
    Subject: [PATCH 25/36] =?UTF-8?q?feat:=20jsonformat=20=EC=86=8D=EC=84=B1?=
     =?UTF-8?q?=20=EB=B3=80=EA=B2=BD?=
    MIME-Version: 1.0
    Content-Type: text/plain; charset=UTF-8
    Content-Transfer-Encoding: 8bit
    
    ---
     .../bo_domain/admin/dto/FcfsSettingTestRequestDto.java        | 4 ++--
     1 file changed, 2 insertions(+), 2 deletions(-)
    
    diff --git a/src/main/java/com/softeer/backend/bo_domain/admin/dto/FcfsSettingTestRequestDto.java b/src/main/java/com/softeer/backend/bo_domain/admin/dto/FcfsSettingTestRequestDto.java
    index 80b5cc28..6f1e385e 100644
    --- a/src/main/java/com/softeer/backend/bo_domain/admin/dto/FcfsSettingTestRequestDto.java
    +++ b/src/main/java/com/softeer/backend/bo_domain/admin/dto/FcfsSettingTestRequestDto.java
    @@ -13,10 +13,10 @@ public class FcfsSettingTestRequestDto {
     
         private int round;
     
    -    @JsonFormat(pattern = "HH:mm:ss")
    +    @JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss")
         private LocalDateTime startTime;
     
    -    @JsonFormat(pattern = "HH:mm:ss")
    +    @JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss")
         private LocalDateTime endTime;
     
         private int winnerNum;
    
    From 22e027be9aa407a352501e930a5aeeddc182e44b Mon Sep 17 00:00:00 2001
    From: DrRivaski <48974215+DrRivaski@users.noreply.github.com>
    Date: Tue, 6 Aug 2024 21:45:14 +0900
    Subject: [PATCH 26/36] [Infra] CI/CD test (#42)
    MIME-Version: 1.0
    Content-Type: text/plain; charset=UTF-8
    Content-Transfer-Encoding: 8bit
    
    * infra: 빌드 테스트 yml 작성
    
    * infra: DB 정보 추가
    
    * infra: ssh-agent 버전 변경
    
    * infra: known_hosts 추가
    
    * infra: db port 변경
    
    * infra: database test 설정 변경
    
    * infra: DB 환경변수 설정 및 application.yml 생성
    
    * infra: application.yml 동적 생성 스크립트 수정
    
    * infra: 레디스 설정 추가
    
    * infra: redis test 추가
    
    * infra: redis 버전 변경
    
    * infra: redis cli 설치
    
    * infra: application.yml 위치 및 내용 확인
    
    * infra: Github Actions 환경변수에 REDIS_HOST, REDIS_PORT 추가
    
    * infra: 환경변수 확인 추가
    
    * infra: zip file 만들기 추가, AWS credentials 추가
    
    * infra: 환경변수 이름 변경
    
    - ARN -> AWS_ARN
    
    * infra: s3 bucket에 업로드 추가
    
    * infra: code deploy 추가
    
    * infra: code deploy 수정
    
    * infra: code deploy 수정
    
    * infra: appspec.yml 작성
    
    * infra: application.yml 생성 경로 변경
    
    * infra: application.yml 확인 스크립트 삭제
    
    * infra: application.yml 생성 스크립트 수정
    
    * infra: application-prod.yml 추가
    
    * infra: appspec.yml 수정, 배포를 위한 sh파일 추가
    
    * infra: deploy.yml 이름 변경
    
    - test_deploy -> deploy
    
    * infra: body = null 설정
    
    * infra: develop에 머지되었을 때만 발동하도록 수정
    
    * feat: draw_rank column 이름 수정
    
    * Infra: environment 삭제
    
    From 07582c26ebf98edcef0d7ac33a1c16fe7223890a Mon Sep 17 00:00:00 2001
    From: DrRivaski <48974215+DrRivaski@users.noreply.github.com>
    Date: Tue, 6 Aug 2024 22:32:49 +0900
    Subject: [PATCH 27/36] [Infra] CI CD test 3 (#45)
    MIME-Version: 1.0
    Content-Type: text/plain; charset=UTF-8
    Content-Transfer-Encoding: 8bit
    
    * infra: 빌드 테스트 yml 작성
    
    * infra: DB 정보 추가
    
    * infra: ssh-agent 버전 변경
    
    * infra: known_hosts 추가
    
    * infra: db port 변경
    
    * infra: database test 설정 변경
    
    * infra: DB 환경변수 설정 및 application.yml 생성
    
    * infra: application.yml 동적 생성 스크립트 수정
    
    * infra: 레디스 설정 추가
    
    * infra: redis test 추가
    
    * infra: redis 버전 변경
    
    * infra: redis cli 설치
    
    * infra: application.yml 위치 및 내용 확인
    
    * infra: Github Actions 환경변수에 REDIS_HOST, REDIS_PORT 추가
    
    * infra: 환경변수 확인 추가
    
    * infra: zip file 만들기 추가, AWS credentials 추가
    
    * infra: 환경변수 이름 변경
    
    - ARN -> AWS_ARN
    
    * infra: s3 bucket에 업로드 추가
    
    * infra: code deploy 추가
    
    * infra: code deploy 수정
    
    * infra: code deploy 수정
    
    * infra: appspec.yml 작성
    
    * infra: application.yml 생성 경로 변경
    
    * infra: application.yml 확인 스크립트 삭제
    
    * infra: application.yml 생성 스크립트 수정
    
    * infra: application-prod.yml 추가
    
    * infra: appspec.yml 수정, 배포를 위한 sh파일 추가
    
    * infra: deploy.yml 이름 변경
    
    - test_deploy -> deploy
    
    * infra: body = null 설정
    
    * infra: develop에 머지되었을 때만 발동하도록 수정
    
    * feat: draw_rank column 이름 수정
    
    * Infra: environment 삭제
    
    * Infra: environment 삭제
    
    From 3cc2fd788ece1cdc94014240eb75cb65dc3cdb5b Mon Sep 17 00:00:00 2001
    From: hyeokson <chanhuk1765@gmail.com>
    Date: Mon, 29 Jul 2024 17:47:14 +0900
    Subject: [PATCH 28/36] =?UTF-8?q?config:=20jwt=20=EC=86=8D=EC=84=B1?=
     =?UTF-8?q?=EC=9D=84=20yml=EC=97=90=20=EC=84=A4=EC=A0=95?=
    MIME-Version: 1.0
    Content-Type: text/plain; charset=UTF-8
    Content-Transfer-Encoding: 8bit
    
    ---
     src/main/resources/application.yml | 8 ++++++++
     1 file changed, 8 insertions(+)
     create mode 100644 src/main/resources/application.yml
    
    diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
    new file mode 100644
    index 00000000..f780b604
    --- /dev/null
    +++ b/src/main/resources/application.yml
    @@ -0,0 +1,8 @@
    +
    +jwt:
    +  bearer: ${JWT_BEARER:Bearer}
    +  secret: ${JWT_SECRET_KEY}
    +  access-expiration: ${JWT_ACCESS_EXPIRE:3600000} # 1?? (??: ms)
    +  access-header: ${JWT_ACCESS_HEADER:Authorization} # Access Token ??
    +  refresh-expiration: ${JWT_REFRESH_EXPIRE:86400000} # 1? (??: ms)
    +  refresh-header: ${JWT_REFRESH_HEADER:Authorization-Refresh} # Refresh Token ??
    
    From 5ad38a744b70ffc3c448d7c1d3f5cc1d6053f593 Mon Sep 17 00:00:00 2001
    From: hyeokson <chanhuk1765@gmail.com>
    Date: Tue, 30 Jul 2024 15:43:20 +0900
    Subject: [PATCH 29/36] =?UTF-8?q?rebase:=20=EC=9B=90=EB=B3=B8=20develop=20?=
     =?UTF-8?q?=EB=B8=8C=EB=9E=9C=EC=B9=98=EC=99=80=20=EB=B3=91=ED=95=A9?=
    MIME-Version: 1.0
    Content-Type: text/plain; charset=UTF-8
    Content-Transfer-Encoding: 8bit
    
    ---
     src/main/resources/application.yml | 8 --------
     1 file changed, 8 deletions(-)
     delete mode 100644 src/main/resources/application.yml
    
    diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
    deleted file mode 100644
    index f780b604..00000000
    --- a/src/main/resources/application.yml
    +++ /dev/null
    @@ -1,8 +0,0 @@
    -
    -jwt:
    -  bearer: ${JWT_BEARER:Bearer}
    -  secret: ${JWT_SECRET_KEY}
    -  access-expiration: ${JWT_ACCESS_EXPIRE:3600000} # 1?? (??: ms)
    -  access-header: ${JWT_ACCESS_HEADER:Authorization} # Access Token ??
    -  refresh-expiration: ${JWT_REFRESH_EXPIRE:86400000} # 1? (??: ms)
    -  refresh-header: ${JWT_REFRESH_HEADER:Authorization-Refresh} # Refresh Token ??
    
    From 2330ea119c774e654de5b22efb1029b66616f166 Mon Sep 17 00:00:00 2001
    From: hyeokson <chanhuk1765@gmail.com>
    Date: Wed, 21 Aug 2024 00:28:54 +0900
    Subject: [PATCH 30/36] =?UTF-8?q?doc:=20jacoco=20=ED=8C=8C=EC=9D=BC=20?=
     =?UTF-8?q?=EC=83=9D=EC=84=B1?=
    MIME-Version: 1.0
    Content-Type: text/plain; charset=UTF-8
    Content-Transfer-Encoding: 8bit
    
    ---
     .../AdminLoginController.html                 |    1 +
     .../AdminLoginController.java.html            |   48 +
     .../EventPageController.html                  |    1 +
     .../EventPageController.java.html             |   41 +
     .../IndicatorPageController.html              |    1 +
     .../IndicatorPageController.java.html         |   25 +
     .../WinnerPageController.html                 |    1 +
     .../WinnerPageController.java.html            |   58 +
     .../index.html                                |    1 +
     .../index.source.html                         |    1 +
     .../EventPageResponseDto.html                 |    1 +
     .../EventPageResponseDto.java.html            |   85 +
     .../index.html                                |    1 +
     .../index.source.html                         |    1 +
     .../EventIndicatorResponseDto.html            |    1 +
     .../EventIndicatorResponseDto.java.html       |   92 +
     .../index.html                                |    1 +
     .../index.source.html                         |    1 +
     .../AdminMainPageResponseDto.html             |    1 +
     .../AdminMainPageResponseDto.java.html        |  124 ++
     .../index.html                                |    1 +
     .../index.source.html                         |    1 +
     .../DrawWinnerListResponseDto.html            |    1 +
     .../DrawWinnerListResponseDto.java.html       |   49 +
     .../FcfsWinnerListResponseDto.html            |    1 +
     .../FcfsWinnerListResponseDto.java.html       |   48 +
     .../WinnerPageResponseDto.html                |    1 +
     .../WinnerPageResponseDto.java.html           |   93 +
     .../index.html                                |    1 +
     .../index.source.html                         |    1 +
     .../AdminException.html                       |    1 +
     .../AdminException.java.html                  |   12 +
     .../index.html                                |    1 +
     .../index.source.html                         |    1 +
     .../PercentageSerializer.html                 |    1 +
     .../PercentageSerializer.java.html            |   20 +
     .../PhoneNumberSerializer.html                |    1 +
     .../PhoneNumberSerializer.java.html           |   18 +
     .../index.html                                |    1 +
     .../index.source.html                         |    1 +
     .../AdminLoginService.html                    |    1 +
     .../AdminLoginService.java.html               |   73 +
     .../EventPageService.html                     |    1 +
     .../EventPageService.java.html                |   93 +
     .../IndicatorPageService.html                 |    1 +
     .../IndicatorPageService.java.html            |   34 +
     .../WinnerPageService.html                    |    1 +
     .../WinnerPageService.java.html               |   72 +
     .../index.html                                |    1 +
     .../index.source.html                         |    1 +
     .../PasswordEncoder.html                      |    1 +
     .../PasswordEncoder.java.html                 |   19 +
     .../index.html                                |    1 +
     .../index.source.html                         |    1 +
     .../DrawTimeRangeValidator.html               |    1 +
     .../DrawTimeRangeValidator.java.html          |   40 +
     .../FcfsDateRangeValidator.html               |    1 +
     .../FcfsDateRangeValidator.java.html          |   42 +
     .../FcfsTimeRangeValidator.html               |    1 +
     .../FcfsTimeRangeValidator.java.html          |   35 +
     .../index.html                                |    1 +
     .../index.source.html                         |    1 +
     .../EventParticipationRepository.html         |    1 +
     .../EventParticipationRepository.java.html    |   25 +
     .../index.html                                |    1 +
     .../index.source.html                         |    1 +
     .../CommentNickname.html                      |    1 +
     .../CommentNickname.java.html                 |   44 +
     .../index.html                                |    1 +
     .../index.source.html                         |    1 +
     .../CommentController.html                    |    1 +
     .../CommentController.java.html               |   53 +
     .../index.html                                |    1 +
     .../index.source.html                         |    1 +
     .../Comment.html                              |    1 +
     .../Comment.java.html                         |   52 +
     .../index.html                                |    1 +
     .../index.source.html                         |    1 +
     .../CommentsResponseDto.html                  |    1 +
     .../CommentsResponseDto.java.html             |   85 +
     .../index.html                                |    1 +
     .../index.source.html                         |    1 +
     .../CommentException.html                     |    1 +
     .../CommentException.java.html                |   12 +
     .../index.html                                |    1 +
     .../index.source.html                         |    1 +
     .../CommentService.html                       |    1 +
     .../CommentService.java.html                  |   61 +
     .../index.html                                |    1 +
     .../index.source.html                         |    1 +
     .../ScrollPaginationUtil.html                 |    1 +
     .../ScrollPaginationUtil.java.html            |   53 +
     .../index.html                                |    1 +
     .../index.source.html                         |    1 +
     .../DrawController.html                       |    1 +
     .../DrawController.java.html                  |   44 +
     .../index.html                                |    1 +
     .../index.source.html                         |    1 +
     .../DrawException.html                        |    1 +
     .../DrawException.java.html                   |   12 +
     .../index.html                                |    1 +
     .../index.source.html                         |    1 +
     .../DrawTimeCheckInterceptor.html             |    1 +
     .../DrawTimeCheckInterceptor.java.html        |   68 +
     .../index.html                                |    1 +
     .../index.source.html                         |    1 +
     .../DrawService.html                          |    1 +
     .../DrawService.java.html                     |  145 ++
     .../DrawSettingManager.html                   |    1 +
     .../DrawSettingManager.java.html              |   68 +
     .../index.html                                |    1 +
     .../index.source.html                         |    1 +
     .../DrawAttendanceCountUtil.html              |    1 +
     .../DrawAttendanceCountUtil.java.html         |   93 +
     .../DrawModalGenerateUtil.html                |    1 +
     .../DrawModalGenerateUtil.java.html           |   90 +
     .../DrawResponseGenerateUtil.html             |    1 +
     .../DrawResponseGenerateUtil.java.html        |  120 ++
     .../DrawUtil.html                             |    1 +
     .../DrawUtil.java.html                        |  119 ++
     .../index.html                                |    1 +
     .../index.source.html                         |    1 +
     .../FcfsController.html                       |    1 +
     .../FcfsController.java.html                  |   67 +
     .../index.html                                |    1 +
     .../index.source.html                         |    1 +
     .../FcfsException.html                        |    1 +
     .../FcfsException.java.html                   |   12 +
     .../index.html                                |    1 +
     .../index.source.html                         |    1 +
     .../FcfsTimeCheckInterceptor.html             |    1 +
     .../FcfsTimeCheckInterceptor.java.html        |   45 +
     .../index.html                                |    1 +
     .../index.source.html                         |    1 +
     .../FcfsService.html                          |    1 +
     .../FcfsService.java.html                     |  202 +++
     .../FcfsSettingManager.html                   |    1 +
     .../FcfsSettingManager.java.html              |  145 ++
     .../QuizManager.html                          |    1 +
     .../QuizManager.java.html                     |   85 +
     .../index.html                                |    1 +
     .../index.source.html                         |    1 +
     .../MainPageController.html                   |    1 +
     .../MainPageController.java.html              |   53 +
     .../index.html                                |    1 +
     .../index.source.html                         |    1 +
     .../MainPageService.html                      |    1 +
     .../MainPageService.java.html                 |  298 ++++
     .../index.html                                |    1 +
     .../index.source.html                         |    1 +
     .../ShareController.html                      |    1 +
     .../ShareController.java.html                 |   45 +
     .../index.html                                |    1 +
     .../index.source.html                         |    1 +
     .../ShareInfo.html                            |    1 +
     .../ShareInfo.java.html                       |   33 +
     .../index.html                                |    1 +
     .../index.source.html                         |    1 +
     .../ShareInfoException.html                   |    1 +
     .../ShareInfoException.java.html              |   12 +
     .../ShareUrlInfoException.html                |    1 +
     .../ShareUrlInfoException.java.html           |   11 +
     .../index.html                                |    1 +
     .../index.source.html                         |    1 +
     .../ShareUrlInfoService.html                  |    1 +
     .../ShareUrlInfoService.java.html             |   37 +
     .../index.html                                |    1 +
     .../index.source.html                         |    1 +
     .../RedisVerificationPrefix.html              |    1 +
     .../RedisVerificationPrefix.java.html         |   17 +
     .../VerificationProperty.html                 |    1 +
     .../VerificationProperty.java.html            |   21 +
     .../index.html                                |    1 +
     .../index.source.html                         |    1 +
     .../LoginController.html                      |    1 +
     .../LoginController.java.html                 |   26 +
     .../VerificationController.html               |    1 +
     .../VerificationController.java.html          |   48 +
     .../index.html                                |    1 +
     .../index.source.html                         |    1 +
     .../UserException.html                        |    1 +
     .../UserException.java.html                   |   12 +
     .../index.html                                |    1 +
     .../index.source.html                         |    1 +
     .../SmsProperties.html                        |    1 +
     .../SmsProperties.java.html                   |   26 +
     .../index.html                                |    1 +
     .../index.source.html                         |    1 +
     .../LoginService.html                         |    1 +
     .../LoginService.java.html                    |  143 ++
     .../VerificationService.html                  |    1 +
     .../VerificationService.java.html             |  158 ++
     .../index.html                                |    1 +
     .../index.source.html                         |    1 +
     .../AopForTransaction.html                    |    1 +
     .../AopForTransaction.java.html               |   26 +
     .../EventLockAop.html                         |    1 +
     .../EventLockAop.java.html                    |   61 +
     .../index.html                                |    1 +
     .../index.source.html                         |    1 +
     .../AuthInfoArgumentResolver.html             |    1 +
     .../AuthInfoArgumentResolver.java.html        |   31 +
     .../index.html                                |    1 +
     .../index.source.html                         |    1 +
     .../ErrorStatus.html                          |    1 +
     .../ErrorStatus.java.html                     |   95 ++
     .../SuccessStatus.html                        |    1 +
     .../SuccessStatus.java.html                   |   63 +
     .../index.html                                |    1 +
     .../index.source.html                         |    1 +
     .../RedisKeyPrefix.html                       |    1 +
     .../RedisKeyPrefix.java.html                  |   28 +
     .../RoleType.html                             |    1 +
     .../RoleType.java.html                        |   23 +
     .../ValidationConstant.html                   |    1 +
     .../ValidationConstant.java.html              |   27 +
     .../index.html                                |    1 +
     .../index.source.html                         |    1 +
     .../ExceptionAdvice.html                      |    1 +
     .../ExceptionAdvice.java.html                 |  200 +++
     .../GeneralException.html                     |    1 +
     .../GeneralException.java.html                |   27 +
     .../JwtAuthenticationException.html           |    1 +
     .../JwtAuthenticationException.java.html      |   15 +
     .../JwtAuthorizationException.html            |    1 +
     .../JwtAuthorizationException.java.html       |   14 +
     .../index.html                                |    1 +
     .../index.source.html                         |    1 +
     .../ResponseDto.html                          |    1 +
     .../ResponseDto.java.html                     |  114 ++
     .../index.html                                |    1 +
     .../index.source.html                         |    1 +
     .../SwaggerController.html                    |    1 +
     .../SwaggerController.java.html               |   14 +
     .../index.html                                |    1 +
     .../index.source.html                         |    1 +
     .../CacheConfig.html                          |    1 +
     .../CacheConfig.java.html                     |   35 +
     .../index.html                                |    1 +
     .../index.source.html                         |    1 +
     .../SwaggerConfig.html                        |    1 +
     .../SwaggerConfig.java.html                   |   74 +
     .../index.html                                |    1 +
     .../index.source.html                         |    1 +
     .../JwtProperties.html                        |    1 +
     .../JwtProperties.java.html                   |   38 +
     .../RedisProperties.html                      |    1 +
     .../RedisProperties.java.html                 |   25 +
     .../index.html                                |    1 +
     .../index.source.html                         |    1 +
     .../RedisConfig.html                          |    1 +
     .../RedisConfig.java.html                     |   62 +
     .../index.html                                |    1 +
     .../index.source.html                         |    1 +
     .../SchedulerConfig.html                      |    1 +
     .../SchedulerConfig.java.html                 |   17 +
     .../index.html                                |    1 +
     .../index.source.html                         |    1 +
     .../WebMvcConfig.html                         |    1 +
     .../WebMvcConfig.java.html                    |  121 ++
     .../index.html                                |    1 +
     .../index.source.html                         |    1 +
     .../ExceptionHandlingFilter.html              |    1 +
     .../ExceptionHandlingFilter.java.html         |   68 +
     .../JwtAuthenticationFilter.html              |    1 +
     .../JwtAuthenticationFilter.java.html         |  215 +++
     .../JwtAuthorizationFilter.html               |    1 +
     .../JwtAuthorizationFilter.java.html          |   56 +
     .../index.html                                |    1 +
     .../index.source.html                         |    1 +
     .../DbInsertScheduler.html                    |    1 +
     .../DbInsertScheduler.java.html               |  155 ++
     .../EventSettingScheduler.html                |    1 +
     .../EventSettingScheduler.java.html           |   59 +
     .../index.html                                |    1 +
     .../index.source.html                         |    1 +
     .../S3FileName.html                           |    1 +
     .../S3FileName.java.html                      |   38 +
     .../StaticTextName.html                       |    1 +
     .../StaticTextName.java.html                  |   99 ++
     .../index.html                                |    1 +
     .../index.source.html                         |    1 +
     .../StaticResourceUtil.html                   |    1 +
     .../StaticResourceUtil.java.html              |   62 +
     .../index.html                                |    1 +
     .../index.source.html                         |    1 +
     .../DrawRedisUtil.html                        |    1 +
     .../DrawRedisUtil.java.html                   |   89 +
     .../EventLockRedisUtil.html                   |    1 +
     .../EventLockRedisUtil.java.html              |   75 +
     .../FcfsRedisUtil.html                        |    1 +
     .../FcfsRedisUtil.java.html                   |   81 +
     .../JwtUtil.html                              |    1 +
     .../JwtUtil.java.html                         |  151 ++
     .../RandomCodeUtil.html                       |    1 +
     .../RandomCodeUtil.java.html                  |   24 +
     .../SpringELParser.html                       |    1 +
     .../SpringELParser.java.html                  |   23 +
     .../StringRedisUtil.html                      |    1 +
     .../StringRedisUtil.java.html                 |   93 +
     .../index.html                                |    1 +
     .../index.source.html                         |    1 +
     .../BackendApplication.html                   |    1 +
     .../BackendApplication.java.html              |   21 +
     .../jacocoHtml/com.softeer.backend/index.html |    1 +
     .../com.softeer.backend/index.source.html     |    1 +
     jacoco/jacocoHtml/index.html                  |    1 +
     .../jacocoHtml/jacoco-resources/branchfc.gif  |  Bin 0 -> 91 bytes
     .../jacocoHtml/jacoco-resources/branchnc.gif  |  Bin 0 -> 91 bytes
     .../jacocoHtml/jacoco-resources/branchpc.gif  |  Bin 0 -> 91 bytes
     jacoco/jacocoHtml/jacoco-resources/bundle.gif |  Bin 0 -> 709 bytes
     jacoco/jacocoHtml/jacoco-resources/class.gif  |  Bin 0 -> 586 bytes
     jacoco/jacocoHtml/jacoco-resources/down.gif   |  Bin 0 -> 67 bytes
     .../jacocoHtml/jacoco-resources/greenbar.gif  |  Bin 0 -> 91 bytes
     jacoco/jacocoHtml/jacoco-resources/group.gif  |  Bin 0 -> 351 bytes
     jacoco/jacocoHtml/jacoco-resources/method.gif |  Bin 0 -> 193 bytes
     .../jacocoHtml/jacoco-resources/package.gif   |  Bin 0 -> 227 bytes
     .../jacocoHtml/jacoco-resources/prettify.css  |   13 +
     .../jacocoHtml/jacoco-resources/prettify.js   | 1510 +++++++++++++++++
     jacoco/jacocoHtml/jacoco-resources/redbar.gif |  Bin 0 -> 91 bytes
     jacoco/jacocoHtml/jacoco-resources/report.css |  243 +++
     jacoco/jacocoHtml/jacoco-resources/report.gif |  Bin 0 -> 363 bytes
     .../jacocoHtml/jacoco-resources/session.gif   |  Bin 0 -> 213 bytes
     jacoco/jacocoHtml/jacoco-resources/sort.gif   |  Bin 0 -> 58 bytes
     jacoco/jacocoHtml/jacoco-resources/sort.js    |  148 ++
     jacoco/jacocoHtml/jacoco-resources/source.gif |  Bin 0 -> 354 bytes
     jacoco/jacocoHtml/jacoco-resources/up.gif     |  Bin 0 -> 67 bytes
     jacoco/jacocoHtml/jacoco-sessions.html        |    1 +
     328 files changed, 8306 insertions(+)
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/AdminLoginController.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/AdminLoginController.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/EventPageController.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/EventPageController.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/IndicatorPageController.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/IndicatorPageController.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/WinnerPageController.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/WinnerPageController.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/index.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/index.source.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.event/EventPageResponseDto.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.event/EventPageResponseDto.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.event/index.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.event/index.source.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.indicator/EventIndicatorResponseDto.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.indicator/EventIndicatorResponseDto.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.indicator/index.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.indicator/index.source.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.main/AdminMainPageResponseDto.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.main/AdminMainPageResponseDto.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.main/index.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.main/index.source.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/DrawWinnerListResponseDto.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/DrawWinnerListResponseDto.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/FcfsWinnerListResponseDto.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/FcfsWinnerListResponseDto.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/WinnerPageResponseDto.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/WinnerPageResponseDto.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/index.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/index.source.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.exception/AdminException.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.exception/AdminException.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.exception/index.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.exception/index.source.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/PercentageSerializer.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/PercentageSerializer.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/PhoneNumberSerializer.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/PhoneNumberSerializer.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/index.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/index.source.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/AdminLoginService.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/AdminLoginService.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/EventPageService.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/EventPageService.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/IndicatorPageService.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/IndicatorPageService.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/WinnerPageService.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/WinnerPageService.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/index.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/index.source.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.util/PasswordEncoder.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.util/PasswordEncoder.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.util/index.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.util/index.source.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/DrawTimeRangeValidator.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/DrawTimeRangeValidator.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/FcfsDateRangeValidator.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/FcfsDateRangeValidator.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/FcfsTimeRangeValidator.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/FcfsTimeRangeValidator.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/index.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/index.source.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.eventparticipation.repository/EventParticipationRepository.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.eventparticipation.repository/EventParticipationRepository.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.eventparticipation.repository/index.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.eventparticipation.repository/index.source.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.constant/CommentNickname.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.constant/CommentNickname.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.constant/index.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.constant/index.source.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.controller/CommentController.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.controller/CommentController.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.controller/index.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.controller/index.source.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.domain/Comment.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.domain/Comment.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.domain/index.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.domain/index.source.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.dto/CommentsResponseDto.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.dto/CommentsResponseDto.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.dto/index.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.dto/index.source.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.exception/CommentException.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.exception/CommentException.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.exception/index.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.exception/index.source.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.service/CommentService.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.service/CommentService.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.service/index.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.service/index.source.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.util/ScrollPaginationUtil.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.util/ScrollPaginationUtil.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.util/index.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.util/index.source.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.controller/DrawController.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.controller/DrawController.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.controller/index.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.controller/index.source.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.exception/DrawException.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.exception/DrawException.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.exception/index.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.exception/index.source.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.interceptor/DrawTimeCheckInterceptor.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.interceptor/DrawTimeCheckInterceptor.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.interceptor/index.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.interceptor/index.source.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/DrawService.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/DrawService.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/DrawSettingManager.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/DrawSettingManager.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/index.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/index.source.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawAttendanceCountUtil.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawAttendanceCountUtil.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawModalGenerateUtil.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawModalGenerateUtil.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawResponseGenerateUtil.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawResponseGenerateUtil.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawUtil.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawUtil.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/index.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/index.source.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.controller/FcfsController.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.controller/FcfsController.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.controller/index.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.controller/index.source.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.exception/FcfsException.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.exception/FcfsException.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.exception/index.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.exception/index.source.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.interceptor/FcfsTimeCheckInterceptor.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.interceptor/FcfsTimeCheckInterceptor.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.interceptor/index.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.interceptor/index.source.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/FcfsService.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/FcfsService.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/FcfsSettingManager.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/FcfsSettingManager.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/QuizManager.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/QuizManager.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/index.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/index.source.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.controller/MainPageController.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.controller/MainPageController.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.controller/index.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.controller/index.source.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.service/MainPageService.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.service/MainPageService.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.service/index.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.service/index.source.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.controller/ShareController.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.controller/ShareController.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.controller/index.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.controller/index.source.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.domain/ShareInfo.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.domain/ShareInfo.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.domain/index.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.domain/index.source.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/ShareInfoException.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/ShareInfoException.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/ShareUrlInfoException.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/ShareUrlInfoException.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/index.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/index.source.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.service/ShareUrlInfoService.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.service/ShareUrlInfoService.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.service/index.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.service/index.source.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/RedisVerificationPrefix.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/RedisVerificationPrefix.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/VerificationProperty.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/VerificationProperty.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/index.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/index.source.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/LoginController.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/LoginController.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/VerificationController.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/VerificationController.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/index.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/index.source.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.exception/UserException.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.exception/UserException.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.exception/index.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.exception/index.source.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.properties/SmsProperties.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.properties/SmsProperties.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.properties/index.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.properties/index.source.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/LoginService.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/LoginService.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/VerificationService.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/VerificationService.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/index.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/index.source.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/AopForTransaction.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/AopForTransaction.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/EventLockAop.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/EventLockAop.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/index.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/index.source.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.annotation.argumentresolver/AuthInfoArgumentResolver.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.annotation.argumentresolver/AuthInfoArgumentResolver.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.annotation.argumentresolver/index.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.annotation.argumentresolver/index.source.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/ErrorStatus.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/ErrorStatus.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/SuccessStatus.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/SuccessStatus.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/index.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/index.source.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.constant/RedisKeyPrefix.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.constant/RedisKeyPrefix.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.constant/RoleType.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.constant/RoleType.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.constant/ValidationConstant.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.constant/ValidationConstant.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.constant/index.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.constant/index.source.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.exception/ExceptionAdvice.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.exception/ExceptionAdvice.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.exception/GeneralException.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.exception/GeneralException.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.exception/JwtAuthenticationException.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.exception/JwtAuthenticationException.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.exception/JwtAuthorizationException.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.exception/JwtAuthorizationException.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.exception/index.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.exception/index.source.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.response/ResponseDto.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.response/ResponseDto.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.response/index.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.response/index.source.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.swagger/SwaggerController.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.swagger/SwaggerController.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.swagger/index.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.swagger/index.source.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.cache/CacheConfig.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.cache/CacheConfig.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.cache/index.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.cache/index.source.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.docs/SwaggerConfig.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.docs/SwaggerConfig.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.docs/index.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.docs/index.source.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.properties/JwtProperties.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.properties/JwtProperties.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.properties/RedisProperties.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.properties/RedisProperties.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.properties/index.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.properties/index.source.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.redis/RedisConfig.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.redis/RedisConfig.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.redis/index.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.redis/index.source.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.schedular/SchedulerConfig.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.schedular/SchedulerConfig.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.schedular/index.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.schedular/index.source.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.web/WebMvcConfig.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.web/WebMvcConfig.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.web/index.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.web/index.source.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.filter/ExceptionHandlingFilter.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.filter/ExceptionHandlingFilter.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.filter/JwtAuthenticationFilter.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.filter/JwtAuthenticationFilter.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.filter/JwtAuthorizationFilter.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.filter/JwtAuthorizationFilter.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.filter/index.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.filter/index.source.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.scheduler/DbInsertScheduler.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.scheduler/DbInsertScheduler.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.scheduler/EventSettingScheduler.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.scheduler/EventSettingScheduler.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.scheduler/index.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.scheduler/index.source.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/S3FileName.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/S3FileName.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/StaticTextName.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/StaticTextName.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/index.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/index.source.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.staticresources.util/StaticResourceUtil.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.staticresources.util/StaticResourceUtil.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.staticresources.util/index.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.staticresources.util/index.source.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.util/DrawRedisUtil.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.util/DrawRedisUtil.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.util/EventLockRedisUtil.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.util/EventLockRedisUtil.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.util/FcfsRedisUtil.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.util/FcfsRedisUtil.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.util/JwtUtil.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.util/JwtUtil.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.util/RandomCodeUtil.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.util/RandomCodeUtil.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.util/SpringELParser.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.util/SpringELParser.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.util/StringRedisUtil.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.util/StringRedisUtil.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.util/index.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.util/index.source.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend/BackendApplication.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend/BackendApplication.java.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend/index.html
     create mode 100644 jacoco/jacocoHtml/com.softeer.backend/index.source.html
     create mode 100644 jacoco/jacocoHtml/index.html
     create mode 100644 jacoco/jacocoHtml/jacoco-resources/branchfc.gif
     create mode 100644 jacoco/jacocoHtml/jacoco-resources/branchnc.gif
     create mode 100644 jacoco/jacocoHtml/jacoco-resources/branchpc.gif
     create mode 100644 jacoco/jacocoHtml/jacoco-resources/bundle.gif
     create mode 100644 jacoco/jacocoHtml/jacoco-resources/class.gif
     create mode 100644 jacoco/jacocoHtml/jacoco-resources/down.gif
     create mode 100644 jacoco/jacocoHtml/jacoco-resources/greenbar.gif
     create mode 100644 jacoco/jacocoHtml/jacoco-resources/group.gif
     create mode 100644 jacoco/jacocoHtml/jacoco-resources/method.gif
     create mode 100644 jacoco/jacocoHtml/jacoco-resources/package.gif
     create mode 100644 jacoco/jacocoHtml/jacoco-resources/prettify.css
     create mode 100644 jacoco/jacocoHtml/jacoco-resources/prettify.js
     create mode 100644 jacoco/jacocoHtml/jacoco-resources/redbar.gif
     create mode 100644 jacoco/jacocoHtml/jacoco-resources/report.css
     create mode 100644 jacoco/jacocoHtml/jacoco-resources/report.gif
     create mode 100644 jacoco/jacocoHtml/jacoco-resources/session.gif
     create mode 100644 jacoco/jacocoHtml/jacoco-resources/sort.gif
     create mode 100644 jacoco/jacocoHtml/jacoco-resources/sort.js
     create mode 100644 jacoco/jacocoHtml/jacoco-resources/source.gif
     create mode 100644 jacoco/jacocoHtml/jacoco-resources/up.gif
     create mode 100644 jacoco/jacocoHtml/jacoco-sessions.html
    
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/AdminLoginController.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/AdminLoginController.html
    new file mode 100644
    index 00000000..e138e1a3
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/AdminLoginController.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>AdminLoginController</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.bo_domain.admin.controller</a> &gt; <span class="el_class">AdminLoginController</span></div><h1>AdminLoginController</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">21 of 21</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">6</td><td class="ctr2">6</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a0"><a href="AdminLoginController.java.html#L26" class="el_method">handleLogin(AdminLoginRequestDto)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="8" alt="8"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="AdminLoginController.java.html#L33" class="el_method">handleLogout(Integer)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="105" height="10" title="7" alt="7"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="AdminLoginController.java.html#L41" class="el_method">handleSignUp(AdminSignUpRequestDto)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="90" height="10" title="6" alt="6"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">2</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/AdminLoginController.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/AdminLoginController.java.html
    new file mode 100644
    index 00000000..78575ebb
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/AdminLoginController.java.html
    @@ -0,0 +1,48 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>AdminLoginController.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.bo_domain.admin.controller</a> &gt; <span class="el_source">AdminLoginController.java</span></div><h1>AdminLoginController.java</h1><pre class="source lang-java linenums">package com.softeer.backend.bo_domain.admin.controller;
    +
    +import com.softeer.backend.bo_domain.admin.dto.login.AdminLoginRequestDto;
    +import com.softeer.backend.bo_domain.admin.dto.login.AdminSignUpRequestDto;
    +import com.softeer.backend.bo_domain.admin.service.AdminLoginService;
    +import com.softeer.backend.global.annotation.AuthInfo;
    +import com.softeer.backend.global.common.dto.JwtTokenResponseDto;
    +import com.softeer.backend.global.common.response.ResponseDto;
    +import io.swagger.v3.oas.annotations.Parameter;
    +import jakarta.validation.Valid;
    +import lombok.RequiredArgsConstructor;
    +import org.springframework.web.bind.annotation.PostMapping;
    +import org.springframework.web.bind.annotation.RequestBody;
    +import org.springframework.web.bind.annotation.RequestMapping;
    +import org.springframework.web.bind.annotation.RestController;
    +
    +@RestController
    +@RequiredArgsConstructor
    +@RequestMapping(&quot;/admin&quot;)
    +public class AdminLoginController {
    +
    +    private final AdminLoginService adminLoginService;
    +
    +    @PostMapping(&quot;/login&quot;)
    +    ResponseDto&lt;JwtTokenResponseDto&gt; handleLogin(@Valid @RequestBody AdminLoginRequestDto adminLoginRequestDto) {
    +<span class="nc" id="L26">        JwtTokenResponseDto jwtTokenResponseDto = adminLoginService.handleLogin(adminLoginRequestDto);</span>
    +
    +<span class="nc" id="L28">        return ResponseDto.onSuccess(jwtTokenResponseDto);</span>
    +    }
    +
    +    @PostMapping(&quot;/logout&quot;)
    +    ResponseDto&lt;Void&gt; handleLogout(@Parameter(hidden = true) @AuthInfo Integer adminId) {
    +<span class="nc" id="L33">        adminLoginService.handleLogout(adminId);</span>
    +
    +<span class="nc" id="L35">        return ResponseDto.onSuccess();</span>
    +    }
    +
    +    @PostMapping(&quot;/signup&quot;)
    +    ResponseDto&lt;Void&gt; handleSignUp(@Valid @RequestBody AdminSignUpRequestDto adminSignUpRequestDto) {
    +
    +<span class="nc" id="L41">        adminLoginService.handleSignUp(adminSignUpRequestDto);</span>
    +
    +<span class="nc" id="L43">        return ResponseDto.onSuccess();</span>
    +    }
    +
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/EventPageController.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/EventPageController.html
    new file mode 100644
    index 00000000..08794e13
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/EventPageController.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>EventPageController</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.bo_domain.admin.controller</a> &gt; <span class="el_class">EventPageController</span></div><h1>EventPageController</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">19 of 19</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">6</td><td class="ctr2">6</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a0"><a href="EventPageController.java.html#L21" class="el_method">getEventPage()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="7" alt="7"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="EventPageController.java.html#L28" class="el_method">updateFcfsEventTime(FcfsEventTimeRequestDto)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="102" height="10" title="6" alt="6"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a1"><a href="EventPageController.java.html#L35" class="el_method">updateDrawEventTime(DrawEventTimeRequestDto)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="102" height="10" title="6" alt="6"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">2</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/EventPageController.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/EventPageController.java.html
    new file mode 100644
    index 00000000..14eff7a1
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/EventPageController.java.html
    @@ -0,0 +1,41 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>EventPageController.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.bo_domain.admin.controller</a> &gt; <span class="el_source">EventPageController.java</span></div><h1>EventPageController.java</h1><pre class="source lang-java linenums">package com.softeer.backend.bo_domain.admin.controller;
    +
    +import com.softeer.backend.bo_domain.admin.dto.event.DrawEventTimeRequestDto;
    +import com.softeer.backend.bo_domain.admin.dto.event.EventPageResponseDto;
    +import com.softeer.backend.bo_domain.admin.dto.event.FcfsEventTimeRequestDto;
    +import com.softeer.backend.bo_domain.admin.service.EventPageService;
    +import com.softeer.backend.global.common.response.ResponseDto;
    +import jakarta.validation.Valid;
    +import lombok.RequiredArgsConstructor;
    +import org.springframework.web.bind.annotation.*;
    +
    +@RestController
    +@RequiredArgsConstructor
    +@RequestMapping(&quot;/admin/event&quot;)
    +public class EventPageController {
    +
    +    private final EventPageService eventPageService;
    +
    +    @GetMapping
    +    public ResponseDto&lt;EventPageResponseDto&gt; getEventPage() {
    +<span class="nc" id="L21">        EventPageResponseDto eventPageResponseDto = eventPageService.getEventPage();</span>
    +
    +<span class="nc" id="L23">        return ResponseDto.onSuccess(eventPageResponseDto);</span>
    +    }
    +
    +    @PostMapping(&quot;/fcfs&quot;)
    +    public ResponseDto&lt;Void&gt; updateFcfsEventTime(@Valid @RequestBody FcfsEventTimeRequestDto fcfsEventTimeRequestDto) {
    +<span class="nc" id="L28">        eventPageService.updateFcfsEventTime(fcfsEventTimeRequestDto);</span>
    +
    +<span class="nc" id="L30">        return ResponseDto.onSuccess();</span>
    +    }
    +
    +    @PostMapping(&quot;/draw&quot;)
    +    public ResponseDto&lt;Void&gt; updateDrawEventTime(@Valid @RequestBody DrawEventTimeRequestDto drawEventTimeRequestDto) {
    +<span class="nc" id="L35">        eventPageService.updateDrawEventTime(drawEventTimeRequestDto);</span>
    +
    +<span class="nc" id="L37">        return ResponseDto.onSuccess();</span>
    +    }
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/IndicatorPageController.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/IndicatorPageController.html
    new file mode 100644
    index 00000000..15894db2
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/IndicatorPageController.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>IndicatorPageController</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.bo_domain.admin.controller</a> &gt; <span class="el_class">IndicatorPageController</span></div><h1>IndicatorPageController</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">7 of 7</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="IndicatorPageController.java.html#L20" class="el_method">getEventIndicator()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="7" alt="7"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/IndicatorPageController.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/IndicatorPageController.java.html
    new file mode 100644
    index 00000000..51a219c9
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/IndicatorPageController.java.html
    @@ -0,0 +1,25 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>IndicatorPageController.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.bo_domain.admin.controller</a> &gt; <span class="el_source">IndicatorPageController.java</span></div><h1>IndicatorPageController.java</h1><pre class="source lang-java linenums">package com.softeer.backend.bo_domain.admin.controller;
    +
    +import com.softeer.backend.bo_domain.admin.dto.indicator.EventIndicatorResponseDto;
    +import com.softeer.backend.bo_domain.admin.service.IndicatorPageService;
    +import com.softeer.backend.global.common.response.ResponseDto;
    +import lombok.RequiredArgsConstructor;
    +import org.springframework.web.bind.annotation.GetMapping;
    +import org.springframework.web.bind.annotation.RequestMapping;
    +import org.springframework.web.bind.annotation.RestController;
    +
    +@RestController
    +@RequiredArgsConstructor
    +@RequestMapping(&quot;/admin&quot;)
    +public class IndicatorPageController {
    +
    +    private final IndicatorPageService indicatorPageService;
    +
    +    @GetMapping(&quot;/indicator&quot;)
    +    public ResponseDto&lt;EventIndicatorResponseDto&gt; getEventIndicator() {
    +<span class="nc" id="L20">        EventIndicatorResponseDto eventIndicatorResponseDto = indicatorPageService.getEventIndicator();</span>
    +
    +<span class="nc" id="L22">        return ResponseDto.onSuccess(eventIndicatorResponseDto);</span>
    +    }
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/WinnerPageController.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/WinnerPageController.html
    new file mode 100644
    index 00000000..24d984b3
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/WinnerPageController.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>WinnerPageController</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.bo_domain.admin.controller</a> &gt; <span class="el_class">WinnerPageController</span></div><h1>WinnerPageController</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">37 of 37</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">10</td><td class="ctr2">10</td><td class="ctr1">5</td><td class="ctr2">5</td></tr></tfoot><tbody><tr><td id="a1"><a href="WinnerPageController.java.html#L27" class="el_method">getFcfsWinnerList(Integer)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="9" alt="9"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="WinnerPageController.java.html#L35" class="el_method">getDrawWinnerList(Integer)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="9" alt="9"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="WinnerPageController.java.html#L19" class="el_method">getWinnerPage()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="93" height="10" title="7" alt="7"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">2</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a4"><a href="WinnerPageController.java.html#L43" class="el_method">updateFcfsWinnerNum(FcfsWinnerUpdateRequestDto)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="80" height="10" title="6" alt="6"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">2</td><td class="ctr2" id="i3">2</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a3"><a href="WinnerPageController.java.html#L51" class="el_method">updateFcfsWinnerNum(DrawWinnerUpdateRequestDto)</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="80" height="10" title="6" alt="6"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">2</td><td class="ctr2" id="i4">2</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/WinnerPageController.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/WinnerPageController.java.html
    new file mode 100644
    index 00000000..4c3ce32c
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/WinnerPageController.java.html
    @@ -0,0 +1,58 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>WinnerPageController.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.bo_domain.admin.controller</a> &gt; <span class="el_source">WinnerPageController.java</span></div><h1>WinnerPageController.java</h1><pre class="source lang-java linenums">package com.softeer.backend.bo_domain.admin.controller;
    +
    +import com.softeer.backend.bo_domain.admin.dto.event.EventPageResponseDto;
    +import com.softeer.backend.bo_domain.admin.dto.winner.*;
    +import com.softeer.backend.bo_domain.admin.service.WinnerPageService;
    +import com.softeer.backend.global.common.response.ResponseDto;
    +import jakarta.validation.Valid;
    +import lombok.RequiredArgsConstructor;
    +import org.springframework.web.bind.annotation.*;
    +
    +@RestController
    +@RequiredArgsConstructor
    +@RequestMapping(&quot;/admin/winner&quot;)
    +public class WinnerPageController {
    +    private final WinnerPageService winnerPageService;
    +
    +    @GetMapping
    +    public ResponseDto&lt;WinnerPageResponseDto&gt; getWinnerPage() {
    +<span class="nc" id="L19">        WinnerPageResponseDto winnerPageResponseDto = winnerPageService.getWinnerPage();</span>
    +
    +<span class="nc" id="L21">        return ResponseDto.onSuccess(winnerPageResponseDto);</span>
    +    }
    +
    +    @GetMapping(&quot;/fcfs/{round}&quot;)
    +    public ResponseDto&lt;FcfsWinnerListResponseDto&gt; getFcfsWinnerList(@PathVariable Integer round) {
    +
    +<span class="nc" id="L27">        FcfsWinnerListResponseDto fcfsWinnerListResponseDto = winnerPageService.getFcfsWinnerList(round);</span>
    +
    +<span class="nc" id="L29">        return ResponseDto.onSuccess(fcfsWinnerListResponseDto);</span>
    +    }
    +
    +    @GetMapping(&quot;/draw/{rank}&quot;)
    +    public ResponseDto&lt;DrawWinnerListResponseDto&gt; getDrawWinnerList(@PathVariable Integer rank) {
    +
    +<span class="nc" id="L35">        DrawWinnerListResponseDto drawWinnerListResponseDto = winnerPageService.getDrawWinnerList(rank);</span>
    +
    +<span class="nc" id="L37">        return ResponseDto.onSuccess(drawWinnerListResponseDto);</span>
    +    }
    +
    +    @PostMapping(&quot;/fcfs&quot;)
    +    public ResponseDto&lt;Void&gt; updateFcfsWinnerNum(@Valid @RequestBody FcfsWinnerUpdateRequestDto fcfsWinnerUpdateRequestDto) {
    +
    +<span class="nc" id="L43">        winnerPageService.updateFcfsWinnerNum(fcfsWinnerUpdateRequestDto);</span>
    +
    +<span class="nc" id="L45">        return ResponseDto.onSuccess();</span>
    +    }
    +
    +    @PostMapping(&quot;/draw&quot;)
    +    public ResponseDto&lt;Void&gt; updateFcfsWinnerNum(@Valid @RequestBody DrawWinnerUpdateRequestDto drawWinnerUpdateRequestDto) {
    +
    +<span class="nc" id="L51">        winnerPageService.updateDrawWinnerNum(drawWinnerUpdateRequestDto);</span>
    +
    +<span class="nc" id="L53">        return ResponseDto.onSuccess();</span>
    +    }
    +
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/index.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/index.html
    new file mode 100644
    index 00000000..ef8b497e
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.bo_domain.admin.controller</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.bo_domain.admin.controller</span></div><h1>com.softeer.backend.bo_domain.admin.controller</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">84 of 84</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">24</td><td class="ctr2">24</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">4</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a3"><a href="WinnerPageController.html" class="el_class">WinnerPageController</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="37" alt="37"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">5</td><td class="ctr2" id="g0">5</td><td class="ctr1" id="h0">10</td><td class="ctr2" id="i0">10</td><td class="ctr1" id="j0">5</td><td class="ctr2" id="k0">5</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="AdminLoginController.html" class="el_class">AdminLoginController</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="68" height="10" title="21" alt="21"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">3</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h1">6</td><td class="ctr2" id="i1">6</td><td class="ctr1" id="j1">3</td><td class="ctr2" id="k1">3</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a1"><a href="EventPageController.html" class="el_class">EventPageController</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="61" height="10" title="19" alt="19"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">3</td><td class="ctr2" id="g2">3</td><td class="ctr1" id="h2">6</td><td class="ctr2" id="i2">6</td><td class="ctr1" id="j2">3</td><td class="ctr2" id="k2">3</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a2"><a href="IndicatorPageController.html" class="el_class">IndicatorPageController</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="22" height="10" title="7" alt="7"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">2</td><td class="ctr2" id="i3">2</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td><td class="ctr1" id="l3">1</td><td class="ctr2" id="m3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/index.source.html
    new file mode 100644
    index 00000000..1a276f93
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.bo_domain.admin.controller</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.bo_domain.admin.controller</span></div><h1>com.softeer.backend.bo_domain.admin.controller</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">84 of 84</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">24</td><td class="ctr2">24</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">4</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a3"><a href="WinnerPageController.java.html" class="el_source">WinnerPageController.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="37" alt="37"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">5</td><td class="ctr2" id="g0">5</td><td class="ctr1" id="h0">10</td><td class="ctr2" id="i0">10</td><td class="ctr1" id="j0">5</td><td class="ctr2" id="k0">5</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="AdminLoginController.java.html" class="el_source">AdminLoginController.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="68" height="10" title="21" alt="21"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">3</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h1">6</td><td class="ctr2" id="i1">6</td><td class="ctr1" id="j1">3</td><td class="ctr2" id="k1">3</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a1"><a href="EventPageController.java.html" class="el_source">EventPageController.java</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="61" height="10" title="19" alt="19"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">3</td><td class="ctr2" id="g2">3</td><td class="ctr1" id="h2">6</td><td class="ctr2" id="i2">6</td><td class="ctr1" id="j2">3</td><td class="ctr2" id="k2">3</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a2"><a href="IndicatorPageController.java.html" class="el_source">IndicatorPageController.java</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="22" height="10" title="7" alt="7"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">2</td><td class="ctr2" id="i3">2</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td><td class="ctr1" id="l3">1</td><td class="ctr2" id="m3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.event/EventPageResponseDto.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.event/EventPageResponseDto.html
    new file mode 100644
    index 00000000..d01d99c4
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.event/EventPageResponseDto.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>EventPageResponseDto</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.bo_domain.admin.dto.event</a> &gt; <span class="el_class">EventPageResponseDto</span></div><h1>EventPageResponseDto</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">40 of 40</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">18</td><td class="ctr2">18</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="EventPageResponseDto.java.html#L62" class="el_method">of(List, DrawSetting)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="28" alt="28"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">13</td><td class="ctr2" id="i0">13</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="EventPageResponseDto.java.html#L64" class="el_method">lambda$of$0(FcfsSetting)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="51" height="10" title="12" alt="12"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">5</td><td class="ctr2" id="i1">5</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.event/EventPageResponseDto.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.event/EventPageResponseDto.java.html
    new file mode 100644
    index 00000000..1d290aac
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.event/EventPageResponseDto.java.html
    @@ -0,0 +1,85 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>EventPageResponseDto.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.bo_domain.admin.dto.event</a> &gt; <span class="el_source">EventPageResponseDto.java</span></div><h1>EventPageResponseDto.java</h1><pre class="source lang-java linenums">package com.softeer.backend.bo_domain.admin.dto.event;
    +
    +import com.fasterxml.jackson.annotation.JsonFormat;
    +import com.softeer.backend.bo_domain.admin.dto.main.AdminMainPageResponseDto;
    +import com.softeer.backend.fo_domain.draw.domain.DrawSetting;
    +import com.softeer.backend.fo_domain.draw.service.DrawSettingManager;
    +import com.softeer.backend.fo_domain.fcfs.domain.FcfsSetting;
    +import com.softeer.backend.fo_domain.fcfs.service.FcfsSettingManager;
    +import lombok.*;
    +
    +import java.time.LocalDate;
    +import java.time.LocalDateTime;
    +import java.time.LocalTime;
    +import java.util.Arrays;
    +import java.util.List;
    +
    +@NoArgsConstructor(access = AccessLevel.PRIVATE)
    +@AllArgsConstructor(access = AccessLevel.PUBLIC)
    +@Builder
    +@Getter
    +public class EventPageResponseDto {
    +
    +    private List&lt;FcfsEvent&gt; fcfsEventList;
    +
    +    private DrawEvent drawEvent;
    +
    +    @Getter
    +    @AllArgsConstructor
    +    @Builder
    +    public static class FcfsEvent {
    +
    +        private int round;
    +
    +        @JsonFormat(pattern = &quot;yyyy-MM-dd hh:mm:ss&quot;)
    +        private LocalDateTime startTime;
    +
    +        @JsonFormat(pattern = &quot;yyyy-MM-dd hh:mm:ss&quot;)
    +        private LocalDateTime endTime;
    +
    +    }
    +
    +    @Getter
    +    @AllArgsConstructor
    +    @Builder
    +    public static class DrawEvent {
    +
    +        @JsonFormat(pattern = &quot;yyyy-MM-dd&quot;)
    +        private LocalDate startDate;
    +
    +        @JsonFormat(pattern = &quot;yyyy-MM-dd&quot;)
    +        private LocalDate endDate;
    +
    +        @JsonFormat(pattern = &quot;HH:mm:ss&quot;)
    +        private LocalTime startTime;
    +
    +        @JsonFormat(pattern = &quot;HH:mm:ss&quot;)
    +        private LocalTime endTime;
    +
    +    }
    +
    +    public static EventPageResponseDto of(List&lt;FcfsSetting&gt; fcfsSettingList, DrawSetting drawSetting) {
    +<span class="nc" id="L62">        List&lt;FcfsEvent&gt; fcfsEventList = fcfsSettingList.stream()</span>
    +<span class="nc" id="L63">                .map((fcfsSetting) -&gt;</span>
    +<span class="nc" id="L64">                        EventPageResponseDto.FcfsEvent.builder()</span>
    +<span class="nc" id="L65">                                .round(fcfsSetting.getRound())</span>
    +<span class="nc" id="L66">                                .startTime(fcfsSetting.getStartTime())</span>
    +<span class="nc" id="L67">                                .endTime(fcfsSetting.getEndTime())</span>
    +<span class="nc" id="L68">                                .build())</span>
    +<span class="nc" id="L69">                .toList();</span>
    +
    +<span class="nc" id="L71">        DrawEvent drawEvent = DrawEvent.builder()</span>
    +<span class="nc" id="L72">                .startDate(drawSetting.getStartDate())</span>
    +<span class="nc" id="L73">                .endDate(drawSetting.getEndDate())</span>
    +<span class="nc" id="L74">                .startTime(drawSetting.getStartTime())</span>
    +<span class="nc" id="L75">                .endTime(drawSetting.getEndTime())</span>
    +<span class="nc" id="L76">                .build();</span>
    +
    +<span class="nc" id="L78">        return EventPageResponseDto.builder()</span>
    +<span class="nc" id="L79">                .fcfsEventList(fcfsEventList)</span>
    +<span class="nc" id="L80">                .drawEvent(drawEvent)</span>
    +<span class="nc" id="L81">                .build();</span>
    +
    +    }
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.event/index.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.event/index.html
    new file mode 100644
    index 00000000..d863bb43
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.event/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.bo_domain.admin.dto.event</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.bo_domain.admin.dto.event</span></div><h1>com.softeer.backend.bo_domain.admin.dto.event</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">40 of 40</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">18</td><td class="ctr2">18</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="EventPageResponseDto.html" class="el_class">EventPageResponseDto</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="40" alt="40"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">18</td><td class="ctr2" id="i0">18</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.event/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.event/index.source.html
    new file mode 100644
    index 00000000..428ee76a
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.event/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.bo_domain.admin.dto.event</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.bo_domain.admin.dto.event</span></div><h1>com.softeer.backend.bo_domain.admin.dto.event</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">40 of 40</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">18</td><td class="ctr2">18</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="EventPageResponseDto.java.html" class="el_source">EventPageResponseDto.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="40" alt="40"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">18</td><td class="ctr2" id="i0">18</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.indicator/EventIndicatorResponseDto.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.indicator/EventIndicatorResponseDto.html
    new file mode 100644
    index 00000000..c5a599f4
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.indicator/EventIndicatorResponseDto.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>EventIndicatorResponseDto</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.bo_domain.admin.dto.indicator</a> &gt; <span class="el_class">EventIndicatorResponseDto</span></div><h1>EventIndicatorResponseDto</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">78 of 78</td><td class="ctr2">0%</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">30</td><td class="ctr2">30</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="EventIndicatorResponseDto.java.html#L54" class="el_method">of(List, DrawSetting)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="69" alt="69"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">26</td><td class="ctr2" id="i0">26</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="EventIndicatorResponseDto.java.html#L74" class="el_method">lambda$of$0(EventParticipation)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="15" height="10" title="9" alt="9"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">4</td><td class="ctr2" id="i1">4</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.indicator/EventIndicatorResponseDto.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.indicator/EventIndicatorResponseDto.java.html
    new file mode 100644
    index 00000000..a4143d26
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.indicator/EventIndicatorResponseDto.java.html
    @@ -0,0 +1,92 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>EventIndicatorResponseDto.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.bo_domain.admin.dto.indicator</a> &gt; <span class="el_source">EventIndicatorResponseDto.java</span></div><h1>EventIndicatorResponseDto.java</h1><pre class="source lang-java linenums">package com.softeer.backend.bo_domain.admin.dto.indicator;
    +
    +
    +import com.fasterxml.jackson.annotation.JsonFormat;
    +import com.fasterxml.jackson.databind.annotation.JsonSerialize;
    +import com.softeer.backend.bo_domain.admin.serializer.PercentageSerializer;
    +import com.softeer.backend.bo_domain.admin.serializer.PhoneNumberSerializer;
    +import com.softeer.backend.bo_domain.eventparticipation.domain.EventParticipation;
    +import com.softeer.backend.fo_domain.draw.domain.DrawSetting;
    +import com.softeer.backend.fo_domain.draw.service.DrawSettingManager;
    +import lombok.*;
    +
    +import java.time.LocalDate;
    +import java.util.List;
    +
    +@NoArgsConstructor(access = AccessLevel.PRIVATE)
    +@AllArgsConstructor(access = AccessLevel.PUBLIC)
    +@Builder
    +@Getter
    +public class EventIndicatorResponseDto {
    +
    +    @JsonFormat(pattern = &quot;yyyy-MM-dd&quot;)
    +    private LocalDate startDate;
    +
    +    @JsonFormat(pattern = &quot;yyyy-MM-dd&quot;)
    +    private LocalDate endDate;
    +
    +    private int totalVisitorCount;
    +
    +    private int totalFcfsParticipantCount;
    +
    +    private int totalDrawParticipantCount;
    +
    +    @JsonSerialize(using = PercentageSerializer.class)
    +    private double fcfsParticipantRate;
    +
    +    @JsonSerialize(using = PercentageSerializer.class)
    +    private double drawParticipantRate;
    +
    +    private List&lt;VisitorNum&gt; visitorNumList;
    +
    +    @Getter
    +    @AllArgsConstructor
    +    @Builder
    +    public static class VisitorNum {
    +
    +        @JsonFormat(pattern = &quot;yyyy-MM-dd&quot;)
    +        private LocalDate visitDate;
    +
    +        private int visitorNum;
    +    }
    +
    +    public static EventIndicatorResponseDto of(List&lt;EventParticipation&gt; eventParticipationList, DrawSetting drawSetting) {
    +<span class="nc" id="L54">        LocalDate startDate = drawSetting.getStartDate();</span>
    +<span class="nc" id="L55">        LocalDate endDate = drawSetting.getEndDate();</span>
    +
    +<span class="nc" id="L57">        int totalVisitorCount = eventParticipationList.stream()</span>
    +<span class="nc" id="L58">                .mapToInt(EventParticipation::getVisitorCount)</span>
    +<span class="nc" id="L59">                .sum();</span>
    +
    +<span class="nc" id="L61">        int totalFcfsParticipantCount = eventParticipationList.stream()</span>
    +<span class="nc" id="L62">                .mapToInt(EventParticipation::getFcfsParticipantCount)</span>
    +<span class="nc" id="L63">                .sum();</span>
    +
    +<span class="nc" id="L65">        int totalDrawParticipantCount = eventParticipationList.stream()</span>
    +<span class="nc" id="L66">                .mapToInt(EventParticipation::getDrawParticipantCount)</span>
    +<span class="nc" id="L67">                .sum();</span>
    +
    +<span class="nc bnc" id="L69" title="All 2 branches missed.">        double fcfsParticipantRate = totalVisitorCount == 0 ? 0 : (double) totalFcfsParticipantCount / (double) totalVisitorCount;</span>
    +<span class="nc bnc" id="L70" title="All 2 branches missed.">        double drawParticipantRate = totalVisitorCount == 0 ? 0 : (double) totalDrawParticipantCount / (double) totalVisitorCount;</span>
    +
    +<span class="nc" id="L72">        List&lt;VisitorNum&gt; visitorNumList = eventParticipationList.stream()</span>
    +<span class="nc" id="L73">                .map((eventParticipation) -&gt;</span>
    +<span class="nc" id="L74">                        VisitorNum.builder()</span>
    +<span class="nc" id="L75">                                .visitDate(eventParticipation.getEventDate())</span>
    +<span class="nc" id="L76">                                .visitorNum(eventParticipation.getVisitorCount())</span>
    +<span class="nc" id="L77">                                .build())</span>
    +<span class="nc" id="L78">                .toList();</span>
    +
    +<span class="nc" id="L80">        return EventIndicatorResponseDto.builder()</span>
    +<span class="nc" id="L81">                .startDate(startDate)</span>
    +<span class="nc" id="L82">                .endDate(endDate)</span>
    +<span class="nc" id="L83">                .totalVisitorCount(totalVisitorCount)</span>
    +<span class="nc" id="L84">                .totalFcfsParticipantCount(totalFcfsParticipantCount)</span>
    +<span class="nc" id="L85">                .totalDrawParticipantCount(totalDrawParticipantCount)</span>
    +<span class="nc" id="L86">                .fcfsParticipantRate(fcfsParticipantRate)</span>
    +<span class="nc" id="L87">                .drawParticipantRate(drawParticipantRate)</span>
    +<span class="nc" id="L88">                .visitorNumList(visitorNumList)</span>
    +<span class="nc" id="L89">                .build();</span>
    +    }
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.indicator/index.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.indicator/index.html
    new file mode 100644
    index 00000000..ecaf2aa4
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.indicator/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.bo_domain.admin.dto.indicator</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.bo_domain.admin.dto.indicator</span></div><h1>com.softeer.backend.bo_domain.admin.dto.indicator</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">78 of 78</td><td class="ctr2">0%</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">30</td><td class="ctr2">30</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="EventIndicatorResponseDto.html" class="el_class">EventIndicatorResponseDto</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="78" alt="78"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">30</td><td class="ctr2" id="i0">30</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.indicator/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.indicator/index.source.html
    new file mode 100644
    index 00000000..feb28f64
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.indicator/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.bo_domain.admin.dto.indicator</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.bo_domain.admin.dto.indicator</span></div><h1>com.softeer.backend.bo_domain.admin.dto.indicator</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">78 of 78</td><td class="ctr2">0%</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">30</td><td class="ctr2">30</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="EventIndicatorResponseDto.java.html" class="el_source">EventIndicatorResponseDto.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="78" alt="78"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">30</td><td class="ctr2" id="i0">30</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.main/AdminMainPageResponseDto.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.main/AdminMainPageResponseDto.html
    new file mode 100644
    index 00000000..3b4e06bb
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.main/AdminMainPageResponseDto.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>AdminMainPageResponseDto</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.bo_domain.admin.dto.main</a> &gt; <span class="el_class">AdminMainPageResponseDto</span></div><h1>AdminMainPageResponseDto</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">113 of 113</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">38</td><td class="ctr2">38</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a2"><a href="AdminMainPageResponseDto.java.html#L77" class="el_method">of(List, List)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="93" alt="93"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">31</td><td class="ctr2" id="i0">31</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="AdminMainPageResponseDto.java.html#L79" class="el_method">lambda$of$0(FcfsSetting)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="19" height="10" title="15" alt="15"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">6</td><td class="ctr2" id="i1">6</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="AdminMainPageResponseDto.java.html#L121" class="el_method">calculateWinningProbability(int)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="6" height="10" title="5" alt="5"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.main/AdminMainPageResponseDto.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.main/AdminMainPageResponseDto.java.html
    new file mode 100644
    index 00000000..7fe0a016
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.main/AdminMainPageResponseDto.java.html
    @@ -0,0 +1,124 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>AdminMainPageResponseDto.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.bo_domain.admin.dto.main</a> &gt; <span class="el_source">AdminMainPageResponseDto.java</span></div><h1>AdminMainPageResponseDto.java</h1><pre class="source lang-java linenums">package com.softeer.backend.bo_domain.admin.dto.main;
    +
    +import com.fasterxml.jackson.annotation.JsonFormat;
    +import com.fasterxml.jackson.databind.annotation.JsonSerialize;
    +import com.softeer.backend.bo_domain.admin.serializer.PercentageSerializer;
    +import com.softeer.backend.fo_domain.draw.domain.DrawSetting;
    +import com.softeer.backend.fo_domain.fcfs.domain.FcfsSetting;
    +import lombok.*;
    +
    +import java.time.LocalDate;
    +import java.time.LocalDateTime;
    +import java.time.LocalTime;
    +import java.util.Arrays;
    +import java.util.List;
    +
    +@NoArgsConstructor(access = AccessLevel.PRIVATE)
    +@AllArgsConstructor(access = AccessLevel.PUBLIC)
    +@Builder
    +@Getter
    +public class AdminMainPageResponseDto {
    +    public static final int EXPECTED_PARTICIPANT_COUNT = 10000;
    +
    +    private List&lt;FcfsEvent&gt; fcfsEventList;
    +
    +    private DrawEvent drawEvent;
    +
    +    @Getter
    +    @AllArgsConstructor
    +    @Builder
    +    public static class FcfsEvent {
    +
    +        private int round;
    +
    +        @JsonFormat(pattern = &quot;yyyy-MM-dd hh:mm:ss&quot;)
    +        private LocalDateTime startTime;
    +
    +        @JsonFormat(pattern = &quot;yyyy-MM-dd hh:mm:ss&quot;)
    +        private LocalDateTime endTime;
    +
    +        private int winnerNum;
    +    }
    +
    +    @Getter
    +    @AllArgsConstructor
    +    @Builder
    +    public static class DrawEvent {
    +
    +        @JsonFormat(pattern = &quot;yyyy-MM-dd&quot;)
    +        private LocalDate startDate;
    +
    +        @JsonFormat(pattern = &quot;yyyy-MM-dd&quot;)
    +        private LocalDate endDate;
    +
    +        @JsonFormat(pattern = &quot;hh:mm:ss&quot;)
    +        private LocalTime startTime;
    +
    +        @JsonFormat(pattern = &quot;hh:mm:ss&quot;)
    +        private LocalTime endTime;
    +
    +        private List&lt;DrawInfo&gt; drawInfoList;
    +    }
    +
    +    @Getter
    +    @AllArgsConstructor
    +    @Builder
    +    public static class DrawInfo {
    +
    +        private int rank;
    +
    +        private int winnerNum;
    +
    +        @JsonSerialize(using = PercentageSerializer.class)
    +        private double probability;
    +    }
    +
    +    public static AdminMainPageResponseDto of(List&lt;FcfsSetting&gt; fcfsSettingList, List&lt;DrawSetting&gt; drawSettingList) {
    +<span class="nc" id="L77">        List&lt;FcfsEvent&gt; fcfsEventList = fcfsSettingList.stream()</span>
    +<span class="nc" id="L78">                .map((fcfsSetting) -&gt;</span>
    +<span class="nc" id="L79">                        FcfsEvent.builder()</span>
    +<span class="nc" id="L80">                                .round(fcfsSetting.getRound())</span>
    +<span class="nc" id="L81">                                .startTime(fcfsSetting.getStartTime())</span>
    +<span class="nc" id="L82">                                .endTime(fcfsSetting.getEndTime())</span>
    +<span class="nc" id="L83">                                .winnerNum(fcfsSetting.getWinnerNum())</span>
    +<span class="nc" id="L84">                                .build())</span>
    +<span class="nc" id="L85">                .toList();</span>
    +
    +<span class="nc" id="L87">        DrawSetting drawSetting = drawSettingList.get(0);</span>
    +<span class="nc" id="L88">        DrawInfo drawInfoFirst = DrawInfo.builder()</span>
    +<span class="nc" id="L89">                .rank(1)</span>
    +<span class="nc" id="L90">                .winnerNum(drawSetting.getWinnerNum1())</span>
    +<span class="nc" id="L91">                .probability(calculateWinningProbability(drawSetting.getWinnerNum1()))</span>
    +<span class="nc" id="L92">                .build();</span>
    +<span class="nc" id="L93">        DrawInfo drawInfoSecond = DrawInfo.builder()</span>
    +<span class="nc" id="L94">                .rank(2)</span>
    +<span class="nc" id="L95">                .winnerNum(drawSetting.getWinnerNum2())</span>
    +<span class="nc" id="L96">                .probability(calculateWinningProbability(drawSetting.getWinnerNum2()))</span>
    +<span class="nc" id="L97">                .build();</span>
    +<span class="nc" id="L98">        DrawInfo drawInfoThird = DrawInfo.builder()</span>
    +<span class="nc" id="L99">                .rank(3)</span>
    +<span class="nc" id="L100">                .winnerNum(drawSetting.getWinnerNum3())</span>
    +<span class="nc" id="L101">                .probability(calculateWinningProbability(drawSetting.getWinnerNum3()))</span>
    +<span class="nc" id="L102">                .build();</span>
    +
    +<span class="nc" id="L104">        List&lt;DrawInfo&gt; drawInfoList = Arrays.asList(drawInfoFirst, drawInfoSecond, drawInfoThird);</span>
    +<span class="nc" id="L105">        DrawEvent drawEvent = DrawEvent.builder()</span>
    +<span class="nc" id="L106">                .startDate(drawSetting.getStartDate())</span>
    +<span class="nc" id="L107">                .endDate(drawSetting.getEndDate())</span>
    +<span class="nc" id="L108">                .startTime(drawSetting.getStartTime())</span>
    +<span class="nc" id="L109">                .endTime(drawSetting.getEndTime())</span>
    +<span class="nc" id="L110">                .drawInfoList(drawInfoList)</span>
    +<span class="nc" id="L111">                .build();</span>
    +
    +<span class="nc" id="L113">        return AdminMainPageResponseDto.builder()</span>
    +<span class="nc" id="L114">                .fcfsEventList(fcfsEventList)</span>
    +<span class="nc" id="L115">                .drawEvent(drawEvent)</span>
    +<span class="nc" id="L116">                .build();</span>
    +
    +    }
    +
    +    private static double calculateWinningProbability(int winnerNum) {
    +<span class="nc" id="L121">        return (double) winnerNum / (double) EXPECTED_PARTICIPANT_COUNT;</span>
    +    }
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.main/index.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.main/index.html
    new file mode 100644
    index 00000000..b3eb3563
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.main/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.bo_domain.admin.dto.main</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.bo_domain.admin.dto.main</span></div><h1>com.softeer.backend.bo_domain.admin.dto.main</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">113 of 113</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">38</td><td class="ctr2">38</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="AdminMainPageResponseDto.html" class="el_class">AdminMainPageResponseDto</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="113" alt="113"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">38</td><td class="ctr2" id="i0">38</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k0">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.main/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.main/index.source.html
    new file mode 100644
    index 00000000..1d064aa4
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.main/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.bo_domain.admin.dto.main</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.bo_domain.admin.dto.main</span></div><h1>com.softeer.backend.bo_domain.admin.dto.main</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">113 of 113</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">38</td><td class="ctr2">38</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="AdminMainPageResponseDto.java.html" class="el_source">AdminMainPageResponseDto.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="113" alt="113"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">38</td><td class="ctr2" id="i0">38</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k0">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/DrawWinnerListResponseDto.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/DrawWinnerListResponseDto.html
    new file mode 100644
    index 00000000..447e24eb
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/DrawWinnerListResponseDto.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DrawWinnerListResponseDto</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.bo_domain.admin.dto.winner</a> &gt; <span class="el_class">DrawWinnerListResponseDto</span></div><h1>DrawWinnerListResponseDto</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">27 of 27</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">11</td><td class="ctr2">11</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="DrawWinnerListResponseDto.java.html#L34" class="el_method">of(List, int)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="16" alt="16"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">8</td><td class="ctr2" id="i0">8</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="DrawWinnerListResponseDto.java.html#L35" class="el_method">lambda$of$0(Draw)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="82" height="10" title="11" alt="11"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">4</td><td class="ctr2" id="i1">4</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/DrawWinnerListResponseDto.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/DrawWinnerListResponseDto.java.html
    new file mode 100644
    index 00000000..f5fe3075
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/DrawWinnerListResponseDto.java.html
    @@ -0,0 +1,49 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DrawWinnerListResponseDto.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.bo_domain.admin.dto.winner</a> &gt; <span class="el_source">DrawWinnerListResponseDto.java</span></div><h1>DrawWinnerListResponseDto.java</h1><pre class="source lang-java linenums">package com.softeer.backend.bo_domain.admin.dto.winner;
    +
    +import com.fasterxml.jackson.databind.annotation.JsonSerialize;
    +import com.softeer.backend.bo_domain.admin.serializer.PhoneNumberSerializer;
    +import com.softeer.backend.fo_domain.draw.domain.Draw;
    +import com.softeer.backend.fo_domain.fcfs.domain.Fcfs;
    +import lombok.*;
    +
    +import java.util.Comparator;
    +import java.util.List;
    +
    +@NoArgsConstructor(access = AccessLevel.PRIVATE)
    +@AllArgsConstructor(access = AccessLevel.PUBLIC)
    +@Builder
    +@Getter
    +public class DrawWinnerListResponseDto {
    +
    +    int rank;
    +
    +    private List&lt;DrawWinner&gt; drawWinnerList;
    +
    +    @Getter
    +    @AllArgsConstructor
    +    @Builder
    +    public static class DrawWinner {
    +
    +        private String name;
    +
    +        @JsonSerialize(using = PhoneNumberSerializer.class)
    +        private String phoneNumber;
    +    }
    +
    +    public static DrawWinnerListResponseDto of(List&lt;Draw&gt; drawList, int rank) {
    +<span class="nc" id="L34">        List&lt;DrawWinner&gt; drawWinnerList = drawList.stream()</span>
    +<span class="nc" id="L35">                .map((draw) -&gt; DrawWinner.builder()</span>
    +<span class="nc" id="L36">                        .name(draw.getUser().getName())</span>
    +<span class="nc" id="L37">                        .phoneNumber(draw.getUser().getPhoneNumber())</span>
    +<span class="nc" id="L38">                        .build())</span>
    +<span class="nc" id="L39">                .sorted(Comparator.comparing(DrawWinnerListResponseDto.DrawWinner::getName))</span>
    +<span class="nc" id="L40">                .toList();</span>
    +
    +<span class="nc" id="L42">        return DrawWinnerListResponseDto.builder()</span>
    +<span class="nc" id="L43">                .rank(rank)</span>
    +<span class="nc" id="L44">                .drawWinnerList(drawWinnerList)</span>
    +<span class="nc" id="L45">                .build();</span>
    +    }
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/FcfsWinnerListResponseDto.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/FcfsWinnerListResponseDto.html
    new file mode 100644
    index 00000000..89a22cf8
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/FcfsWinnerListResponseDto.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>FcfsWinnerListResponseDto</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.bo_domain.admin.dto.winner</a> &gt; <span class="el_class">FcfsWinnerListResponseDto</span></div><h1>FcfsWinnerListResponseDto</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">27 of 27</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">11</td><td class="ctr2">11</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="FcfsWinnerListResponseDto.java.html#L34" class="el_method">of(List, int)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="16" alt="16"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">8</td><td class="ctr2" id="i0">8</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="FcfsWinnerListResponseDto.java.html#L35" class="el_method">lambda$of$0(Fcfs)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="82" height="10" title="11" alt="11"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">4</td><td class="ctr2" id="i1">4</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/FcfsWinnerListResponseDto.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/FcfsWinnerListResponseDto.java.html
    new file mode 100644
    index 00000000..dc3cbb3d
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/FcfsWinnerListResponseDto.java.html
    @@ -0,0 +1,48 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>FcfsWinnerListResponseDto.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.bo_domain.admin.dto.winner</a> &gt; <span class="el_source">FcfsWinnerListResponseDto.java</span></div><h1>FcfsWinnerListResponseDto.java</h1><pre class="source lang-java linenums">package com.softeer.backend.bo_domain.admin.dto.winner;
    +
    +import com.fasterxml.jackson.databind.annotation.JsonSerialize;
    +import com.softeer.backend.bo_domain.admin.serializer.PhoneNumberSerializer;
    +import com.softeer.backend.fo_domain.fcfs.domain.Fcfs;
    +import lombok.*;
    +
    +import java.util.ArrayList;
    +import java.util.Comparator;
    +import java.util.List;
    +
    +@NoArgsConstructor(access = AccessLevel.PRIVATE)
    +@AllArgsConstructor(access = AccessLevel.PUBLIC)
    +@Builder
    +@Getter
    +public class FcfsWinnerListResponseDto {
    +
    +    int round;
    +
    +    private List&lt;FcfsWinner&gt; fcfsWinnerList;
    +
    +    @Getter
    +    @AllArgsConstructor
    +    @Builder
    +    public static class FcfsWinner {
    +
    +        private String name;
    +
    +        @JsonSerialize(using = PhoneNumberSerializer.class)
    +        private String phoneNumber;
    +    }
    +
    +    public static FcfsWinnerListResponseDto of(List&lt;Fcfs&gt; fcfsList, int round) {
    +<span class="nc" id="L34">        List&lt;FcfsWinner&gt; fcfsWinnerList = fcfsList.stream()</span>
    +<span class="nc" id="L35">                .map((fcfs) -&gt; FcfsWinner.builder()</span>
    +<span class="nc" id="L36">                        .name(fcfs.getUser().getName())</span>
    +<span class="nc" id="L37">                        .phoneNumber(fcfs.getUser().getPhoneNumber())</span>
    +<span class="nc" id="L38">                        .build())</span>
    +<span class="nc" id="L39">                .sorted(Comparator.comparing(FcfsWinner::getName))</span>
    +<span class="nc" id="L40">                .toList();</span>
    +
    +<span class="nc" id="L42">        return FcfsWinnerListResponseDto.builder()</span>
    +<span class="nc" id="L43">                .round(round)</span>
    +<span class="nc" id="L44">                .fcfsWinnerList(fcfsWinnerList)</span>
    +<span class="nc" id="L45">                .build();</span>
    +    }
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/WinnerPageResponseDto.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/WinnerPageResponseDto.html
    new file mode 100644
    index 00000000..bb48d7cd
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/WinnerPageResponseDto.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>WinnerPageResponseDto</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.bo_domain.admin.dto.winner</a> &gt; <span class="el_class">WinnerPageResponseDto</span></div><h1>WinnerPageResponseDto</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">89 of 89</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">29</td><td class="ctr2">29</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a2"><a href="WinnerPageResponseDto.java.html#L55" class="el_method">of(List, DrawSetting)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="71" alt="71"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">23</td><td class="ctr2" id="i0">23</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="WinnerPageResponseDto.java.html#L57" class="el_method">lambda$of$0(FcfsSetting)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="21" height="10" title="13" alt="13"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">5</td><td class="ctr2" id="i1">5</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="WinnerPageResponseDto.java.html#L90" class="el_method">calculateWinningProbability(int)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="8" height="10" title="5" alt="5"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/WinnerPageResponseDto.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/WinnerPageResponseDto.java.html
    new file mode 100644
    index 00000000..3ea0ac87
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/WinnerPageResponseDto.java.html
    @@ -0,0 +1,93 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>WinnerPageResponseDto.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.bo_domain.admin.dto.winner</a> &gt; <span class="el_source">WinnerPageResponseDto.java</span></div><h1>WinnerPageResponseDto.java</h1><pre class="source lang-java linenums">package com.softeer.backend.bo_domain.admin.dto.winner;
    +
    +import com.fasterxml.jackson.annotation.JsonFormat;
    +import com.fasterxml.jackson.databind.annotation.JsonSerialize;
    +import com.softeer.backend.bo_domain.admin.serializer.PercentageSerializer;
    +import com.softeer.backend.fo_domain.draw.domain.DrawSetting;
    +import com.softeer.backend.fo_domain.draw.service.DrawSettingManager;
    +import com.softeer.backend.fo_domain.fcfs.domain.FcfsSetting;
    +import com.softeer.backend.fo_domain.fcfs.service.FcfsSettingManager;
    +import lombok.*;
    +
    +import java.time.LocalDate;
    +import java.util.Arrays;
    +import java.util.List;
    +
    +@NoArgsConstructor(access = AccessLevel.PRIVATE)
    +@AllArgsConstructor(access = AccessLevel.PUBLIC)
    +@Builder
    +@Getter
    +public class WinnerPageResponseDto {
    +
    +    public static final int EXPECTED_PARTICIPANT_COUNT = 10000;
    +
    +    private List&lt;FcfsEvent&gt; fcfsEventList;
    +
    +    private List&lt;DrawEvent&gt; drawEventList;
    +
    +    @Getter
    +    @AllArgsConstructor
    +    @Builder
    +    public static class FcfsEvent {
    +
    +        private int round;
    +
    +        @JsonFormat(pattern = &quot;yyyy-MM-dd&quot;)
    +        private LocalDate eventDate;
    +
    +        private int winnerNum;
    +    }
    +
    +    @Getter
    +    @AllArgsConstructor
    +    @Builder
    +    public static class DrawEvent {
    +
    +        private int rank;
    +
    +        private int winnerNum;
    +
    +        @JsonSerialize(using = PercentageSerializer.class)
    +        private double probability;
    +    }
    +
    +    public static WinnerPageResponseDto of(List&lt;FcfsSetting&gt; fcfsSettingList, DrawSetting drawSetting) {
    +<span class="nc" id="L55">        List&lt;FcfsEvent&gt; fcfsEventList = fcfsSettingList.stream()</span>
    +<span class="nc" id="L56">                .map((fcfsSetting) -&gt;</span>
    +<span class="nc" id="L57">                        FcfsEvent.builder()</span>
    +<span class="nc" id="L58">                                .round(fcfsSetting.getRound())</span>
    +<span class="nc" id="L59">                                .eventDate(LocalDate.from(fcfsSetting.getStartTime()))</span>
    +<span class="nc" id="L60">                                .winnerNum(fcfsSetting.getWinnerNum())</span>
    +<span class="nc" id="L61">                                .build())</span>
    +<span class="nc" id="L62">                .toList();</span>
    +
    +<span class="nc" id="L64">        DrawEvent drawEvent1 = DrawEvent.builder()</span>
    +<span class="nc" id="L65">                .rank(1)</span>
    +<span class="nc" id="L66">                .winnerNum(drawSetting.getWinnerNum1())</span>
    +<span class="nc" id="L67">                .probability(calculateWinningProbability(drawSetting.getWinnerNum1()))</span>
    +<span class="nc" id="L68">                .build();</span>
    +<span class="nc" id="L69">        DrawEvent drawEvent2 = DrawEvent.builder()</span>
    +<span class="nc" id="L70">                .rank(2)</span>
    +<span class="nc" id="L71">                .winnerNum(drawSetting.getWinnerNum2())</span>
    +<span class="nc" id="L72">                .probability(calculateWinningProbability(drawSetting.getWinnerNum2()))</span>
    +<span class="nc" id="L73">                .build();</span>
    +<span class="nc" id="L74">        DrawEvent drawEvent3 = DrawEvent.builder()</span>
    +<span class="nc" id="L75">                .rank(3)</span>
    +<span class="nc" id="L76">                .winnerNum(drawSetting.getWinnerNum3())</span>
    +<span class="nc" id="L77">                .probability(calculateWinningProbability(drawSetting.getWinnerNum3()))</span>
    +<span class="nc" id="L78">                .build();</span>
    +
    +<span class="nc" id="L80">        List&lt;DrawEvent&gt; drawEventList = Arrays.asList(drawEvent1, drawEvent2, drawEvent3);</span>
    +
    +<span class="nc" id="L82">        return WinnerPageResponseDto.builder()</span>
    +<span class="nc" id="L83">                .fcfsEventList(fcfsEventList)</span>
    +<span class="nc" id="L84">                .drawEventList(drawEventList)</span>
    +<span class="nc" id="L85">                .build();</span>
    +
    +    }
    +
    +    private static double calculateWinningProbability(int winnerNum) {
    +<span class="nc" id="L90">        return (double) winnerNum / (double) EXPECTED_PARTICIPANT_COUNT;</span>
    +    }
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/index.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/index.html
    new file mode 100644
    index 00000000..4c94cde8
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.bo_domain.admin.dto.winner</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.bo_domain.admin.dto.winner</span></div><h1>com.softeer.backend.bo_domain.admin.dto.winner</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">143 of 143</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">7</td><td class="ctr2">7</td><td class="ctr1">51</td><td class="ctr2">51</td><td class="ctr1">7</td><td class="ctr2">7</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a2"><a href="WinnerPageResponseDto.html" class="el_class">WinnerPageResponseDto</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="89" alt="89"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">29</td><td class="ctr2" id="i0">29</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k0">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="DrawWinnerListResponseDto.html" class="el_class">DrawWinnerListResponseDto</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="36" height="10" title="27" alt="27"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">2</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h1">11</td><td class="ctr2" id="i1">11</td><td class="ctr1" id="j1">2</td><td class="ctr2" id="k1">2</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a1"><a href="FcfsWinnerListResponseDto.html" class="el_class">FcfsWinnerListResponseDto</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="36" height="10" title="27" alt="27"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">2</td><td class="ctr2" id="g2">2</td><td class="ctr1" id="h2">11</td><td class="ctr2" id="i2">11</td><td class="ctr1" id="j2">2</td><td class="ctr2" id="k2">2</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/index.source.html
    new file mode 100644
    index 00000000..400abace
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.bo_domain.admin.dto.winner</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.bo_domain.admin.dto.winner</span></div><h1>com.softeer.backend.bo_domain.admin.dto.winner</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">143 of 143</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">7</td><td class="ctr2">7</td><td class="ctr1">51</td><td class="ctr2">51</td><td class="ctr1">7</td><td class="ctr2">7</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a2"><a href="WinnerPageResponseDto.java.html" class="el_source">WinnerPageResponseDto.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="89" alt="89"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">29</td><td class="ctr2" id="i0">29</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k0">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a1"><a href="FcfsWinnerListResponseDto.java.html" class="el_source">FcfsWinnerListResponseDto.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="36" height="10" title="27" alt="27"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">2</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h1">11</td><td class="ctr2" id="i1">11</td><td class="ctr1" id="j1">2</td><td class="ctr2" id="k1">2</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a0"><a href="DrawWinnerListResponseDto.java.html" class="el_source">DrawWinnerListResponseDto.java</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="36" height="10" title="27" alt="27"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">2</td><td class="ctr2" id="g2">2</td><td class="ctr1" id="h2">11</td><td class="ctr2" id="i2">11</td><td class="ctr1" id="j2">2</td><td class="ctr2" id="k2">2</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.exception/AdminException.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.exception/AdminException.html
    new file mode 100644
    index 00000000..134b3b24
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.exception/AdminException.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>AdminException</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.bo_domain.admin.exception</a> &gt; <span class="el_class">AdminException</span></div><h1>AdminException</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="AdminException.java.html#L9" class="el_method">AdminException(BaseErrorCode)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.exception/AdminException.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.exception/AdminException.java.html
    new file mode 100644
    index 00000000..ae60560e
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.exception/AdminException.java.html
    @@ -0,0 +1,12 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>AdminException.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.bo_domain.admin.exception</a> &gt; <span class="el_source">AdminException.java</span></div><h1>AdminException.java</h1><pre class="source lang-java linenums">package com.softeer.backend.bo_domain.admin.exception;
    +
    +import com.softeer.backend.global.common.code.BaseErrorCode;
    +import com.softeer.backend.global.common.exception.GeneralException;
    +
    +public class AdminException extends GeneralException {
    +
    +    public AdminException(BaseErrorCode code) {
    +<span class="nc" id="L9">        super(code);</span>
    +<span class="nc" id="L10">    }</span>
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.exception/index.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.exception/index.html
    new file mode 100644
    index 00000000..216a9f3e
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.exception/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.bo_domain.admin.exception</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.bo_domain.admin.exception</span></div><h1>com.softeer.backend.bo_domain.admin.exception</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="AdminException.html" class="el_class">AdminException</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.exception/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.exception/index.source.html
    new file mode 100644
    index 00000000..269a73e4
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.exception/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.bo_domain.admin.exception</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.bo_domain.admin.exception</span></div><h1>com.softeer.backend.bo_domain.admin.exception</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="AdminException.java.html" class="el_source">AdminException.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/PercentageSerializer.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/PercentageSerializer.html
    new file mode 100644
    index 00000000..383a1cc3
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/PercentageSerializer.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>PercentageSerializer</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.bo_domain.admin.serializer</a> &gt; <span class="el_class">PercentageSerializer</span></div><h1>PercentageSerializer</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">22 of 22</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="PercentageSerializer.java.html#L13" class="el_method">serialize(Double, JsonGenerator, SerializerProvider)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="19" alt="19"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">4</td><td class="ctr2" id="i0">4</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="PercentageSerializer.java.html#L9" class="el_method">PercentageSerializer()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="18" height="10" title="3" alt="3"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/PercentageSerializer.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/PercentageSerializer.java.html
    new file mode 100644
    index 00000000..d15bed41
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/PercentageSerializer.java.html
    @@ -0,0 +1,20 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>PercentageSerializer.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.bo_domain.admin.serializer</a> &gt; <span class="el_source">PercentageSerializer.java</span></div><h1>PercentageSerializer.java</h1><pre class="source lang-java linenums">package com.softeer.backend.bo_domain.admin.serializer;
    +
    +import com.fasterxml.jackson.core.JsonGenerator;
    +import com.fasterxml.jackson.databind.JsonSerializer;
    +import com.fasterxml.jackson.databind.SerializerProvider;
    +
    +import java.io.IOException;
    +
    +<span class="nc" id="L9">public class PercentageSerializer extends JsonSerializer&lt;Double&gt; {</span>
    +
    +    @Override
    +    public void serialize(Double value, JsonGenerator gen, SerializerProvider serializers) throws IOException {
    +<span class="nc bnc" id="L13" title="All 2 branches missed.">        if (value != null) {</span>
    +            // 백분율로 변환하고 % 기호를 붙입니다.
    +<span class="nc" id="L15">            String formatted = String.format(&quot;%.2f%%&quot;, value * 100);</span>
    +<span class="nc" id="L16">            gen.writeString(formatted);</span>
    +        }
    +<span class="nc" id="L18">    }</span>
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/PhoneNumberSerializer.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/PhoneNumberSerializer.html
    new file mode 100644
    index 00000000..49823d36
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/PhoneNumberSerializer.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>PhoneNumberSerializer</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.bo_domain.admin.serializer</a> &gt; <span class="el_class">PhoneNumberSerializer</span></div><h1>PhoneNumberSerializer</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">12 of 12</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="PhoneNumberSerializer.java.html#L14" class="el_method">serialize(String, JsonGenerator, SerializerProvider)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="9" alt="9"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">3</td><td class="ctr2" id="i0">3</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="PhoneNumberSerializer.java.html#L9" class="el_method">PhoneNumberSerializer()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="40" height="10" title="3" alt="3"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/PhoneNumberSerializer.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/PhoneNumberSerializer.java.html
    new file mode 100644
    index 00000000..5b3f7632
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/PhoneNumberSerializer.java.html
    @@ -0,0 +1,18 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>PhoneNumberSerializer.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.bo_domain.admin.serializer</a> &gt; <span class="el_source">PhoneNumberSerializer.java</span></div><h1>PhoneNumberSerializer.java</h1><pre class="source lang-java linenums">package com.softeer.backend.bo_domain.admin.serializer;
    +
    +import com.fasterxml.jackson.core.JsonGenerator;
    +import com.fasterxml.jackson.databind.JsonSerializer;
    +import com.fasterxml.jackson.databind.SerializerProvider;
    +
    +import java.io.IOException;
    +
    +<span class="nc" id="L9">public class PhoneNumberSerializer extends JsonSerializer&lt;String&gt; {</span>
    +
    +    @Override
    +    public void serialize(String value, JsonGenerator gen, SerializerProvider serializers) throws IOException {
    +
    +<span class="nc" id="L14">        String formatted = value.replaceAll(&quot;(\\d{3})(\\d{4})(\\d+)&quot;, &quot;$1-$2-$3&quot;);</span>
    +<span class="nc" id="L15">        gen.writeString(formatted);</span>
    +<span class="nc" id="L16">    }</span>
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/index.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/index.html
    new file mode 100644
    index 00000000..cd7d0e99
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.bo_domain.admin.serializer</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.bo_domain.admin.serializer</span></div><h1>com.softeer.backend.bo_domain.admin.serializer</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">34 of 34</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">9</td><td class="ctr2">9</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="PercentageSerializer.html" class="el_class">PercentageSerializer</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="22" alt="22"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">5</td><td class="ctr2" id="i0">5</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a1"><a href="PhoneNumberSerializer.html" class="el_class">PhoneNumberSerializer</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="65" height="10" title="12" alt="12"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">2</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h1">4</td><td class="ctr2" id="i1">4</td><td class="ctr1" id="j1">2</td><td class="ctr2" id="k1">2</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/index.source.html
    new file mode 100644
    index 00000000..743c8e2e
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.bo_domain.admin.serializer</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.bo_domain.admin.serializer</span></div><h1>com.softeer.backend.bo_domain.admin.serializer</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">34 of 34</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">9</td><td class="ctr2">9</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="PercentageSerializer.java.html" class="el_source">PercentageSerializer.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="22" alt="22"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">5</td><td class="ctr2" id="i0">5</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a1"><a href="PhoneNumberSerializer.java.html" class="el_source">PhoneNumberSerializer.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="65" height="10" title="12" alt="12"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">2</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h1">4</td><td class="ctr2" id="i1">4</td><td class="ctr1" id="j1">2</td><td class="ctr2" id="k1">2</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/AdminLoginService.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/AdminLoginService.html
    new file mode 100644
    index 00000000..346d68e1
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/AdminLoginService.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>AdminLoginService</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.bo_domain.admin.service</a> &gt; <span class="el_class">AdminLoginService</span></div><h1>AdminLoginService</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">89 of 89</td><td class="ctr2">0%</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="ctr1">7</td><td class="ctr2">7</td><td class="ctr1">25</td><td class="ctr2">25</td><td class="ctr1">5</td><td class="ctr2">5</td></tr></tfoot><tbody><tr><td id="a0"><a href="AdminLoginService.java.html#L33" class="el_method">handleLogin(AdminLoginRequestDto)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="37" alt="37"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">9</td><td class="ctr2" id="i0">9</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="AdminLoginService.java.html#L62" class="el_method">handleSignUp(AdminSignUpRequestDto)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="97" height="10" title="30" alt="30"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f1">2</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h1">8</td><td class="ctr2" id="i1">8</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a1"><a href="AdminLoginService.java.html#L53" class="el_method">handleLogout(int)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="32" height="10" title="10" alt="10"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">5</td><td class="ctr2" id="i2">5</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a3"><a href="AdminLoginService.java.html#L35" class="el_method">lambda$handleLogin$0()</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="25" height="10" title="8" alt="8"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">2</td><td class="ctr2" id="i3">2</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a4"><a href="AdminLoginService.java.html#L20" class="el_method">static {...}</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="12" height="10" title="4" alt="4"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">1</td><td class="ctr2" id="i4">1</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/AdminLoginService.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/AdminLoginService.java.html
    new file mode 100644
    index 00000000..c2a389e6
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/AdminLoginService.java.html
    @@ -0,0 +1,73 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>AdminLoginService.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.bo_domain.admin.service</a> &gt; <span class="el_source">AdminLoginService.java</span></div><h1>AdminLoginService.java</h1><pre class="source lang-java linenums">package com.softeer.backend.bo_domain.admin.service;
    +
    +import com.softeer.backend.bo_domain.admin.domain.Admin;
    +import com.softeer.backend.bo_domain.admin.dto.login.AdminLoginRequestDto;
    +import com.softeer.backend.bo_domain.admin.dto.login.AdminSignUpRequestDto;
    +import com.softeer.backend.bo_domain.admin.exception.AdminException;
    +import com.softeer.backend.bo_domain.admin.repository.AdminRepository;
    +import com.softeer.backend.bo_domain.admin.util.PasswordEncoder;
    +import com.softeer.backend.global.common.code.status.ErrorStatus;
    +import com.softeer.backend.global.common.constant.RoleType;
    +import com.softeer.backend.global.common.dto.JwtClaimsDto;
    +import com.softeer.backend.global.common.dto.JwtTokenResponseDto;
    +import com.softeer.backend.global.util.JwtUtil;
    +import com.softeer.backend.global.util.StringRedisUtil;
    +import lombok.RequiredArgsConstructor;
    +import lombok.extern.slf4j.Slf4j;
    +import org.springframework.stereotype.Service;
    +import org.springframework.transaction.annotation.Transactional;
    +
    +<span class="nc" id="L20">@Slf4j</span>
    +@Service
    +@RequiredArgsConstructor
    +public class AdminLoginService {
    +
    +    private final AdminRepository adminRepository;
    +    private final JwtUtil jwtUtil;
    +    private final StringRedisUtil stringRedisUtil;
    +    private final PasswordEncoder passwordEncoder;
    +
    +    @Transactional(readOnly = true)
    +    public JwtTokenResponseDto handleLogin(AdminLoginRequestDto adminLoginRequestDto) {
    +
    +<span class="nc" id="L33">        Admin admin = adminRepository.findByAccount(adminLoginRequestDto.getAccount())</span>
    +<span class="nc" id="L34">                .orElseThrow(() -&gt; {</span>
    +<span class="nc" id="L35">                    log.error(&quot;Admin not found.&quot;);</span>
    +<span class="nc" id="L36">                    return new AdminException(ErrorStatus._NOT_FOUND);</span>
    +                });
    +
    +<span class="nc bnc" id="L39" title="All 2 branches missed.">        if (!passwordEncoder.matches(adminLoginRequestDto.getPassword(), admin.getPassword())) {</span>
    +<span class="nc" id="L40">            log.error(&quot;Admin password not match.&quot;);</span>
    +<span class="nc" id="L41">            throw new AdminException(ErrorStatus._NOT_FOUND);</span>
    +        }
    +
    +<span class="nc" id="L44">        return jwtUtil.createServiceToken(JwtClaimsDto.builder()</span>
    +<span class="nc" id="L45">                .id(admin.getId())</span>
    +<span class="nc" id="L46">                .roleType(RoleType.ROLE_ADMIN)</span>
    +<span class="nc" id="L47">                .build());</span>
    +
    +    }
    +
    +    public void handleLogout(int adminId) {
    +
    +<span class="nc" id="L53">        stringRedisUtil.deleteRefreshToken(JwtClaimsDto.builder()</span>
    +<span class="nc" id="L54">                .id(adminId)</span>
    +<span class="nc" id="L55">                .roleType(RoleType.ROLE_ADMIN)</span>
    +<span class="nc" id="L56">                .build());</span>
    +<span class="nc" id="L57">    }</span>
    +
    +    @Transactional
    +    public void handleSignUp(AdminSignUpRequestDto adminSignUpRequestDto) {
    +
    +<span class="nc bnc" id="L62" title="All 2 branches missed.">        if (adminRepository.existsByAccount(adminSignUpRequestDto.getAccount())) {</span>
    +<span class="nc" id="L63">            log.error(&quot;Admin account already exist.&quot;);</span>
    +<span class="nc" id="L64">            throw new AdminException(ErrorStatus._BAD_REQUEST);</span>
    +        }
    +
    +<span class="nc" id="L67">        adminRepository.save(Admin.builder()</span>
    +<span class="nc" id="L68">                .account(adminSignUpRequestDto.getAccount())</span>
    +<span class="nc" id="L69">                .password(passwordEncoder.encode(adminSignUpRequestDto.getPassword()))</span>
    +<span class="nc" id="L70">                .build());</span>
    +<span class="nc" id="L71">    }</span>
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/EventPageService.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/EventPageService.html
    new file mode 100644
    index 00000000..592b6ba9
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/EventPageService.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>EventPageService</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.bo_domain.admin.service</a> &gt; <span class="el_class">EventPageService</span></div><h1>EventPageService</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">138 of 138</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">29</td><td class="ctr2">29</td><td class="ctr1">5</td><td class="ctr2">5</td></tr></tfoot><tbody><tr><td id="a3"><a href="EventPageService.java.html#L42" class="el_method">updateFcfsEventTime(FcfsEventTimeRequestDto)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="74" alt="74"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">13</td><td class="ctr2" id="i0">13</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="EventPageService.java.html#L73" class="el_method">updateDrawSetting(DrawSetting, LocalDate, LocalDate)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="35" height="10" title="22" alt="22"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">6</td><td class="ctr2" id="i1">6</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a1"><a href="EventPageService.java.html#L84" class="el_method">updateDrawEventTime(DrawEventTimeRequestDto)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="25" height="10" title="16" alt="16"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h3">4</td><td class="ctr2" id="i3">4</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a4"><a href="EventPageService.java.html#L64" class="el_method">updateFcfsSetting(FcfsSetting, LocalDate, LocalTime)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="24" height="10" title="15" alt="15"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h2">5</td><td class="ctr2" id="i2">5</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a0"><a href="EventPageService.java.html#L37" class="el_method">getEventPage()</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="17" height="10" title="11" alt="11"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">1</td><td class="ctr2" id="i4">1</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/EventPageService.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/EventPageService.java.html
    new file mode 100644
    index 00000000..7a030ee4
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/EventPageService.java.html
    @@ -0,0 +1,93 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>EventPageService.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.bo_domain.admin.service</a> &gt; <span class="el_source">EventPageService.java</span></div><h1>EventPageService.java</h1><pre class="source lang-java linenums">package com.softeer.backend.bo_domain.admin.service;
    +
    +import com.fasterxml.jackson.annotation.JsonFormat;
    +import com.softeer.backend.bo_domain.admin.dto.event.DrawEventTimeRequestDto;
    +import com.softeer.backend.bo_domain.admin.dto.event.EventPageResponseDto;
    +import com.softeer.backend.bo_domain.admin.dto.event.FcfsEventTimeRequestDto;
    +import com.softeer.backend.bo_domain.admin.dto.main.AdminMainPageResponseDto;
    +import com.softeer.backend.fo_domain.draw.domain.DrawSetting;
    +import com.softeer.backend.fo_domain.draw.repository.DrawSettingRepository;
    +import com.softeer.backend.fo_domain.draw.service.DrawSettingManager;
    +import com.softeer.backend.fo_domain.fcfs.domain.FcfsSetting;
    +import com.softeer.backend.fo_domain.fcfs.repository.FcfsSettingRepository;
    +import com.softeer.backend.fo_domain.fcfs.service.FcfsSettingManager;
    +import lombok.RequiredArgsConstructor;
    +import org.springframework.data.domain.Sort;
    +import org.springframework.stereotype.Service;
    +import org.springframework.transaction.annotation.Transactional;
    +
    +import java.time.DayOfWeek;
    +import java.time.LocalDate;
    +import java.time.LocalDateTime;
    +import java.time.LocalTime;
    +import java.time.temporal.TemporalAdjusters;
    +import java.util.List;
    +
    +@Service
    +@RequiredArgsConstructor
    +@Transactional
    +public class EventPageService {
    +
    +    private final FcfsSettingRepository fcfsSettingRepository;
    +    private final DrawSettingRepository drawSettingRepository;
    +
    +    @Transactional(readOnly = true)
    +    public EventPageResponseDto getEventPage() {
    +
    +<span class="nc" id="L37">        return EventPageResponseDto.of(fcfsSettingRepository.findAll(), drawSettingRepository.findAll().get(0));</span>
    +    }
    +
    +    public void updateFcfsEventTime(FcfsEventTimeRequestDto fcfsEventTimeRequestDto) {
    +
    +<span class="nc" id="L42">        List&lt;FcfsSetting&gt; fcfsSettingList = fcfsSettingRepository.findAll(Sort.by(Sort.Order.asc(&quot;id&quot;)));</span>
    +
    +<span class="nc" id="L44">        LocalDate startDate = fcfsEventTimeRequestDto.getStartDate();</span>
    +<span class="nc" id="L45">        LocalDate endDate = fcfsEventTimeRequestDto.getEndDate();</span>
    +<span class="nc" id="L46">        LocalTime startTime = fcfsEventTimeRequestDto.getStartTime();</span>
    +
    +<span class="nc" id="L48">        updateFcfsSetting(fcfsSettingList.get(0), startDate, startTime);</span>
    +<span class="nc" id="L49">        updateFcfsSetting(fcfsSettingList.get(1), endDate, startTime);</span>
    +
    +<span class="nc" id="L51">        LocalDate nextWeekStartDate = startDate.plusWeeks(1);</span>
    +<span class="nc" id="L52">        LocalDate nextWeekEndDate = endDate.plusWeeks(1);</span>
    +
    +<span class="nc" id="L54">        updateFcfsSetting(fcfsSettingList.get(2), nextWeekStartDate, startTime);</span>
    +<span class="nc" id="L55">        updateFcfsSetting(fcfsSettingList.get(3), nextWeekEndDate, startTime);</span>
    +
    +<span class="nc" id="L57">        DrawSetting drawSetting = drawSettingRepository.findAll().get(0);</span>
    +<span class="nc" id="L58">        updateDrawSetting(drawSetting, startDate, endDate);</span>
    +
    +<span class="nc" id="L60">    }</span>
    +
    +    private void updateFcfsSetting(FcfsSetting fcfsSetting, LocalDate date, LocalTime time) {
    +
    +<span class="nc" id="L64">        LocalDateTime newStartTime = LocalDateTime.of(date, time);</span>
    +<span class="nc" id="L65">        LocalDateTime newEndTime = newStartTime.plusHours(2);</span>
    +
    +<span class="nc" id="L67">        fcfsSetting.setStartTime(newStartTime);</span>
    +<span class="nc" id="L68">        fcfsSetting.setEndTime(newEndTime);</span>
    +
    +<span class="nc" id="L70">    }</span>
    +
    +    private void updateDrawSetting(DrawSetting drawSetting, LocalDate startDate, LocalDate endDate) {
    +<span class="nc" id="L73">        LocalDate startDateOfDraw = startDate.with(TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY));</span>
    +
    +<span class="nc" id="L75">        LocalDate endDateOfPreviousWeek = endDate.with(TemporalAdjusters.nextOrSame(DayOfWeek.SUNDAY));</span>
    +<span class="nc" id="L76">        LocalDate endDateOfDraw = endDateOfPreviousWeek.with(TemporalAdjusters.next(DayOfWeek.SUNDAY));</span>
    +
    +<span class="nc" id="L78">        drawSetting.setStartDate(startDateOfDraw);</span>
    +<span class="nc" id="L79">        drawSetting.setEndDate(endDateOfDraw);</span>
    +
    +<span class="nc" id="L81">    }</span>
    +
    +    public void updateDrawEventTime(DrawEventTimeRequestDto drawEventTimeRequestDto) {
    +<span class="nc" id="L84">        DrawSetting drawSetting = drawSettingRepository.findAll().get(0);</span>
    +
    +<span class="nc" id="L86">        drawSetting.setStartTime(drawEventTimeRequestDto.getStartTime());</span>
    +<span class="nc" id="L87">        drawSetting.setEndTime(drawEventTimeRequestDto.getEndTime());</span>
    +
    +<span class="nc" id="L89">    }</span>
    +
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/IndicatorPageService.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/IndicatorPageService.html
    new file mode 100644
    index 00000000..eaeaba56
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/IndicatorPageService.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>IndicatorPageService</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.bo_domain.admin.service</a> &gt; <span class="el_class">IndicatorPageService</span></div><h1>IndicatorPageService</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">19 of 19</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="IndicatorPageService.java.html#L24" class="el_method">getEventIndicator()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="19" alt="19"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">4</td><td class="ctr2" id="i0">4</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/IndicatorPageService.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/IndicatorPageService.java.html
    new file mode 100644
    index 00000000..bc2862e9
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/IndicatorPageService.java.html
    @@ -0,0 +1,34 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>IndicatorPageService.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.bo_domain.admin.service</a> &gt; <span class="el_source">IndicatorPageService.java</span></div><h1>IndicatorPageService.java</h1><pre class="source lang-java linenums">package com.softeer.backend.bo_domain.admin.service;
    +
    +import com.softeer.backend.bo_domain.admin.dto.indicator.EventIndicatorResponseDto;
    +import com.softeer.backend.bo_domain.eventparticipation.domain.EventParticipation;
    +import com.softeer.backend.bo_domain.eventparticipation.repository.EventParticipationRepository;
    +import com.softeer.backend.fo_domain.draw.domain.DrawSetting;
    +import com.softeer.backend.fo_domain.draw.repository.DrawSettingRepository;
    +import com.softeer.backend.fo_domain.draw.service.DrawSettingManager;
    +import kotlinx.serialization.Required;
    +import lombok.RequiredArgsConstructor;
    +import org.springframework.stereotype.Service;
    +
    +import java.util.List;
    +
    +@Service
    +@RequiredArgsConstructor
    +public class IndicatorPageService {
    +
    +    private final EventParticipationRepository eventParticipationRepository;
    +    private final DrawSettingRepository drawSettingRepository;
    +
    +    public EventIndicatorResponseDto getEventIndicator() {
    +
    +<span class="nc" id="L24">        DrawSetting drawSetting = drawSettingRepository.findAll().get(0);</span>
    +
    +<span class="nc" id="L26">        List&lt;EventParticipation&gt; eventParticipationList = eventParticipationRepository.findAllByEventDateBetween(</span>
    +<span class="nc" id="L27">                drawSetting.getStartDate(), drawSetting.getEndDate()</span>
    +        );
    +
    +<span class="nc" id="L30">        return EventIndicatorResponseDto.of(eventParticipationList, drawSetting);</span>
    +    }
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/WinnerPageService.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/WinnerPageService.html
    new file mode 100644
    index 00000000..23e3109b
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/WinnerPageService.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>WinnerPageService</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.bo_domain.admin.service</a> &gt; <span class="el_class">WinnerPageService</span></div><h1>WinnerPageService</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">68 of 68</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">7</td><td class="ctr2">7</td><td class="ctr1">14</td><td class="ctr2">14</td><td class="ctr1">7</td><td class="ctr2">7</td></tr></tfoot><tbody><tr><td id="a5"><a href="WinnerPageService.java.html#L65" class="el_method">updateDrawWinnerNum(DrawWinnerUpdateRequestDto)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="20" alt="20"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">5</td><td class="ctr2" id="i0">5</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="WinnerPageService.java.html#L39" class="el_method">getWinnerPage()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="66" height="10" title="11" alt="11"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h4">1</td><td class="ctr2" id="i4">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a1"><a href="WinnerPageService.java.html#L44" class="el_method">getFcfsWinnerList(int)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="54" height="10" title="9" alt="9"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">2</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a0"><a href="WinnerPageService.java.html#L51" class="el_method">getDrawWinnerList(int)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="54" height="10" title="9" alt="9"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">2</td><td class="ctr2" id="i3">2</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a6"><a href="WinnerPageService.java.html#L58" class="el_method">updateFcfsWinnerNum(FcfsWinnerUpdateRequestDto)</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="54" height="10" title="9" alt="9"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h1">3</td><td class="ctr2" id="i1">3</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a3"><a href="WinnerPageService.java.html#L60" class="el_method">lambda$updateFcfsWinnerNum$0(FcfsWinnerUpdateRequestDto, FcfsSetting)</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="36" height="10" title="6" alt="6"/></td><td class="ctr2" id="c5">0%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">1</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">1</td><td class="ctr2" id="i5">1</td><td class="ctr1" id="j5">1</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a4"><a href="WinnerPageService.java.html#L26" class="el_method">static {...}</a></td><td class="bar" id="b6"><img src="../jacoco-resources/redbar.gif" width="24" height="10" title="4" alt="4"/></td><td class="ctr2" id="c6">0%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">1</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h6">1</td><td class="ctr2" id="i6">1</td><td class="ctr1" id="j6">1</td><td class="ctr2" id="k6">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/WinnerPageService.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/WinnerPageService.java.html
    new file mode 100644
    index 00000000..fd80c074
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/WinnerPageService.java.html
    @@ -0,0 +1,72 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>WinnerPageService.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.bo_domain.admin.service</a> &gt; <span class="el_source">WinnerPageService.java</span></div><h1>WinnerPageService.java</h1><pre class="source lang-java linenums">package com.softeer.backend.bo_domain.admin.service;
    +
    +import com.softeer.backend.bo_domain.admin.dto.event.EventPageResponseDto;
    +import com.softeer.backend.bo_domain.admin.dto.winner.*;
    +import com.softeer.backend.bo_domain.admin.exception.AdminException;
    +import com.softeer.backend.fo_domain.draw.domain.Draw;
    +import com.softeer.backend.fo_domain.draw.domain.DrawSetting;
    +import com.softeer.backend.fo_domain.draw.repository.DrawRepository;
    +import com.softeer.backend.fo_domain.draw.repository.DrawSettingRepository;
    +import com.softeer.backend.fo_domain.draw.service.DrawSettingManager;
    +import com.softeer.backend.fo_domain.fcfs.domain.Fcfs;
    +import com.softeer.backend.fo_domain.fcfs.domain.FcfsSetting;
    +import com.softeer.backend.fo_domain.fcfs.repository.FcfsRepository;
    +import com.softeer.backend.fo_domain.fcfs.repository.FcfsSettingRepository;
    +import com.softeer.backend.fo_domain.fcfs.service.FcfsSettingManager;
    +import com.softeer.backend.fo_domain.user.repository.UserRepository;
    +import com.softeer.backend.global.common.code.status.ErrorStatus;
    +import lombok.RequiredArgsConstructor;
    +import lombok.extern.slf4j.Slf4j;
    +import org.springframework.data.domain.Sort;
    +import org.springframework.stereotype.Service;
    +import org.springframework.transaction.annotation.Transactional;
    +
    +import java.util.List;
    +
    +<span class="nc" id="L26">@Slf4j</span>
    +@Service
    +@RequiredArgsConstructor
    +public class WinnerPageService {
    +
    +    private final FcfsRepository fcfsRepository;
    +    private final DrawRepository drawRepository;
    +    private final FcfsSettingRepository fcfsSettingRepository;
    +    private final DrawSettingRepository drawSettingRepository;
    +
    +    @Transactional(readOnly = true)
    +    public WinnerPageResponseDto getWinnerPage() {
    +
    +<span class="nc" id="L39">        return WinnerPageResponseDto.of(fcfsSettingRepository.findAll(), drawSettingRepository.findAll().get(0));</span>
    +    }
    +
    +    @Transactional(readOnly = true)
    +    public FcfsWinnerListResponseDto getFcfsWinnerList(int round) {
    +<span class="nc" id="L44">        List&lt;Fcfs&gt; fcfsList = fcfsRepository.findFcfsWithUser(round);</span>
    +
    +<span class="nc" id="L46">        return FcfsWinnerListResponseDto.of(fcfsList, round);</span>
    +    }
    +
    +    @Transactional(readOnly = true)
    +    public DrawWinnerListResponseDto getDrawWinnerList(int rank) {
    +<span class="nc" id="L51">        List&lt;Draw&gt; drawList = drawRepository.findDrawWithUser(rank);</span>
    +
    +<span class="nc" id="L53">        return DrawWinnerListResponseDto.of(drawList, rank);</span>
    +    }
    +
    +    @Transactional
    +    public void updateFcfsWinnerNum(FcfsWinnerUpdateRequestDto fcfsWinnerUpdateRequestDto) {
    +<span class="nc" id="L58">        List&lt;FcfsSetting&gt; fcfsSettingList = fcfsSettingRepository.findAll();</span>
    +
    +<span class="nc" id="L60">        fcfsSettingList.forEach((fcfsSetting) -&gt; fcfsSetting.setWinnerNum(fcfsWinnerUpdateRequestDto.getFcfsWinnerNum()));</span>
    +<span class="nc" id="L61">    }</span>
    +
    +    @Transactional
    +    public void updateDrawWinnerNum(DrawWinnerUpdateRequestDto drawWinnerUpdateRequestDto) {
    +<span class="nc" id="L65">        DrawSetting drawSetting = drawSettingRepository.findAll().get(0);</span>
    +
    +<span class="nc" id="L67">        drawSetting.setWinnerNum1(drawWinnerUpdateRequestDto.getFirstWinnerNum());</span>
    +<span class="nc" id="L68">        drawSetting.setWinnerNum2(drawWinnerUpdateRequestDto.getSecondWinnerNum());</span>
    +<span class="nc" id="L69">        drawSetting.setWinnerNum3(drawWinnerUpdateRequestDto.getThirdWinnerNum());</span>
    +<span class="nc" id="L70">    }</span>
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/index.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/index.html
    new file mode 100644
    index 00000000..2d68aec4
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.bo_domain.admin.service</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.bo_domain.admin.service</span></div><h1>com.softeer.backend.bo_domain.admin.service</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">314 of 314</td><td class="ctr2">0%</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="ctr1">20</td><td class="ctr2">20</td><td class="ctr1">72</td><td class="ctr2">72</td><td class="ctr1">18</td><td class="ctr2">18</td><td class="ctr1">4</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a1"><a href="EventPageService.html" class="el_class">EventPageService</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="138" alt="138"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f2">5</td><td class="ctr2" id="g2">5</td><td class="ctr1" id="h0">29</td><td class="ctr2" id="i0">29</td><td class="ctr1" id="j1">5</td><td class="ctr2" id="k1">5</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="AdminLoginService.html" class="el_class">AdminLoginService</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="77" height="10" title="89" alt="89"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">7</td><td class="ctr2" id="g0">7</td><td class="ctr1" id="h1">25</td><td class="ctr2" id="i1">25</td><td class="ctr1" id="j2">5</td><td class="ctr2" id="k2">5</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a3"><a href="WinnerPageService.html" class="el_class">WinnerPageService</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="59" height="10" title="68" alt="68"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f1">7</td><td class="ctr2" id="g1">7</td><td class="ctr1" id="h2">14</td><td class="ctr2" id="i2">14</td><td class="ctr1" id="j0">7</td><td class="ctr2" id="k0">7</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a2"><a href="IndicatorPageService.html" class="el_class">IndicatorPageService</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="16" height="10" title="19" alt="19"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">4</td><td class="ctr2" id="i3">4</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td><td class="ctr1" id="l3">1</td><td class="ctr2" id="m3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/index.source.html
    new file mode 100644
    index 00000000..8e3490dc
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.bo_domain.admin.service</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.bo_domain.admin.service</span></div><h1>com.softeer.backend.bo_domain.admin.service</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">314 of 314</td><td class="ctr2">0%</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="ctr1">20</td><td class="ctr2">20</td><td class="ctr1">72</td><td class="ctr2">72</td><td class="ctr1">18</td><td class="ctr2">18</td><td class="ctr1">4</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a1"><a href="EventPageService.java.html" class="el_source">EventPageService.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="138" alt="138"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f2">5</td><td class="ctr2" id="g2">5</td><td class="ctr1" id="h0">29</td><td class="ctr2" id="i0">29</td><td class="ctr1" id="j1">5</td><td class="ctr2" id="k1">5</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="AdminLoginService.java.html" class="el_source">AdminLoginService.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="77" height="10" title="89" alt="89"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">7</td><td class="ctr2" id="g0">7</td><td class="ctr1" id="h1">25</td><td class="ctr2" id="i1">25</td><td class="ctr1" id="j2">5</td><td class="ctr2" id="k2">5</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a3"><a href="WinnerPageService.java.html" class="el_source">WinnerPageService.java</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="59" height="10" title="68" alt="68"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f1">7</td><td class="ctr2" id="g1">7</td><td class="ctr1" id="h2">14</td><td class="ctr2" id="i2">14</td><td class="ctr1" id="j0">7</td><td class="ctr2" id="k0">7</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a2"><a href="IndicatorPageService.java.html" class="el_source">IndicatorPageService.java</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="16" height="10" title="19" alt="19"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">4</td><td class="ctr2" id="i3">4</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td><td class="ctr1" id="l3">1</td><td class="ctr2" id="m3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.util/PasswordEncoder.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.util/PasswordEncoder.html
    new file mode 100644
    index 00000000..4951a1e2
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.util/PasswordEncoder.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>PasswordEncoder</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.bo_domain.admin.util</a> &gt; <span class="el_class">PasswordEncoder</span></div><h1>PasswordEncoder</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">11 of 11</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a0"><a href="PasswordEncoder.java.html#L11" class="el_method">encode(String)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">1</td><td class="ctr2" id="i0">1</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="PasswordEncoder.java.html#L16" class="el_method">matches(String, String)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="PasswordEncoder.java.html#L7" class="el_method">PasswordEncoder()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="90" height="10" title="3" alt="3"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.util/PasswordEncoder.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.util/PasswordEncoder.java.html
    new file mode 100644
    index 00000000..eae600b0
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.util/PasswordEncoder.java.html
    @@ -0,0 +1,19 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>PasswordEncoder.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.bo_domain.admin.util</a> &gt; <span class="el_source">PasswordEncoder.java</span></div><h1>PasswordEncoder.java</h1><pre class="source lang-java linenums">package com.softeer.backend.bo_domain.admin.util;
    +
    +import org.mindrot.jbcrypt.BCrypt;
    +import org.springframework.stereotype.Component;
    +
    +@Component
    +<span class="nc" id="L7">public class PasswordEncoder {</span>
    +
    +    // 비밀번호를 해시화
    +    public String encode(String rawPassword) {
    +<span class="nc" id="L11">        return BCrypt.hashpw(rawPassword, BCrypt.gensalt());</span>
    +    }
    +
    +    // 비밀번호 비교 (평문 vs 해시)
    +    public boolean matches(String rawPassword, String encodedPassword) {
    +<span class="nc" id="L16">        return BCrypt.checkpw(rawPassword, encodedPassword);</span>
    +    }
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.util/index.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.util/index.html
    new file mode 100644
    index 00000000..e7514b8e
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.util/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.bo_domain.admin.util</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.bo_domain.admin.util</span></div><h1>com.softeer.backend.bo_domain.admin.util</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">11 of 11</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="PasswordEncoder.html" class="el_class">PasswordEncoder</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="11" alt="11"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">3</td><td class="ctr2" id="i0">3</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k0">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.util/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.util/index.source.html
    new file mode 100644
    index 00000000..a4cd281c
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.util/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.bo_domain.admin.util</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.bo_domain.admin.util</span></div><h1>com.softeer.backend.bo_domain.admin.util</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">11 of 11</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="PasswordEncoder.java.html" class="el_source">PasswordEncoder.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="11" alt="11"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">3</td><td class="ctr2" id="i0">3</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k0">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/DrawTimeRangeValidator.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/DrawTimeRangeValidator.html
    new file mode 100644
    index 00000000..73b05d56
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/DrawTimeRangeValidator.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DrawTimeRangeValidator</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.bo_domain.admin.validator</a> &gt; <span class="el_class">DrawTimeRangeValidator</span></div><h1>DrawTimeRangeValidator</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">46 of 46</td><td class="ctr2">0%</td><td class="bar">10 of 10</td><td class="ctr2">0%</td><td class="ctr1">8</td><td class="ctr2">8</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a2"><a href="DrawTimeRangeValidator.java.html#L19" class="el_method">isValid(DrawEventTimeRequestDto, ConstraintValidatorContext)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="39" alt="39"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="10" alt="10"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">6</td><td class="ctr2" id="g0">6</td><td class="ctr1" id="h0">9</td><td class="ctr2" id="i0">9</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="DrawTimeRangeValidator.java.html#L14" class="el_method">initialize(ValidDrawTimeRange)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="12" height="10" title="4" alt="4"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="DrawTimeRangeValidator.java.html#L10" class="el_method">DrawTimeRangeValidator()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="9" height="10" title="3" alt="3"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/DrawTimeRangeValidator.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/DrawTimeRangeValidator.java.html
    new file mode 100644
    index 00000000..cea7d914
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/DrawTimeRangeValidator.java.html
    @@ -0,0 +1,40 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DrawTimeRangeValidator.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.bo_domain.admin.validator</a> &gt; <span class="el_source">DrawTimeRangeValidator.java</span></div><h1>DrawTimeRangeValidator.java</h1><pre class="source lang-java linenums">package com.softeer.backend.bo_domain.admin.validator;
    +
    +import com.softeer.backend.bo_domain.admin.dto.event.DrawEventTimeRequestDto;
    +import com.softeer.backend.bo_domain.admin.validator.annotation.ValidDrawTimeRange;
    +import jakarta.validation.ConstraintValidator;
    +import jakarta.validation.ConstraintValidatorContext;
    +
    +import java.time.LocalTime;
    +
    +<span class="nc" id="L10">public class DrawTimeRangeValidator implements ConstraintValidator&lt;ValidDrawTimeRange, DrawEventTimeRequestDto&gt; {</span>
    +
    +    @Override
    +    public void initialize(ValidDrawTimeRange constraintAnnotation) {
    +<span class="nc" id="L14">        ConstraintValidator.super.initialize(constraintAnnotation);</span>
    +<span class="nc" id="L15">    }</span>
    +
    +    @Override
    +    public boolean isValid(DrawEventTimeRequestDto value, ConstraintValidatorContext context) {
    +<span class="nc bnc" id="L19" title="All 4 branches missed.">        if (value.getStartTime() == null || value.getEndTime() == null) {</span>
    +<span class="nc" id="L20">            return true;</span>
    +        }
    +
    +<span class="nc" id="L23">        LocalTime startTime = value.getStartTime();</span>
    +<span class="nc" id="L24">        LocalTime endTime = value.getEndTime();</span>
    +
    +        // 시작 시간 검증: 09:00:00 이후
    +<span class="nc bnc" id="L27" title="All 2 branches missed.">        if (startTime.isBefore(LocalTime.of(9, 0))) {</span>
    +<span class="nc" id="L28">            return false;</span>
    +        }
    +
    +        // 종료 시간 검증: 23:59:59 이전
    +<span class="nc bnc" id="L32" title="All 2 branches missed.">        if (endTime.isAfter(LocalTime.of(23, 59, 59))) {</span>
    +<span class="nc" id="L33">            return false;</span>
    +        }
    +
    +        // 시작 시간이 종료 시간보다 이전인지 확인
    +<span class="nc bnc" id="L37" title="All 2 branches missed.">        return !startTime.isAfter(endTime);</span>
    +    }
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/FcfsDateRangeValidator.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/FcfsDateRangeValidator.html
    new file mode 100644
    index 00000000..f786eae7
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/FcfsDateRangeValidator.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>FcfsDateRangeValidator</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.bo_domain.admin.validator</a> &gt; <span class="el_class">FcfsDateRangeValidator</span></div><h1>FcfsDateRangeValidator</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">51 of 51</td><td class="ctr2">0%</td><td class="bar">10 of 10</td><td class="ctr2">0%</td><td class="ctr1">8</td><td class="ctr2">8</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a2"><a href="FcfsDateRangeValidator.java.html#L23" class="el_method">isValid(FcfsEventTimeRequestDto, ConstraintValidatorContext)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="44" alt="44"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="10" alt="10"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">6</td><td class="ctr2" id="g0">6</td><td class="ctr1" id="h0">9</td><td class="ctr2" id="i0">9</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="FcfsDateRangeValidator.java.html#L18" class="el_method">initialize(ValidFcfsDateRange)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="10" height="10" title="4" alt="4"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="FcfsDateRangeValidator.java.html#L14" class="el_method">FcfsDateRangeValidator()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="8" height="10" title="3" alt="3"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/FcfsDateRangeValidator.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/FcfsDateRangeValidator.java.html
    new file mode 100644
    index 00000000..ee84f2c7
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/FcfsDateRangeValidator.java.html
    @@ -0,0 +1,42 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>FcfsDateRangeValidator.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.bo_domain.admin.validator</a> &gt; <span class="el_source">FcfsDateRangeValidator.java</span></div><h1>FcfsDateRangeValidator.java</h1><pre class="source lang-java linenums">package com.softeer.backend.bo_domain.admin.validator;
    +
    +import com.softeer.backend.bo_domain.admin.dto.event.FcfsEventTimeRequestDto;
    +import com.softeer.backend.bo_domain.admin.validator.annotation.ValidFcfsDateRange;
    +import jakarta.validation.ConstraintValidator;
    +import jakarta.validation.ConstraintValidatorContext;
    +
    +import java.time.DayOfWeek;
    +import java.time.LocalDate;
    +import java.time.temporal.TemporalAdjusters;
    +import java.time.temporal.WeekFields;
    +import java.util.Locale;
    +
    +<span class="nc" id="L14">public class FcfsDateRangeValidator implements ConstraintValidator&lt;ValidFcfsDateRange, FcfsEventTimeRequestDto&gt; {</span>
    +
    +    @Override
    +    public void initialize(ValidFcfsDateRange constraintAnnotation) {
    +<span class="nc" id="L18">        ConstraintValidator.super.initialize(constraintAnnotation);</span>
    +<span class="nc" id="L19">    }</span>
    +
    +    @Override
    +    public boolean isValid(FcfsEventTimeRequestDto value, ConstraintValidatorContext context) {
    +<span class="nc bnc" id="L23" title="All 4 branches missed.">        if (value.getStartDate() == null || value.getEndDate() == null) {</span>
    +<span class="nc" id="L24">            return true;</span>
    +        }
    +
    +<span class="nc" id="L27">        LocalDate startDate = value.getStartDate();</span>
    +<span class="nc" id="L28">        LocalDate endDate = value.getEndDate();</span>
    +
    +<span class="nc" id="L30">        LocalDate startDateWeekStart = startDate.with(TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY));</span>
    +<span class="nc" id="L31">        LocalDate endDateWeekStart = endDate.with(TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY));</span>
    +
    +<span class="nc" id="L33">        boolean isSameWeek = startDateWeekStart.equals(endDateWeekStart);</span>
    +
    +        // 시작 날짜가 종료 날짜보다 이전인지 확인
    +<span class="nc bnc" id="L36" title="All 2 branches missed.">        boolean isStartBeforeEnd = !startDate.isAfter(endDate);</span>
    +
    +        // 두 검증 조건을 모두 만족하는지 확인
    +<span class="nc bnc" id="L39" title="All 4 branches missed.">        return isSameWeek &amp;&amp; isStartBeforeEnd;</span>
    +    }
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/FcfsTimeRangeValidator.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/FcfsTimeRangeValidator.html
    new file mode 100644
    index 00000000..781bfbca
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/FcfsTimeRangeValidator.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>FcfsTimeRangeValidator</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.bo_domain.admin.validator</a> &gt; <span class="el_class">FcfsTimeRangeValidator</span></div><h1>FcfsTimeRangeValidator</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">43 of 43</td><td class="ctr2">0%</td><td class="bar">10 of 10</td><td class="ctr2">0%</td><td class="ctr1">8</td><td class="ctr2">8</td><td class="ctr1">9</td><td class="ctr2">9</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a2"><a href="FcfsTimeRangeValidator.java.html#L19" class="el_method">isValid(FcfsEventTimeRequestDto, ConstraintValidatorContext)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="36" alt="36"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="10" alt="10"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">6</td><td class="ctr2" id="g0">6</td><td class="ctr1" id="h0">6</td><td class="ctr2" id="i0">6</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="FcfsTimeRangeValidator.java.html#L14" class="el_method">initialize(ValidFcfsTimeRange)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="13" height="10" title="4" alt="4"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="FcfsTimeRangeValidator.java.html#L10" class="el_method">FcfsTimeRangeValidator()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="10" height="10" title="3" alt="3"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/FcfsTimeRangeValidator.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/FcfsTimeRangeValidator.java.html
    new file mode 100644
    index 00000000..07a839ce
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/FcfsTimeRangeValidator.java.html
    @@ -0,0 +1,35 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>FcfsTimeRangeValidator.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.bo_domain.admin.validator</a> &gt; <span class="el_source">FcfsTimeRangeValidator.java</span></div><h1>FcfsTimeRangeValidator.java</h1><pre class="source lang-java linenums">package com.softeer.backend.bo_domain.admin.validator;
    +
    +import com.softeer.backend.bo_domain.admin.dto.event.FcfsEventTimeRequestDto;
    +import com.softeer.backend.bo_domain.admin.validator.annotation.ValidFcfsTimeRange;
    +import jakarta.validation.ConstraintValidator;
    +import jakarta.validation.ConstraintValidatorContext;
    +
    +import java.time.LocalTime;
    +
    +<span class="nc" id="L10">public class FcfsTimeRangeValidator implements ConstraintValidator&lt;ValidFcfsTimeRange, FcfsEventTimeRequestDto&gt; {</span>
    +
    +    @Override
    +    public void initialize(ValidFcfsTimeRange constraintAnnotation) {
    +<span class="nc" id="L14">        ConstraintValidator.super.initialize(constraintAnnotation);</span>
    +<span class="nc" id="L15">    }</span>
    +
    +    @Override
    +    public boolean isValid(FcfsEventTimeRequestDto value, ConstraintValidatorContext context) {
    +<span class="nc bnc" id="L19" title="All 2 branches missed.">        if (value.getStartTime() == null) {</span>
    +<span class="nc" id="L20">            return true;</span>
    +        }
    +
    +<span class="nc" id="L23">        LocalTime startTime = value.getStartTime();</span>
    +
    +        // 시작 시간이 오전 9시 이후인지 검증
    +<span class="nc bnc" id="L26" title="All 2 branches missed.">        boolean isStartTimeValid = !startTime.isBefore(LocalTime.of(9, 0));</span>
    +
    +        // 시작 시간이 오후 6시 이전인지 검증
    +<span class="nc bnc" id="L29" title="All 2 branches missed.">        boolean isEndTimeValid = !startTime.isAfter(LocalTime.of(18, 0));</span>
    +
    +        // 모든 검증 조건이 만족되는지 확인
    +<span class="nc bnc" id="L32" title="All 4 branches missed.">        return isStartTimeValid &amp;&amp; isEndTimeValid;</span>
    +    }
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/index.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/index.html
    new file mode 100644
    index 00000000..2156958f
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.bo_domain.admin.validator</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.bo_domain.admin.validator</span></div><h1>com.softeer.backend.bo_domain.admin.validator</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">140 of 140</td><td class="ctr2">0%</td><td class="bar">30 of 30</td><td class="ctr2">0%</td><td class="ctr1">24</td><td class="ctr2">24</td><td class="ctr1">33</td><td class="ctr2">33</td><td class="ctr1">9</td><td class="ctr2">9</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a1"><a href="FcfsDateRangeValidator.html" class="el_class">FcfsDateRangeValidator</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="51" alt="51"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="10" alt="10"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">8</td><td class="ctr2" id="g0">8</td><td class="ctr1" id="h0">12</td><td class="ctr2" id="i0">12</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k0">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="DrawTimeRangeValidator.html" class="el_class">DrawTimeRangeValidator</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="108" height="10" title="46" alt="46"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="10" alt="10"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f1">8</td><td class="ctr2" id="g1">8</td><td class="ctr1" id="h1">12</td><td class="ctr2" id="i1">12</td><td class="ctr1" id="j1">3</td><td class="ctr2" id="k1">3</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a2"><a href="FcfsTimeRangeValidator.html" class="el_class">FcfsTimeRangeValidator</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="101" height="10" title="43" alt="43"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="10" alt="10"/></td><td class="ctr2" id="e2">0%</td><td class="ctr1" id="f2">8</td><td class="ctr2" id="g2">8</td><td class="ctr1" id="h2">9</td><td class="ctr2" id="i2">9</td><td class="ctr1" id="j2">3</td><td class="ctr2" id="k2">3</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/index.source.html
    new file mode 100644
    index 00000000..6abfa6d4
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.bo_domain.admin.validator</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.bo_domain.admin.validator</span></div><h1>com.softeer.backend.bo_domain.admin.validator</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">140 of 140</td><td class="ctr2">0%</td><td class="bar">30 of 30</td><td class="ctr2">0%</td><td class="ctr1">24</td><td class="ctr2">24</td><td class="ctr1">33</td><td class="ctr2">33</td><td class="ctr1">9</td><td class="ctr2">9</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a1"><a href="FcfsDateRangeValidator.java.html" class="el_source">FcfsDateRangeValidator.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="51" alt="51"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="10" alt="10"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">8</td><td class="ctr2" id="g0">8</td><td class="ctr1" id="h0">12</td><td class="ctr2" id="i0">12</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k0">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="DrawTimeRangeValidator.java.html" class="el_source">DrawTimeRangeValidator.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="108" height="10" title="46" alt="46"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="10" alt="10"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f1">8</td><td class="ctr2" id="g1">8</td><td class="ctr1" id="h1">12</td><td class="ctr2" id="i1">12</td><td class="ctr1" id="j1">3</td><td class="ctr2" id="k1">3</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a2"><a href="FcfsTimeRangeValidator.java.html" class="el_source">FcfsTimeRangeValidator.java</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="101" height="10" title="43" alt="43"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="10" alt="10"/></td><td class="ctr2" id="e2">0%</td><td class="ctr1" id="f2">8</td><td class="ctr2" id="g2">8</td><td class="ctr1" id="h2">9</td><td class="ctr2" id="i2">9</td><td class="ctr1" id="j2">3</td><td class="ctr2" id="k2">3</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.eventparticipation.repository/EventParticipationRepository.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.eventparticipation.repository/EventParticipationRepository.html
    new file mode 100644
    index 00000000..4a38a0d5
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.eventparticipation.repository/EventParticipationRepository.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>EventParticipationRepository</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.bo_domain.eventparticipation.repository</a> &gt; <span class="el_class">EventParticipationRepository</span></div><h1>EventParticipationRepository</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">17 of 17</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="EventParticipationRepository.java.html#L18" class="el_method">findSingleEventParticipation()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="17" alt="17"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">4</td><td class="ctr2" id="i0">4</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.eventparticipation.repository/EventParticipationRepository.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.eventparticipation.repository/EventParticipationRepository.java.html
    new file mode 100644
    index 00000000..7de9e8d1
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.eventparticipation.repository/EventParticipationRepository.java.html
    @@ -0,0 +1,25 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>EventParticipationRepository.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.bo_domain.eventparticipation.repository</a> &gt; <span class="el_source">EventParticipationRepository.java</span></div><h1>EventParticipationRepository.java</h1><pre class="source lang-java linenums">package com.softeer.backend.bo_domain.eventparticipation.repository;
    +
    +import com.softeer.backend.bo_domain.eventparticipation.domain.EventParticipation;
    +import org.springframework.dao.EmptyResultDataAccessException;
    +import org.springframework.data.jpa.repository.JpaRepository;
    +import org.springframework.data.jpa.repository.Query;
    +import org.springframework.data.repository.query.Param;
    +
    +import java.time.LocalDate;
    +import java.util.List;
    +
    +public interface EventParticipationRepository extends JpaRepository&lt;EventParticipation, Integer&gt; {
    +
    +    @Query(&quot;SELECT e FROM EventParticipation e WHERE e.eventDate BETWEEN :startDate AND :endDate&quot;)
    +    List&lt;EventParticipation&gt; findAllByEventDateBetween(@Param(&quot;startDate&quot;) LocalDate startDate, @Param(&quot;endDate&quot;) LocalDate endDate);
    +
    +    default EventParticipation findSingleEventParticipation() {
    +<span class="nc" id="L18">        List&lt;EventParticipation&gt; results = findAll();</span>
    +<span class="nc bnc" id="L19" title="All 2 branches missed.">        if (results.isEmpty()) {</span>
    +<span class="nc" id="L20">            throw new EmptyResultDataAccessException(&quot;Entity not found&quot;, 1);</span>
    +        }
    +<span class="nc" id="L22">        return results.get(0);</span>
    +    }
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.eventparticipation.repository/index.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.eventparticipation.repository/index.html
    new file mode 100644
    index 00000000..d0da5f9e
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.eventparticipation.repository/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.bo_domain.eventparticipation.repository</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.bo_domain.eventparticipation.repository</span></div><h1>com.softeer.backend.bo_domain.eventparticipation.repository</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">17 of 17</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="EventParticipationRepository.html" class="el_class">EventParticipationRepository</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="17" alt="17"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">4</td><td class="ctr2" id="i0">4</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.eventparticipation.repository/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.eventparticipation.repository/index.source.html
    new file mode 100644
    index 00000000..b1d82e0c
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.eventparticipation.repository/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.bo_domain.eventparticipation.repository</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.bo_domain.eventparticipation.repository</span></div><h1>com.softeer.backend.bo_domain.eventparticipation.repository</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">17 of 17</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="EventParticipationRepository.java.html" class="el_source">EventParticipationRepository.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="17" alt="17"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">4</td><td class="ctr2" id="i0">4</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.constant/CommentNickname.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.constant/CommentNickname.html
    new file mode 100644
    index 00000000..8fb4feba
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.constant/CommentNickname.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>CommentNickname</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.comment.constant</a> &gt; <span class="el_class">CommentNickname</span></div><h1>CommentNickname</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">109 of 109</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">20</td><td class="ctr2">20</td><td class="ctr1">4</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a3"><a href="CommentNickname.java.html#L8" class="el_method">static {...}</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="73" alt="73"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">11</td><td class="ctr2" id="i0">11</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="CommentNickname.java.html#L32" class="el_method">getRandomNickname()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="24" height="10" title="15" alt="15"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">3</td><td class="ctr2" id="i1">3</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a1"><a href="CommentNickname.java.html#L39" class="el_method">getMyRandomNickname(int)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="21" height="10" title="13" alt="13"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">3</td><td class="ctr2" id="i2">3</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a0"><a href="CommentNickname.java.html#L26" class="el_method">CommentNickname(String, int, String)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="13" height="10" title="8" alt="8"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">3</td><td class="ctr2" id="i3">3</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.constant/CommentNickname.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.constant/CommentNickname.java.html
    new file mode 100644
    index 00000000..a867676b
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.constant/CommentNickname.java.html
    @@ -0,0 +1,44 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>CommentNickname.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.comment.constant</a> &gt; <span class="el_source">CommentNickname.java</span></div><h1>CommentNickname.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.comment.constant;
    +
    +import lombok.Getter;
    +
    +/**
    + * 기대평 닉네임을 관리하는 Enum 클래스
    + */
    +<span class="nc" id="L8">@Getter</span>
    +public enum CommentNickname {
    +<span class="nc" id="L10">    NICKNAME_1(&quot;곰&quot;),</span>
    +<span class="nc" id="L11">    NICKNAME_2(&quot;코끼리&quot;),</span>
    +<span class="nc" id="L12">    NICKNAME_3(&quot;토끼&quot;),</span>
    +<span class="nc" id="L13">    NICKNAME_4(&quot;기린&quot;),</span>
    +<span class="nc" id="L14">    NICKNAME_5(&quot;돌고래&quot;),</span>
    +<span class="nc" id="L15">    NICKNAME_6(&quot;개구리&quot;),</span>
    +<span class="nc" id="L16">    NICKNAME_7(&quot;고양이&quot;),</span>
    +<span class="nc" id="L17">    NICKNAME_8(&quot;악어&quot;),</span>
    +<span class="nc" id="L18">    NICKNAME_9(&quot;판다&quot;),</span>
    +<span class="nc" id="L19">    NICKNAME_10(&quot;호랑이&quot;);</span>
    +
    +    public static final String NICKNAME_PREFIX = &quot;익명의 &quot;;
    +    public static final String MY_NICKNAME_SUFFIX = &quot;(나)&quot;;
    +
    +    private final String nickname;
    +
    +<span class="nc" id="L26">    CommentNickname(String nickname) {</span>
    +<span class="nc" id="L27">        this.nickname = nickname;</span>
    +<span class="nc" id="L28">    }</span>
    +
    +    // 인증 하지 않은 유저의 닉네임 생성 메서드
    +    public static String getRandomNickname() {
    +<span class="nc" id="L32">        CommentNickname[] nicknames = values();</span>
    +<span class="nc" id="L33">        int index = (int) (Math.random() * nicknames.length);</span>
    +<span class="nc" id="L34">        return NICKNAME_PREFIX + nicknames[index].getNickname();</span>
    +    }
    +
    +    // 인증한 유저의 닉네임 생성 메서드
    +    public static String getMyRandomNickname(int userId) {
    +<span class="nc" id="L39">        CommentNickname[] nicknames = values();</span>
    +<span class="nc" id="L40">        int index = userId % nicknames.length;</span>
    +<span class="nc" id="L41">        return NICKNAME_PREFIX + nicknames[index].getNickname();</span>
    +    }
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.constant/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.constant/index.html
    new file mode 100644
    index 00000000..0677e5ec
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.constant/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.comment.constant</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.comment.constant</span></div><h1>com.softeer.backend.fo_domain.comment.constant</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">109 of 109</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">20</td><td class="ctr2">20</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="CommentNickname.html" class="el_class">CommentNickname</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="109" alt="109"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">20</td><td class="ctr2" id="i0">20</td><td class="ctr1" id="j0">4</td><td class="ctr2" id="k0">4</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.constant/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.constant/index.source.html
    new file mode 100644
    index 00000000..6c9e1b02
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.constant/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.comment.constant</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.comment.constant</span></div><h1>com.softeer.backend.fo_domain.comment.constant</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">109 of 109</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">20</td><td class="ctr2">20</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="CommentNickname.java.html" class="el_source">CommentNickname.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="109" alt="109"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">20</td><td class="ctr2" id="i0">20</td><td class="ctr1" id="j0">4</td><td class="ctr2" id="k0">4</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.controller/CommentController.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.controller/CommentController.html
    new file mode 100644
    index 00000000..8db44bf6
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.controller/CommentController.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>CommentController</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.comment.controller</a> &gt; <span class="el_class">CommentController</span></div><h1>CommentController</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">52 of 52</td><td class="ctr2">0%</td><td class="bar">10 of 10</td><td class="ctr2">0%</td><td class="ctr1">8</td><td class="ctr2">8</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a1"><a href="CommentController.java.html#L41" class="el_method">saveComment(Integer, Integer)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="27" alt="27"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="6" alt="6"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h1">5</td><td class="ctr2" id="i1">5</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="CommentController.java.html#L25" class="el_method">getComment(Integer, Integer)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="93" height="10" title="21" alt="21"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="80" height="10" title="4" alt="4"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f1">3</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h0">6</td><td class="ctr2" id="i0">6</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="CommentController.java.html#L15" class="el_method">static {...}</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="17" height="10" title="4" alt="4"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.controller/CommentController.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.controller/CommentController.java.html
    new file mode 100644
    index 00000000..bd0a76d2
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.controller/CommentController.java.html
    @@ -0,0 +1,53 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>CommentController.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.comment.controller</a> &gt; <span class="el_source">CommentController.java</span></div><h1>CommentController.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.comment.controller;
    +
    +import com.softeer.backend.fo_domain.comment.dto.CommentsResponseDto;
    +import com.softeer.backend.fo_domain.comment.exception.CommentException;
    +import com.softeer.backend.fo_domain.comment.service.CommentService;
    +import com.softeer.backend.global.annotation.AuthInfo;
    +import com.softeer.backend.global.common.code.status.ErrorStatus;
    +import com.softeer.backend.global.common.response.ResponseDto;
    +import io.swagger.v3.oas.annotations.Parameter;
    +import lombok.RequiredArgsConstructor;
    +import lombok.extern.slf4j.Slf4j;
    +import org.springframework.validation.BindingResult;
    +import org.springframework.web.bind.annotation.*;
    +
    +<span class="nc" id="L15">@Slf4j</span>
    +@RequiredArgsConstructor
    +@RestController
    +public class CommentController {
    +
    +    private final CommentService commentService;
    +
    +    @GetMapping(&quot;/comment&quot;)
    +    ResponseDto&lt;CommentsResponseDto&gt; getComment(@RequestParam(name = &quot;cursor&quot;, required = false) Integer cursor,
    +                                                @Parameter(hidden = true) @AuthInfo Integer userId) {
    +<span class="nc bnc" id="L25" title="All 2 branches missed.">        if (cursor == null) {</span>
    +<span class="nc" id="L26">            cursor = Integer.MAX_VALUE;</span>
    +        }
    +
    +<span class="nc" id="L29">        CommentsResponseDto commentsResponseDto = commentService.getComments(userId, cursor);</span>
    +
    +<span class="nc bnc" id="L31" title="All 2 branches missed.">        if (commentsResponseDto.getNextCursor() != CommentsResponseDto.LAST_CURSOR)</span>
    +<span class="nc" id="L32">            return ResponseDto.onSuccess(commentsResponseDto);</span>
    +
    +<span class="nc" id="L34">        return ResponseDto.onSuccess(commentsResponseDto);</span>
    +    }
    +
    +    @PostMapping(&quot;/comment&quot;)
    +    ResponseDto&lt;Void&gt; saveComment(@RequestParam(name = &quot;commentType&quot;) Integer commentType,
    +                                  @Parameter(hidden = true) @AuthInfo Integer userId) {
    +
    +<span class="nc bnc" id="L41" title="All 6 branches missed.">        if(commentType == null || commentType&lt;1 || commentType &gt; 5){</span>
    +
    +<span class="nc" id="L43">            log.error(&quot;Invalid commentType value: {}. It must be between 1 and 5.&quot;, commentType);</span>
    +<span class="nc" id="L44">            throw new CommentException(ErrorStatus._VALIDATION_ERROR);</span>
    +        }
    +
    +<span class="nc" id="L47">        commentService.saveComment(userId, commentType);</span>
    +
    +<span class="nc" id="L49">        return ResponseDto.onSuccess();</span>
    +
    +    }
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.controller/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.controller/index.html
    new file mode 100644
    index 00000000..649c45aa
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.controller/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.comment.controller</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.comment.controller</span></div><h1>com.softeer.backend.fo_domain.comment.controller</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">52 of 52</td><td class="ctr2">0%</td><td class="bar">10 of 10</td><td class="ctr2">0%</td><td class="ctr1">8</td><td class="ctr2">8</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="CommentController.html" class="el_class">CommentController</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="52" alt="52"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="10" alt="10"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">8</td><td class="ctr2" id="g0">8</td><td class="ctr1" id="h0">12</td><td class="ctr2" id="i0">12</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k0">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.controller/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.controller/index.source.html
    new file mode 100644
    index 00000000..dbbdceed
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.controller/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.comment.controller</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.comment.controller</span></div><h1>com.softeer.backend.fo_domain.comment.controller</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">52 of 52</td><td class="ctr2">0%</td><td class="bar">10 of 10</td><td class="ctr2">0%</td><td class="ctr1">8</td><td class="ctr2">8</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="CommentController.java.html" class="el_source">CommentController.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="52" alt="52"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="10" alt="10"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">8</td><td class="ctr2" id="g0">8</td><td class="ctr1" id="h0">12</td><td class="ctr2" id="i0">12</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k0">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.domain/Comment.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.domain/Comment.html
    new file mode 100644
    index 00000000..1ac7938a
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.domain/Comment.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>Comment</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.comment.domain</a> &gt; <span class="el_class">Comment</span></div><h1>Comment</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">14 of 14</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="Comment.java.html#L44" class="el_method">assignRandomNickname()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="14" alt="14"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">4</td><td class="ctr2" id="i0">4</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.domain/Comment.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.domain/Comment.java.html
    new file mode 100644
    index 00000000..d870a246
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.domain/Comment.java.html
    @@ -0,0 +1,52 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>Comment.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.comment.domain</a> &gt; <span class="el_source">Comment.java</span></div><h1>Comment.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.comment.domain;
    +
    +
    +import com.softeer.backend.fo_domain.comment.constant.CommentNickname;
    +import jakarta.persistence.*;
    +import lombok.AllArgsConstructor;
    +import lombok.Builder;
    +import lombok.Getter;
    +import lombok.NoArgsConstructor;
    +import org.springframework.data.annotation.CreatedDate;
    +import org.springframework.data.jpa.domain.support.AuditingEntityListener;
    +
    +import java.time.LocalDateTime;
    +
    +@Entity
    +@NoArgsConstructor
    +@AllArgsConstructor
    +@Getter
    +@Builder
    +@EntityListeners(AuditingEntityListener.class)
    +@Table(name = &quot;comment&quot;)
    +public class Comment {
    +
    +    @Id
    +    @Column(name = &quot;comment_id&quot;)
    +    @GeneratedValue(strategy = GenerationType.IDENTITY)
    +    private Integer id;
    +
    +    @Column(name = &quot;nickname&quot;, nullable = false)
    +    private String nickname;
    +
    +    @Column(name = &quot;comment_type&quot;, nullable = false)
    +    private Integer commentType;
    +
    +    @CreatedDate
    +    @Column(name = &quot;upload_time&quot;, updatable = false)
    +    private LocalDateTime uploadTime;
    +
    +    @Column(name = &quot;user_id&quot;, nullable = true)
    +    private Integer userId;
    +
    +    @PrePersist
    +    public void assignRandomNickname() {
    +<span class="nc bnc" id="L44" title="All 2 branches missed.">        if (userId != null) {</span>
    +<span class="nc" id="L45">            this.nickname = CommentNickname.getMyRandomNickname(userId);</span>
    +        } else {
    +<span class="nc" id="L47">            this.nickname = CommentNickname.getRandomNickname();</span>
    +        }
    +<span class="nc" id="L49">    }</span>
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.domain/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.domain/index.html
    new file mode 100644
    index 00000000..9137ace0
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.domain/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.comment.domain</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.comment.domain</span></div><h1>com.softeer.backend.fo_domain.comment.domain</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">14 of 14</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="Comment.html" class="el_class">Comment</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="14" alt="14"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">4</td><td class="ctr2" id="i0">4</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.domain/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.domain/index.source.html
    new file mode 100644
    index 00000000..f6c7fcec
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.domain/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.comment.domain</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.comment.domain</span></div><h1>com.softeer.backend.fo_domain.comment.domain</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">14 of 14</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="Comment.java.html" class="el_source">Comment.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="14" alt="14"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">4</td><td class="ctr2" id="i0">4</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.dto/CommentsResponseDto.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.dto/CommentsResponseDto.html
    new file mode 100644
    index 00000000..67557527
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.dto/CommentsResponseDto.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>CommentsResponseDto</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.comment.dto</a> &gt; <span class="el_class">CommentsResponseDto</span></div><h1>CommentsResponseDto</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">76 of 76</td><td class="ctr2">0%</td><td class="bar">8 of 8</td><td class="ctr2">0%</td><td class="ctr1">9</td><td class="ctr2">9</td><td class="ctr1">24</td><td class="ctr2">24</td><td class="ctr1">5</td><td class="ctr2">5</td></tr></tfoot><tbody><tr><td id="a1"><a href="CommentsResponseDto.java.html#L65" class="el_method">lambda$getContents$0(Integer, Comment)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="34" alt="34"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="6" alt="6"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">12</td><td class="ctr2" id="i0">12</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a4"><a href="CommentsResponseDto.java.html#L36" class="el_method">of(ScrollPaginationUtil, Integer)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="63" height="10" title="18" alt="18"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="40" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f1">2</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h2">3</td><td class="ctr2" id="i2">3</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a3"><a href="CommentsResponseDto.java.html#L52" class="el_method">newScrollHasNext(List, int, Integer)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="42" height="10" title="12" alt="12"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h1">5</td><td class="ctr2" id="i1">5</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a0"><a href="CommentsResponseDto.java.html#L63" class="el_method">getContents(List, Integer)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="24" height="10" title="7" alt="7"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">3</td><td class="ctr2" id="i3">3</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a2"><a href="CommentsResponseDto.java.html#L46" class="el_method">newLastScroll(List, Integer)</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="17" height="10" title="5" alt="5"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">1</td><td class="ctr2" id="i4">1</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.dto/CommentsResponseDto.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.dto/CommentsResponseDto.java.html
    new file mode 100644
    index 00000000..17457913
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.dto/CommentsResponseDto.java.html
    @@ -0,0 +1,85 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>CommentsResponseDto.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.comment.dto</a> &gt; <span class="el_source">CommentsResponseDto.java</span></div><h1>CommentsResponseDto.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.comment.dto;
    +
    +import com.softeer.backend.fo_domain.comment.constant.CommentNickname;
    +import com.softeer.backend.fo_domain.comment.domain.Comment;
    +import com.softeer.backend.fo_domain.comment.util.ScrollPaginationUtil;
    +import lombok.*;
    +
    +import java.util.List;
    +
    +@NoArgsConstructor(access = AccessLevel.PRIVATE)
    +@AllArgsConstructor(access = AccessLevel.PUBLIC)
    +@Builder
    +@Getter
    +public class CommentsResponseDto {
    +    public static final int LAST_CURSOR = -1;
    +
    +    private int nextCursor;
    +
    +    private int totalComments;
    +
    +    private List&lt;CommentResponse&gt; comments;
    +
    +    @Getter
    +    @AllArgsConstructor
    +    @Builder
    +    public static class CommentResponse {
    +
    +        private Boolean isMine;
    +
    +        private String nickName;
    +
    +        private int commentType;
    +    }
    +
    +    public static CommentsResponseDto of(ScrollPaginationUtil&lt;Comment&gt; commentsScroll, Integer userId) {
    +<span class="nc bnc" id="L36" title="All 2 branches missed.">        if (commentsScroll.isLastScroll()) {</span>
    +<span class="nc" id="L37">            return CommentsResponseDto.newLastScroll(commentsScroll.getCurrentScrollItems(), userId);</span>
    +        }
    +<span class="nc" id="L39">        return CommentsResponseDto.newScrollHasNext(commentsScroll.getCurrentScrollItems(), commentsScroll.getNextCursor().getId(),</span>
    +                userId);
    +    }
    +
    +    // 마지막 스크롤일 때의 응답값을 구성하는 메서드
    +    // nextCursor 값을 -1로 설정한다.
    +    private static CommentsResponseDto newLastScroll(List&lt;Comment&gt; commentsScroll, Integer userId) {
    +<span class="nc" id="L46">        return newScrollHasNext(commentsScroll, LAST_CURSOR, userId);</span>
    +    }
    +
    +    // 마지막 스크롤이 아닐 때의 응답값을 구성하는 메서드
    +    private static CommentsResponseDto newScrollHasNext(List&lt;Comment&gt; commentsScroll, int nextCursor,
    +                                                        Integer userId) {
    +<span class="nc" id="L52">        return CommentsResponseDto.builder()</span>
    +<span class="nc" id="L53">                .nextCursor(nextCursor)</span>
    +<span class="nc" id="L54">                .totalComments(commentsScroll.size())</span>
    +<span class="nc" id="L55">                .comments(getContents(commentsScroll, userId))</span>
    +<span class="nc" id="L56">                .build();</span>
    +    }
    +
    +    // CommentResponse를 생성하여 반환하는 메서드
    +    // 유저가 로그인을 한 상태에서 자신의 댓글이 응답에 포함될 경우,
    +    // isMine 변수값을 true로, nickname의 접미사에 '(나)'를 붙여서 응답을 구성한다.
    +    private static List&lt;CommentResponse&gt; getContents(List&lt;Comment&gt; commentsScroll, Integer userId) {
    +<span class="nc" id="L63">        return commentsScroll.stream()</span>
    +<span class="nc" id="L64">                .map(_comment -&gt; {</span>
    +<span class="nc" id="L65">                    boolean isMine = false;</span>
    +<span class="nc" id="L66">                    String nickname = _comment.getNickname();</span>
    +<span class="nc" id="L67">                    int commentType = _comment.getCommentType();</span>
    +
    +<span class="nc bnc" id="L69" title="All 4 branches missed.">                    if (userId != null &amp;&amp; _comment.getUserId() != null &amp;&amp;</span>
    +<span class="nc bnc" id="L70" title="All 2 branches missed.">                            _comment.getUserId().equals(userId)) {</span>
    +<span class="nc" id="L71">                        isMine = true;</span>
    +<span class="nc" id="L72">                        nickname = nickname + CommentNickname.MY_NICKNAME_SUFFIX;</span>
    +                    }
    +
    +<span class="nc" id="L75">                    return CommentResponse.builder()</span>
    +<span class="nc" id="L76">                            .isMine(isMine)</span>
    +<span class="nc" id="L77">                            .nickName(nickname)</span>
    +<span class="nc" id="L78">                            .commentType(commentType)</span>
    +<span class="nc" id="L79">                            .build();</span>
    +                })
    +<span class="nc" id="L81">                .toList();</span>
    +
    +    }
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.dto/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.dto/index.html
    new file mode 100644
    index 00000000..68bf3d74
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.dto/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.comment.dto</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.comment.dto</span></div><h1>com.softeer.backend.fo_domain.comment.dto</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">76 of 76</td><td class="ctr2">0%</td><td class="bar">8 of 8</td><td class="ctr2">0%</td><td class="ctr1">9</td><td class="ctr2">9</td><td class="ctr1">24</td><td class="ctr2">24</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="CommentsResponseDto.html" class="el_class">CommentsResponseDto</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="76" alt="76"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="8" alt="8"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">9</td><td class="ctr2" id="g0">9</td><td class="ctr1" id="h0">24</td><td class="ctr2" id="i0">24</td><td class="ctr1" id="j0">5</td><td class="ctr2" id="k0">5</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.dto/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.dto/index.source.html
    new file mode 100644
    index 00000000..ab14446b
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.dto/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.comment.dto</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.comment.dto</span></div><h1>com.softeer.backend.fo_domain.comment.dto</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">76 of 76</td><td class="ctr2">0%</td><td class="bar">8 of 8</td><td class="ctr2">0%</td><td class="ctr1">9</td><td class="ctr2">9</td><td class="ctr1">24</td><td class="ctr2">24</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="CommentsResponseDto.java.html" class="el_source">CommentsResponseDto.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="76" alt="76"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="8" alt="8"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">9</td><td class="ctr2" id="g0">9</td><td class="ctr1" id="h0">24</td><td class="ctr2" id="i0">24</td><td class="ctr1" id="j0">5</td><td class="ctr2" id="k0">5</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.exception/CommentException.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.exception/CommentException.html
    new file mode 100644
    index 00000000..00c39560
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.exception/CommentException.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>CommentException</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.comment.exception</a> &gt; <span class="el_class">CommentException</span></div><h1>CommentException</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="CommentException.java.html#L9" class="el_method">CommentException(BaseErrorCode)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.exception/CommentException.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.exception/CommentException.java.html
    new file mode 100644
    index 00000000..49bf2f57
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.exception/CommentException.java.html
    @@ -0,0 +1,12 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>CommentException.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.comment.exception</a> &gt; <span class="el_source">CommentException.java</span></div><h1>CommentException.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.comment.exception;
    +
    +import com.softeer.backend.global.common.code.BaseErrorCode;
    +import com.softeer.backend.global.common.exception.GeneralException;
    +
    +public class CommentException extends GeneralException {
    +
    +    public CommentException(BaseErrorCode code) {
    +<span class="nc" id="L9">        super(code);</span>
    +<span class="nc" id="L10">    }</span>
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.exception/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.exception/index.html
    new file mode 100644
    index 00000000..34db7bad
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.exception/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.comment.exception</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.comment.exception</span></div><h1>com.softeer.backend.fo_domain.comment.exception</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="CommentException.html" class="el_class">CommentException</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.exception/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.exception/index.source.html
    new file mode 100644
    index 00000000..044e63a5
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.exception/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.comment.exception</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.comment.exception</span></div><h1>com.softeer.backend.fo_domain.comment.exception</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="CommentException.java.html" class="el_source">CommentException.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.service/CommentService.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.service/CommentService.html
    new file mode 100644
    index 00000000..31901c27
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.service/CommentService.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>CommentService</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.comment.service</a> &gt; <span class="el_class">CommentService</span></div><h1>CommentService</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">43 of 43</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">13</td><td class="ctr2">13</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="CommentService.java.html#L50" class="el_method">saveComment(Integer, int)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="22" alt="22"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">8</td><td class="ctr2" id="i0">8</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="CommentService.java.html#L33" class="el_method">getComments(Integer, Integer)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="114" height="10" title="21" alt="21"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">5</td><td class="ctr2" id="i1">5</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.service/CommentService.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.service/CommentService.java.html
    new file mode 100644
    index 00000000..449ed6df
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.service/CommentService.java.html
    @@ -0,0 +1,61 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>CommentService.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.comment.service</a> &gt; <span class="el_source">CommentService.java</span></div><h1>CommentService.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.comment.service;
    +
    +import com.softeer.backend.fo_domain.comment.constant.CommentNickname;
    +import com.softeer.backend.fo_domain.comment.domain.Comment;
    +import com.softeer.backend.fo_domain.comment.dto.CommentsResponseDto;
    +import com.softeer.backend.fo_domain.comment.repository.CommentRepository;
    +import com.softeer.backend.fo_domain.comment.util.ScrollPaginationUtil;
    +import lombok.RequiredArgsConstructor;
    +import org.springframework.data.domain.Page;
    +import org.springframework.data.domain.PageRequest;
    +import org.springframework.stereotype.Service;
    +import org.springframework.transaction.annotation.Transactional;
    +
    +import java.util.ArrayList;
    +import java.util.Collections;
    +import java.util.List;
    +
    +@Service
    +@RequiredArgsConstructor
    +public class CommentService {
    +    private static final int SCROLL_SIZE = 30;
    +
    +    private final CommentRepository commentRepository;
    +
    +    /**
    +     * SCROLL_SIZE 만큼의 기대평을 반환하는 메서드
    +     * &lt;p&gt;
    +     * 커서 기반 무한 스크롤 기능을 사용하여 다음 cursor 값을 받아 해당 값보다 작으면서 정해진 개수 만큼의 기대평을 반환한다.
    +     */
    +    @Transactional(readOnly = true)
    +    public CommentsResponseDto getComments(Integer userId, Integer cursor) {
    +
    +<span class="nc" id="L33">        PageRequest pageRequest = PageRequest.of(0, SCROLL_SIZE + 1);</span>
    +<span class="nc" id="L34">        Page&lt;Comment&gt; page = commentRepository.findAllByIdLessThanEqualOrderByIdDesc(cursor, pageRequest);</span>
    +
    +<span class="nc" id="L36">        List&lt;Comment&gt; comments = page.getContent();</span>
    +
    +<span class="nc" id="L38">        ScrollPaginationUtil&lt;Comment&gt; commentCursor = ScrollPaginationUtil.of(comments, SCROLL_SIZE);</span>
    +<span class="nc" id="L39">        return CommentsResponseDto.of(commentCursor, userId);</span>
    +    }
    +
    +    /**
    +     * 기대평을 저장하는 메서드
    +     */
    +    @Transactional
    +    public void saveComment(Integer userId, int commentType) {
    +
    +        // 로그인 한 유저가 기대평을 등록했다면 User entity의 id값을 기반으로 닉네임을 설정한다.
    +        // 로그인 하지 않았다면, 랜덤으로 닉네임을 설정한다.
    +<span class="nc bnc" id="L50" title="All 2 branches missed.">        String randomNickname = (userId != null ?</span>
    +<span class="nc" id="L51">                CommentNickname.getMyRandomNickname(userId) : CommentNickname.getRandomNickname());</span>
    +
    +<span class="nc" id="L53">        commentRepository.save(Comment.builder()</span>
    +<span class="nc" id="L54">                .nickname(randomNickname)</span>
    +<span class="nc" id="L55">                .commentType(commentType)</span>
    +<span class="nc" id="L56">                .userId(userId)</span>
    +<span class="nc" id="L57">                .build()</span>
    +        );
    +<span class="nc" id="L59">    }</span>
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.service/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.service/index.html
    new file mode 100644
    index 00000000..d45c458e
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.service/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.comment.service</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.comment.service</span></div><h1>com.softeer.backend.fo_domain.comment.service</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">43 of 43</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">13</td><td class="ctr2">13</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="CommentService.html" class="el_class">CommentService</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="43" alt="43"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">13</td><td class="ctr2" id="i0">13</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.service/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.service/index.source.html
    new file mode 100644
    index 00000000..2a1e587d
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.service/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.comment.service</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.comment.service</span></div><h1>com.softeer.backend.fo_domain.comment.service</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">43 of 43</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">13</td><td class="ctr2">13</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="CommentService.java.html" class="el_source">CommentService.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="43" alt="43"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">13</td><td class="ctr2" id="i0">13</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.util/ScrollPaginationUtil.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.util/ScrollPaginationUtil.html
    new file mode 100644
    index 00000000..b24496bc
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.util/ScrollPaginationUtil.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ScrollPaginationUtil</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.comment.util</a> &gt; <span class="el_class">ScrollPaginationUtil</span></div><h1>ScrollPaginationUtil</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">48 of 48</td><td class="ctr2">0%</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="ctr1">6</td><td class="ctr2">6</td><td class="ctr1">8</td><td class="ctr2">8</td><td class="ctr1">4</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a0"><a href="ScrollPaginationUtil.java.html#L36" class="el_method">getCurrentScrollItems()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="24" alt="24"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">5</td><td class="ctr2" id="i0">5</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="ScrollPaginationUtil.java.html#L28" class="el_method">isLastScroll()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="50" height="10" title="10" alt="10"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f1">2</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a1"><a href="ScrollPaginationUtil.java.html#L49" class="el_method">getNextCursor()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="40" height="10" title="8" alt="8"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a3"><a href="ScrollPaginationUtil.java.html#L23" class="el_method">of(List, int)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="30" height="10" title="6" alt="6"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">1</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.util/ScrollPaginationUtil.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.util/ScrollPaginationUtil.java.html
    new file mode 100644
    index 00000000..bc052759
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.util/ScrollPaginationUtil.java.html
    @@ -0,0 +1,53 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ScrollPaginationUtil.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.comment.util</a> &gt; <span class="el_source">ScrollPaginationUtil.java</span></div><h1>ScrollPaginationUtil.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.comment.util;
    +
    +import lombok.AccessLevel;
    +import lombok.RequiredArgsConstructor;
    +
    +import java.util.ArrayList;
    +import java.util.Collections;
    +import java.util.List;
    +
    +/**
    + * 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스
    + */
    +@RequiredArgsConstructor(access = AccessLevel.PRIVATE)
    +public class ScrollPaginationUtil&lt;T&gt; {
    +
    +    // 마지막 스크롤인지를 확인하기 위해서 size+1의 개수만큼 item을 저장한다.
    +    private final List&lt;T&gt; itemsWithNextCursor;
    +
    +    // 한번 스크롤 할 때의 데이터 개수
    +    private final int countPerScroll;
    +
    +    public static &lt;T&gt; ScrollPaginationUtil&lt;T&gt; of(List&lt;T&gt; itemsWithNextCursor, int size) {
    +<span class="nc" id="L23">        return new ScrollPaginationUtil&lt;&gt;(itemsWithNextCursor, size);</span>
    +    }
    +
    +    // 마지막 스크롤인지를 확인하는 메서드
    +    public boolean isLastScroll() {
    +<span class="nc bnc" id="L28" title="All 2 branches missed.">        return this.itemsWithNextCursor.size() &lt;= countPerScroll;</span>
    +    }
    +
    +    // 마지막 스크롤일 경우, 그대로 데이터를 반환한다.
    +    // 마지막 스크롤이 아닌 경우, 마지막 데이터를 제외하고 반환한다.
    +    public List&lt;T&gt; getCurrentScrollItems() {
    +        List&lt;T&gt; itemsList;
    +
    +<span class="nc bnc" id="L36" title="All 2 branches missed.">        if (isLastScroll()) {</span>
    +<span class="nc" id="L37">            itemsList = new ArrayList&lt;&gt;(this.itemsWithNextCursor);</span>
    +        }
    +        else{
    +<span class="nc" id="L40">            itemsList = new ArrayList&lt;&gt;(itemsWithNextCursor.subList(0, countPerScroll));</span>
    +        }
    +<span class="nc" id="L42">        Collections.reverse(itemsList);</span>
    +
    +<span class="nc" id="L44">        return itemsList;</span>
    +    }
    +
    +    // 다음 커서 값을 갖고 있는 데이터를 반환하는 메서드
    +    public T getNextCursor() {
    +<span class="nc" id="L49">        return itemsWithNextCursor.get(countPerScroll-1);</span>
    +    }
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.util/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.util/index.html
    new file mode 100644
    index 00000000..fa902d0f
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.util/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.comment.util</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.comment.util</span></div><h1>com.softeer.backend.fo_domain.comment.util</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">48 of 48</td><td class="ctr2">0%</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="ctr1">6</td><td class="ctr2">6</td><td class="ctr1">8</td><td class="ctr2">8</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="ScrollPaginationUtil.html" class="el_class">ScrollPaginationUtil</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="48" alt="48"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">6</td><td class="ctr2" id="g0">6</td><td class="ctr1" id="h0">8</td><td class="ctr2" id="i0">8</td><td class="ctr1" id="j0">4</td><td class="ctr2" id="k0">4</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.util/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.util/index.source.html
    new file mode 100644
    index 00000000..90ec0b9b
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.util/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.comment.util</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.comment.util</span></div><h1>com.softeer.backend.fo_domain.comment.util</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">48 of 48</td><td class="ctr2">0%</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="ctr1">6</td><td class="ctr2">6</td><td class="ctr1">8</td><td class="ctr2">8</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="ScrollPaginationUtil.java.html" class="el_source">ScrollPaginationUtil.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="48" alt="48"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">6</td><td class="ctr2" id="g0">6</td><td class="ctr1" id="h0">8</td><td class="ctr2" id="i0">8</td><td class="ctr1" id="j0">4</td><td class="ctr2" id="k0">4</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.controller/DrawController.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.controller/DrawController.html
    new file mode 100644
    index 00000000..85626008
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.controller/DrawController.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DrawController</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.draw.controller</a> &gt; <span class="el_class">DrawController</span></div><h1>DrawController</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">32 of 32</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">6</td><td class="ctr2">6</td><td class="ctr1">4</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a3"><a href="DrawController.java.html#L29" class="el_method">participateDrawEvent()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="14" alt="14"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">3</td><td class="ctr2" id="i0">3</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="DrawController.java.html#L24" class="el_method">getDrawMainPageInfo(Integer)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="51" height="10" title="6" alt="6"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="DrawController.java.html#L36" class="el_method">getDrawResult(Integer)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="51" height="10" title="6" alt="6"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a0"><a href="DrawController.java.html#L41" class="el_method">getDrawHistory(Integer)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="51" height="10" title="6" alt="6"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">1</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.controller/DrawController.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.controller/DrawController.java.html
    new file mode 100644
    index 00000000..c9e1f3a6
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.controller/DrawController.java.html
    @@ -0,0 +1,44 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DrawController.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.draw.controller</a> &gt; <span class="el_source">DrawController.java</span></div><h1>DrawController.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.draw.controller;
    +
    +import com.softeer.backend.fo_domain.draw.dto.main.DrawMainResponseDto;
    +import com.softeer.backend.fo_domain.draw.dto.participate.DrawModalResponseDto;
    +import com.softeer.backend.fo_domain.draw.dto.result.DrawHistoryResponseDto;
    +import com.softeer.backend.fo_domain.draw.service.DrawService;
    +import com.softeer.backend.global.annotation.AuthInfo;
    +import com.softeer.backend.global.common.response.ResponseDto;
    +import lombok.RequiredArgsConstructor;
    +import org.springframework.http.HttpHeaders;
    +import org.springframework.http.HttpStatus;
    +import org.springframework.http.ResponseEntity;
    +import org.springframework.web.bind.annotation.GetMapping;
    +import org.springframework.web.bind.annotation.PostMapping;
    +import org.springframework.web.bind.annotation.RestController;
    +
    +@RestController
    +@RequiredArgsConstructor
    +public class DrawController {
    +    private final DrawService drawService;
    +
    +    @GetMapping(&quot;/event/draw&quot;)
    +    public ResponseDto&lt;DrawMainResponseDto&gt; getDrawMainPageInfo(@AuthInfo Integer userId) {
    +<span class="nc" id="L24">        return ResponseDto.onSuccess(drawService.getDrawMainPageInfo(userId));</span>
    +    }
    +
    +    @PostMapping(&quot;/event/draw&quot;)
    +    public ResponseEntity&lt;Void&gt; participateDrawEvent() {
    +<span class="nc" id="L29">        HttpHeaders headers = new HttpHeaders();</span>
    +<span class="nc" id="L30">        headers.add(&quot;Location&quot;, &quot;/event/draw-result&quot;);</span>
    +<span class="nc" id="L31">        return new ResponseEntity&lt;&gt;(headers, HttpStatus.FOUND); // HTTP 302 Found 응답</span>
    +    }
    +
    +    @GetMapping(&quot;/event/draw-result&quot;)
    +    public ResponseDto&lt;DrawModalResponseDto&gt; getDrawResult(@AuthInfo Integer userId) {
    +<span class="nc" id="L36">        return ResponseDto.onSuccess(drawService.participateDrawEvent(userId));</span>
    +    }
    +
    +    @GetMapping(&quot;/event/draw/history&quot;)
    +    public ResponseDto&lt;DrawHistoryResponseDto&gt; getDrawHistory(@AuthInfo Integer userId) {
    +<span class="nc" id="L41">        return ResponseDto.onSuccess(drawService.getDrawHistory(userId));</span>
    +    }
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.controller/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.controller/index.html
    new file mode 100644
    index 00000000..ab82d4c3
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.controller/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.draw.controller</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.draw.controller</span></div><h1>com.softeer.backend.fo_domain.draw.controller</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">32 of 32</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">6</td><td class="ctr2">6</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="DrawController.html" class="el_class">DrawController</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="32" alt="32"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">6</td><td class="ctr2" id="i0">6</td><td class="ctr1" id="j0">4</td><td class="ctr2" id="k0">4</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.controller/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.controller/index.source.html
    new file mode 100644
    index 00000000..17a33d16
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.controller/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.draw.controller</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.draw.controller</span></div><h1>com.softeer.backend.fo_domain.draw.controller</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">32 of 32</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">6</td><td class="ctr2">6</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="DrawController.java.html" class="el_source">DrawController.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="32" alt="32"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">6</td><td class="ctr2" id="i0">6</td><td class="ctr1" id="j0">4</td><td class="ctr2" id="k0">4</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.exception/DrawException.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.exception/DrawException.html
    new file mode 100644
    index 00000000..2c21bbeb
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.exception/DrawException.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DrawException</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.draw.exception</a> &gt; <span class="el_class">DrawException</span></div><h1>DrawException</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="DrawException.java.html#L9" class="el_method">DrawException(BaseErrorCode)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.exception/DrawException.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.exception/DrawException.java.html
    new file mode 100644
    index 00000000..1504c282
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.exception/DrawException.java.html
    @@ -0,0 +1,12 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DrawException.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.draw.exception</a> &gt; <span class="el_source">DrawException.java</span></div><h1>DrawException.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.draw.exception;
    +
    +import com.softeer.backend.global.common.code.BaseErrorCode;
    +import com.softeer.backend.global.common.exception.GeneralException;
    +
    +public class DrawException extends GeneralException {
    +
    +    public DrawException(BaseErrorCode code) {
    +<span class="nc" id="L9">        super(code);</span>
    +<span class="nc" id="L10">    }</span>
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.exception/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.exception/index.html
    new file mode 100644
    index 00000000..0ba91937
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.exception/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.draw.exception</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.draw.exception</span></div><h1>com.softeer.backend.fo_domain.draw.exception</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="DrawException.html" class="el_class">DrawException</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.exception/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.exception/index.source.html
    new file mode 100644
    index 00000000..0d9d44bf
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.exception/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.draw.exception</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.draw.exception</span></div><h1>com.softeer.backend.fo_domain.draw.exception</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="DrawException.java.html" class="el_source">DrawException.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.interceptor/DrawTimeCheckInterceptor.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.interceptor/DrawTimeCheckInterceptor.html
    new file mode 100644
    index 00000000..809d9f15
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.interceptor/DrawTimeCheckInterceptor.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DrawTimeCheckInterceptor</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.draw.interceptor</a> &gt; <span class="el_class">DrawTimeCheckInterceptor</span></div><h1>DrawTimeCheckInterceptor</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">78 of 78</td><td class="ctr2">0%</td><td class="bar">16 of 16</td><td class="ctr2">0%</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">14</td><td class="ctr2">14</td><td class="ctr1">4</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a1"><a href="DrawTimeCheckInterceptor.java.html#L61" class="el_method">compareTime(LocalDateTime)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="27" alt="27"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h1">4</td><td class="ctr2" id="i1">4</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="DrawTimeCheckInterceptor.java.html#L49" class="el_method">compareDate(LocalDateTime)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="97" height="10" title="22" alt="22"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f1">3</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h2">3</td><td class="ctr2" id="i2">3</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a3"><a href="DrawTimeCheckInterceptor.java.html#L23" class="el_method">preHandle(HttpServletRequest, HttpServletResponse, Object)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="66" height="10" title="15" alt="15"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e2">0%</td><td class="ctr1" id="f2">3</td><td class="ctr2" id="g2">3</td><td class="ctr1" id="h0">5</td><td class="ctr2" id="i0">5</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a2"><a href="DrawTimeCheckInterceptor.java.html#L38" class="el_method">isAvailableTime()</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="62" height="10" title="14" alt="14"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e3">0%</td><td class="ctr1" id="f3">3</td><td class="ctr2" id="g3">3</td><td class="ctr1" id="h3">2</td><td class="ctr2" id="i3">2</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.interceptor/DrawTimeCheckInterceptor.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.interceptor/DrawTimeCheckInterceptor.java.html
    new file mode 100644
    index 00000000..a1266167
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.interceptor/DrawTimeCheckInterceptor.java.html
    @@ -0,0 +1,68 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DrawTimeCheckInterceptor.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.draw.interceptor</a> &gt; <span class="el_source">DrawTimeCheckInterceptor.java</span></div><h1>DrawTimeCheckInterceptor.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.draw.interceptor;
    +
    +import com.softeer.backend.fo_domain.draw.exception.DrawException;
    +import com.softeer.backend.fo_domain.draw.service.DrawSettingManager;
    +import com.softeer.backend.global.common.code.status.ErrorStatus;
    +import jakarta.servlet.http.HttpServletRequest;
    +import jakarta.servlet.http.HttpServletResponse;
    +import lombok.RequiredArgsConstructor;
    +import org.springframework.stereotype.Component;
    +import org.springframework.web.cors.CorsUtils;
    +import org.springframework.web.servlet.HandlerInterceptor;
    +
    +import java.time.LocalDate;
    +import java.time.LocalDateTime;
    +
    +@Component
    +@RequiredArgsConstructor
    +public class DrawTimeCheckInterceptor implements HandlerInterceptor {
    +    private final DrawSettingManager drawSettingManager;
    +
    +    @Override
    +    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
    +<span class="nc bnc" id="L23" title="All 2 branches missed.">        if (CorsUtils.isPreFlightRequest(request))</span>
    +<span class="nc" id="L24">            return true;</span>
    +
    +<span class="nc bnc" id="L26" title="All 2 branches missed.">        if (!isAvailableTime()) {</span>
    +<span class="nc" id="L27">            throw new DrawException(ErrorStatus._BAD_REQUEST);</span>
    +        }
    +
    +<span class="nc" id="L30">        return true;</span>
    +    }
    +
    +    /**
    +     * 참가 가능한 시간인지 확인
    +     * @return 참가 가능하면 true, 불가능하면 false 반환
    +     */
    +    private boolean isAvailableTime() {
    +<span class="nc" id="L38">        LocalDateTime now = LocalDateTime.now();</span>
    +
    +<span class="nc bnc" id="L40" title="All 4 branches missed.">        return compareDate(now) &amp;&amp; compareTime(now);</span>
    +    }
    +
    +    /**
    +     * 날짜 비교
    +     * @param now 현재시각
    +     * @return 참가 가능한 날짜이면 true, 불가능하면 false 반환
    +     */
    +    private boolean compareDate(LocalDateTime now) {
    +<span class="nc" id="L49">        LocalDateTime startDateTime = drawSettingManager.getStartDate().atStartOfDay();</span>
    +<span class="nc" id="L50">        LocalDateTime endDateTime = drawSettingManager.getEndDate().atStartOfDay();</span>
    +
    +<span class="nc bnc" id="L52" title="All 4 branches missed.">        return now.isAfter(startDateTime) &amp;&amp; now.isBefore(endDateTime);</span>
    +    }
    +
    +    /**
    +     * 시간 비교
    +     * @param now 현재 시각
    +     * @return 참가 가능한 시간이면 true, 불가능하면 false 반환
    +     */
    +    private boolean compareTime(LocalDateTime now) {
    +<span class="nc" id="L61">        LocalDate nowDate = now.toLocalDate();</span>
    +<span class="nc" id="L62">        LocalDateTime startTimeAsDateTime = LocalDateTime.of(nowDate, drawSettingManager.getStartTime());</span>
    +<span class="nc" id="L63">        LocalDateTime endTimeAsDateTime = LocalDateTime.of(nowDate, drawSettingManager.getEndTime());</span>
    +
    +<span class="nc bnc" id="L65" title="All 4 branches missed.">        return (now.isAfter(startTimeAsDateTime) &amp;&amp; now.isBefore(endTimeAsDateTime));</span>
    +    }
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.interceptor/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.interceptor/index.html
    new file mode 100644
    index 00000000..eb1bb1fa
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.interceptor/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.draw.interceptor</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.draw.interceptor</span></div><h1>com.softeer.backend.fo_domain.draw.interceptor</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">78 of 78</td><td class="ctr2">0%</td><td class="bar">16 of 16</td><td class="ctr2">0%</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">14</td><td class="ctr2">14</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="DrawTimeCheckInterceptor.html" class="el_class">DrawTimeCheckInterceptor</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="78" alt="78"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="16" alt="16"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">12</td><td class="ctr2" id="g0">12</td><td class="ctr1" id="h0">14</td><td class="ctr2" id="i0">14</td><td class="ctr1" id="j0">4</td><td class="ctr2" id="k0">4</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.interceptor/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.interceptor/index.source.html
    new file mode 100644
    index 00000000..2c6f419e
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.interceptor/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.draw.interceptor</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.draw.interceptor</span></div><h1>com.softeer.backend.fo_domain.draw.interceptor</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">78 of 78</td><td class="ctr2">0%</td><td class="bar">16 of 16</td><td class="ctr2">0%</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">14</td><td class="ctr2">14</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="DrawTimeCheckInterceptor.java.html" class="el_source">DrawTimeCheckInterceptor.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="78" alt="78"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="16" alt="16"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">12</td><td class="ctr2" id="g0">12</td><td class="ctr1" id="h0">14</td><td class="ctr2" id="i0">14</td><td class="ctr1" id="j0">4</td><td class="ctr2" id="k0">4</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/DrawService.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/DrawService.html
    new file mode 100644
    index 00000000..edfb904d
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/DrawService.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DrawService</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.draw.service</a> &gt; <span class="el_class">DrawService</span></div><h1>DrawService</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">15 of 208</td><td class="ctr2">92%</td><td class="bar">0 of 16</td><td class="ctr2">100%</td><td class="ctr1">3</td><td class="ctr2">14</td><td class="ctr1">0</td><td class="ctr2">46</td><td class="ctr1">3</td><td class="ctr2">6</td></tr></tfoot><tbody><tr><td id="a4"><a href="DrawService.java.html#L69" class="el_method">lambda$participateDrawEvent$2()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="4" height="10" title="5" alt="5"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h0">1</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a3"><a href="DrawService.java.html#L43" class="el_method">lambda$getDrawMainPageInfo$1()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="4" height="10" title="5" alt="5"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i4">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="DrawService.java.html#L39" class="el_method">lambda$getDrawMainPageInfo$0()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="4" height="10" title="5" alt="5"/></td><td class="ctr2" id="c5">0%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i5">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a5"><a href="DrawService.java.html#L68" class="el_method">participateDrawEvent(Integer)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="123" alt="123"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="12" alt="12"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g0">7</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i0">31</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a1"><a href="DrawService.java.html#L38" class="el_method">getDrawMainPageInfo(Integer)</a></td><td class="bar" id="b4"><img src="../jacoco-resources/greenbar.gif" width="51" height="10" title="53" alt="53"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"><img src="../jacoco-resources/greenbar.gif" width="20" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i1">11</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a0"><a href="DrawService.java.html#L134" class="el_method">getDrawHistory(Integer)</a></td><td class="bar" id="b5"><img src="../jacoco-resources/greenbar.gif" width="16" height="10" title="17" alt="17"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"><img src="../jacoco-resources/greenbar.gif" width="20" height="10" title="2" alt="2"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g2">2</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i2">4</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/DrawService.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/DrawService.java.html
    new file mode 100644
    index 00000000..e63423e6
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/DrawService.java.html
    @@ -0,0 +1,145 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DrawService.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.draw.service</a> &gt; <span class="el_source">DrawService.java</span></div><h1>DrawService.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.draw.service;
    +
    +import com.softeer.backend.fo_domain.draw.domain.DrawParticipationInfo;
    +import com.softeer.backend.fo_domain.draw.dto.main.DrawMainResponseDto;
    +import com.softeer.backend.fo_domain.draw.dto.participate.DrawModalResponseDto;
    +import com.softeer.backend.fo_domain.draw.dto.result.DrawHistoryResponseDto;
    +import com.softeer.backend.fo_domain.draw.exception.DrawException;
    +import com.softeer.backend.fo_domain.draw.repository.DrawParticipationInfoRepository;
    +import com.softeer.backend.fo_domain.draw.util.DrawAttendanceCountUtil;
    +import com.softeer.backend.fo_domain.draw.util.DrawResponseGenerateUtil;
    +import com.softeer.backend.fo_domain.draw.util.DrawUtil;
    +import com.softeer.backend.fo_domain.share.domain.ShareInfo;
    +import com.softeer.backend.fo_domain.share.exception.ShareInfoException;
    +import com.softeer.backend.fo_domain.share.repository.ShareInfoRepository;
    +import com.softeer.backend.global.common.code.status.ErrorStatus;
    +import com.softeer.backend.global.util.DrawRedisUtil;
    +import lombok.RequiredArgsConstructor;
    +import org.springframework.stereotype.Service;
    +
    +@Service
    +@RequiredArgsConstructor
    +public class DrawService {
    +    private final DrawParticipationInfoRepository drawParticipationInfoRepository;
    +    private final ShareInfoRepository shareInfoRepository;
    +    private final DrawRedisUtil drawRedisUtil;
    +    private final DrawUtil drawUtil;
    +    private final DrawResponseGenerateUtil drawResponseGenerateUtil;
    +    private final DrawAttendanceCountUtil drawAttendanceCountUtil;
    +    private final DrawSettingManager drawSettingManager;
    +
    +    /**
    +     * 1. 연속 참여일수 조회
    +     * 1-1. 만약 7일 연속 참여했다면 상품 정보 응답
    +     * 1-2. 만약 7일 미만 참여라면 일반 정보 응답
    +     */
    +    public DrawMainResponseDto getDrawMainPageInfo(Integer userId) {
    +        // 참여 정보 (연속참여일수) 조회
    +<span class="fc" id="L38">        DrawParticipationInfo drawParticipationInfo = drawParticipationInfoRepository.findDrawParticipationInfoByUserId(userId)</span>
    +<span class="pc" id="L39">                .orElseThrow(() -&gt; new DrawException(ErrorStatus._NOT_FOUND));</span>
    +
    +        // 초대한 친구 수, 복권 기회 조회
    +<span class="fc" id="L42">        ShareInfo shareInfo = shareInfoRepository.findShareInfoByUserId(userId)</span>
    +<span class="pc" id="L43">                .orElseThrow(() -&gt; new ShareInfoException(ErrorStatus._NOT_FOUND));</span>
    +
    +<span class="fc" id="L45">        int drawAttendanceCount = drawAttendanceCountUtil.handleAttendanceCount(userId, drawParticipationInfo);</span>
    +<span class="fc" id="L46">        int invitedNum = shareInfo.getInvitedNum();</span>
    +<span class="fc" id="L47">        int remainDrawCount = shareInfo.getRemainDrawCount();</span>
    +
    +<span class="fc" id="L49">        System.out.println(&quot;Draw Attendance = &quot; + drawAttendanceCount);</span>
    +
    +<span class="fc bfc" id="L51" title="All 2 branches covered.">        if (drawAttendanceCount &gt;= 7) {</span>
    +            // 7일 연속 출석자라면
    +<span class="fc" id="L53">            return drawResponseGenerateUtil.generateMainFullAttendResponse(invitedNum, remainDrawCount, drawAttendanceCount % 8);</span>
    +        } else {
    +            // 연속 출석자가 아니라면
    +<span class="fc" id="L56">            return drawResponseGenerateUtil.generateMainNotAttendResponse(invitedNum, remainDrawCount, drawAttendanceCount);</span>
    +        }
    +    }
    +
    +    /**
    +     * 추첨 이벤트 당첨 로직 작성
    +     *
    +     * @param userId 사용자 아이디
    +     * @return 추첨 결과에 따른 응답 반환
    +     */
    +    public DrawModalResponseDto participateDrawEvent(Integer userId) {
    +        // 복권 기회 조회
    +<span class="fc" id="L68">        ShareInfo shareInfo = shareInfoRepository.findShareInfoByUserId(userId)</span>
    +<span class="pc" id="L69">                .orElseThrow(() -&gt; new ShareInfoException(ErrorStatus._NOT_FOUND));</span>
    +
    +        // 만약 남은 참여 기회가 0이라면
    +<span class="fc bfc" id="L72" title="All 2 branches covered.">        if (shareInfo.getRemainDrawCount() == 0) {</span>
    +<span class="fc" id="L73">            return drawResponseGenerateUtil.generateDrawLoserResponse(userId);</span>
    +        }
    +
    +<span class="fc" id="L76">        drawRedisUtil.increaseDrawParticipationCount(); // 추첨 이벤트 참여자수 증가</span>
    +<span class="fc" id="L77">        shareInfoRepository.decreaseRemainDrawCount(userId); // 횟수 1회 차감</span>
    +
    +        // 만약 당첨 목록에 존재한다면 이미 오늘은 한 번 당첨됐다는 뜻이므로 LoseModal 반환
    +<span class="fc" id="L80">        int ranking = drawRedisUtil.getRankingIfWinner(userId); // 당첨 목록에 존재한다면 랭킹 반환</span>
    +<span class="fc bfc" id="L81" title="All 2 branches covered.">        if (ranking != 0) {</span>
    +<span class="fc" id="L82">            drawParticipationInfoRepository.increaseLoseCount(userId);  // 낙첨 횟수 증가</span>
    +<span class="fc" id="L83">            return drawResponseGenerateUtil.generateDrawLoserResponse(userId); // LoseModal 반환</span>
    +        }
    +
    +        // 당첨자 수 조회
    +<span class="fc" id="L87">        int first = drawSettingManager.getWinnerNum1(); // 1등 수</span>
    +<span class="fc" id="L88">        int second = drawSettingManager.getWinnerNum2(); // 2등 수</span>
    +<span class="fc" id="L89">        int third = drawSettingManager.getWinnerNum3(); // 3등 수</span>
    +
    +        // 당첨자 수 설정
    +<span class="fc" id="L92">        drawUtil.setFirst(first);</span>
    +<span class="fc" id="L93">        drawUtil.setSecond(second);</span>
    +<span class="fc" id="L94">        drawUtil.setThird(third);</span>
    +
    +        // 추첨 로직 실행
    +<span class="fc" id="L97">        drawUtil.performDraw();</span>
    +
    +<span class="fc bfc" id="L99" title="All 2 branches covered.">        if (drawUtil.isDrawWin()) { // 당첨자일 경우</span>
    +<span class="fc" id="L100">            ranking = drawUtil.getRanking();</span>
    +            int winnerNum;
    +<span class="fc bfc" id="L102" title="All 2 branches covered.">            if (ranking == 1) {</span>
    +<span class="fc" id="L103">                winnerNum = first;</span>
    +<span class="fc bfc" id="L104" title="All 2 branches covered.">            } else if (ranking == 2) {</span>
    +<span class="fc" id="L105">                winnerNum = second;</span>
    +            } else {
    +<span class="fc" id="L107">                winnerNum = third;</span>
    +            }
    +
    +<span class="fc bfc" id="L110" title="All 2 branches covered.">            if (drawRedisUtil.isWinner(userId, ranking, winnerNum)) { // 레디스에 추첨 티켓이 남았다면, 레디스 당첨 목록에 추가</span>
    +                // 추첨 티켓이 다 팔리지 않았다면
    +<span class="fc" id="L112">                drawParticipationInfoRepository.increaseWinCount(userId); // 당첨 횟수 증가</span>
    +<span class="fc" id="L113">                return drawResponseGenerateUtil.generateDrawWinnerResponse(ranking); // WinModal 반환</span>
    +            } else {
    +                // 추첨 티켓이 다 팔렸다면 로직상 당첨자라도 실패 반환
    +<span class="fc" id="L116">                drawParticipationInfoRepository.increaseLoseCount(userId);  // 낙첨 횟수 증가</span>
    +<span class="fc" id="L117">                return drawResponseGenerateUtil.generateDrawLoserResponse(userId); // LoseModal 반환</span>
    +            }
    +        } else { // 낙첨자일 경우
    +<span class="fc" id="L120">            drawParticipationInfoRepository.increaseLoseCount(userId);  // 낙첨 횟수 증가</span>
    +<span class="fc" id="L121">            return drawResponseGenerateUtil.generateDrawLoserResponse(userId); // LoseModal 반환</span>
    +        }
    +    }
    +
    +    /**
    +     * 당첨 내역 조회하는 메서드
    +     * 1. 당첨자라면 WinModal과 같은 당첨 내역 모달 응답
    +     * 2. 낙첨자라면 LoseModal과 같은 공유 url 모달 응답
    +     *
    +     * @param userId 사용자 아이디
    +     * @return 당첨 내역에 따른 응답
    +     */
    +    public DrawHistoryResponseDto getDrawHistory(Integer userId) {
    +<span class="fc" id="L134">        int ranking = drawRedisUtil.getRankingIfWinner(userId);</span>
    +
    +<span class="fc bfc" id="L136" title="All 2 branches covered.">        if (ranking != 0) {</span>
    +            // 당첨자라면
    +<span class="fc" id="L138">            return drawResponseGenerateUtil.generateDrawHistoryWinnerResponse(ranking);</span>
    +        }
    +
    +        // 당첨자가 아니라면
    +<span class="fc" id="L142">        return drawResponseGenerateUtil.generateDrawHistoryLoserResponse(userId);</span>
    +    }
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/DrawSettingManager.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/DrawSettingManager.html
    new file mode 100644
    index 00000000..097690ec
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/DrawSettingManager.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DrawSettingManager</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.draw.service</a> &gt; <span class="el_class">DrawSettingManager</span></div><h1>DrawSettingManager</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">78 of 78</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">18</td><td class="ctr2">18</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a0"><a href="DrawSettingManager.java.html#L44" class="el_method">initializeDrawSettingManager()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="41" alt="41"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">10</td><td class="ctr2" id="i0">10</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="DrawSettingManager.java.html#L57" class="el_method">setDrawSetting(DrawSetting)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="93" height="10" title="32" alt="32"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">8</td><td class="ctr2" id="i1">8</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a1"><a href="DrawSettingManager.java.html#L45" class="el_method">lambda$initializeDrawSettingManager$0()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="14" height="10" title="5" alt="5"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/DrawSettingManager.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/DrawSettingManager.java.html
    new file mode 100644
    index 00000000..a30aa7c3
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/DrawSettingManager.java.html
    @@ -0,0 +1,68 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DrawSettingManager.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.draw.service</a> &gt; <span class="el_source">DrawSettingManager.java</span></div><h1>DrawSettingManager.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.draw.service;
    +
    +import com.softeer.backend.fo_domain.draw.domain.DrawSetting;
    +import com.softeer.backend.fo_domain.draw.exception.DrawException;
    +import com.softeer.backend.fo_domain.draw.repository.DrawRepository;
    +import com.softeer.backend.fo_domain.draw.repository.DrawSettingRepository;
    +import com.softeer.backend.fo_domain.user.repository.UserRepository;
    +import com.softeer.backend.global.common.code.status.ErrorStatus;
    +import com.softeer.backend.global.util.DrawRedisUtil;
    +import com.softeer.backend.global.util.EventLockRedisUtil;
    +import jakarta.annotation.PostConstruct;
    +import lombok.Getter;
    +import lombok.RequiredArgsConstructor;
    +import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
    +import org.springframework.stereotype.Component;
    +
    +import java.time.LocalDate;
    +import java.time.LocalTime;
    +
    +@Getter
    +@Component
    +@RequiredArgsConstructor
    +public class DrawSettingManager {
    +    private final DrawRepository drawRepository;
    +    private final DrawSettingRepository drawSettingRepository;
    +    private final ThreadPoolTaskScheduler taskScheduler;
    +    private final EventLockRedisUtil eventLockRedisUtil;
    +    private final DrawRedisUtil drawRedisUtil;
    +    private final UserRepository userRepository;
    +
    +    private LocalDate startDate;
    +    private LocalDate endDate;
    +    private LocalTime startTime;
    +    private LocalTime endTime;
    +    private int winnerNum1;
    +    private int winnerNum2;
    +    private int winnerNum3;
    +
    +    // @PostConstruct로 생성됐을 시 세팅정보 가져오기
    +    // 스케줄러로 01:00:00에 redis 임시 목록 삭제하기
    +
    +    @PostConstruct
    +    public void initializeDrawSettingManager() {
    +<span class="nc" id="L44">        DrawSetting drawSetting = drawSettingRepository.findById(1)</span>
    +<span class="nc" id="L45">                .orElseThrow(() -&gt; new DrawException(ErrorStatus._NOT_FOUND));</span>
    +
    +<span class="nc" id="L47">        startDate = drawSetting.getStartDate();</span>
    +<span class="nc" id="L48">        endDate = drawSetting.getEndDate();</span>
    +<span class="nc" id="L49">        startTime = drawSetting.getStartTime();</span>
    +<span class="nc" id="L50">        endTime = drawSetting.getEndTime();</span>
    +<span class="nc" id="L51">        winnerNum1 = drawSetting.getWinnerNum1();</span>
    +<span class="nc" id="L52">        winnerNum2 = drawSetting.getWinnerNum2();</span>
    +<span class="nc" id="L53">        winnerNum3 = drawSetting.getWinnerNum3();</span>
    +<span class="nc" id="L54">    }</span>
    +
    +    public void setDrawSetting(DrawSetting drawSetting) {
    +<span class="nc" id="L57">        this.startDate = drawSetting.getStartDate();</span>
    +<span class="nc" id="L58">        this.endDate = drawSetting.getEndDate();</span>
    +<span class="nc" id="L59">        this.startTime = drawSetting.getStartTime();</span>
    +<span class="nc" id="L60">        this.endTime = drawSetting.getEndTime();</span>
    +
    +<span class="nc" id="L62">        this.winnerNum1 = drawSetting.getWinnerNum1();</span>
    +<span class="nc" id="L63">        this.winnerNum2 = drawSetting.getWinnerNum2();</span>
    +<span class="nc" id="L64">        this.winnerNum3 = drawSetting.getWinnerNum3();</span>
    +<span class="nc" id="L65">    }</span>
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/index.html
    new file mode 100644
    index 00000000..226b4433
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.draw.service</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.draw.service</span></div><h1>com.softeer.backend.fo_domain.draw.service</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">93 of 286</td><td class="ctr2">67%</td><td class="bar">0 of 16</td><td class="ctr2">100%</td><td class="ctr1">6</td><td class="ctr2">17</td><td class="ctr1">18</td><td class="ctr2">64</td><td class="ctr1">6</td><td class="ctr2">9</td><td class="ctr1">1</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="DrawSettingManager.html" class="el_class">DrawSettingManager</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="45" height="10" title="78" alt="78"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h0">18</td><td class="ctr2" id="i1">18</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k1">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="DrawService.html" class="el_class">DrawService</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="8" height="10" title="15" alt="15"/><img src="../jacoco-resources/greenbar.gif" width="111" height="10" title="193" alt="193"/></td><td class="ctr2" id="c0">92%</td><td class="bar" id="d0"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="16" alt="16"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f1">3</td><td class="ctr2" id="g0">14</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i0">46</td><td class="ctr1" id="j1">3</td><td class="ctr2" id="k0">6</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/index.source.html
    new file mode 100644
    index 00000000..39de8b6c
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.draw.service</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.draw.service</span></div><h1>com.softeer.backend.fo_domain.draw.service</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">93 of 286</td><td class="ctr2">67%</td><td class="bar">0 of 16</td><td class="ctr2">100%</td><td class="ctr1">6</td><td class="ctr2">17</td><td class="ctr1">18</td><td class="ctr2">64</td><td class="ctr1">6</td><td class="ctr2">9</td><td class="ctr1">1</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="DrawSettingManager.java.html" class="el_source">DrawSettingManager.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="45" height="10" title="78" alt="78"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h0">18</td><td class="ctr2" id="i1">18</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k1">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="DrawService.java.html" class="el_source">DrawService.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="8" height="10" title="15" alt="15"/><img src="../jacoco-resources/greenbar.gif" width="111" height="10" title="193" alt="193"/></td><td class="ctr2" id="c0">92%</td><td class="bar" id="d0"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="16" alt="16"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f1">3</td><td class="ctr2" id="g0">14</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i0">46</td><td class="ctr1" id="j1">3</td><td class="ctr2" id="k0">6</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawAttendanceCountUtil.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawAttendanceCountUtil.html
    new file mode 100644
    index 00000000..fd8eefef
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawAttendanceCountUtil.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DrawAttendanceCountUtil</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.draw.util</a> &gt; <span class="el_class">DrawAttendanceCountUtil</span></div><h1>DrawAttendanceCountUtil</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">109 of 109</td><td class="ctr2">0%</td><td class="bar">14 of 14</td><td class="ctr2">0%</td><td class="ctr1">10</td><td class="ctr2">10</td><td class="ctr1">23</td><td class="ctr2">23</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a0"><a href="DrawAttendanceCountUtil.java.html#L27" class="el_method">handleAttendanceCount(Integer, DrawParticipationInfo)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="59" alt="59"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="6" alt="6"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">15</td><td class="ctr2" id="i0">15</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="DrawAttendanceCountUtil.java.html#L72" class="el_method">isContinuousAttendance(LocalDateTime)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="52" height="10" title="26" alt="26"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="80" height="10" title="4" alt="4"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f1">3</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h1">4</td><td class="ctr2" id="i1">4</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="DrawAttendanceCountUtil.java.html#L86" class="el_method">isLastAttendanceToday(LocalDateTime)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="48" height="10" title="24" alt="24"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"><img src="../jacoco-resources/redbar.gif" width="80" height="10" title="4" alt="4"/></td><td class="ctr2" id="e2">0%</td><td class="ctr1" id="f2">3</td><td class="ctr2" id="g2">3</td><td class="ctr1" id="h2">4</td><td class="ctr2" id="i2">4</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawAttendanceCountUtil.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawAttendanceCountUtil.java.html
    new file mode 100644
    index 00000000..546bc54a
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawAttendanceCountUtil.java.html
    @@ -0,0 +1,93 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DrawAttendanceCountUtil.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.draw.util</a> &gt; <span class="el_source">DrawAttendanceCountUtil.java</span></div><h1>DrawAttendanceCountUtil.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.draw.util;
    +
    +import com.softeer.backend.fo_domain.draw.domain.DrawParticipationInfo;
    +import com.softeer.backend.fo_domain.draw.repository.DrawParticipationInfoRepository;
    +import lombok.RequiredArgsConstructor;
    +import org.springframework.stereotype.Component;
    +
    +import java.time.LocalDateTime;
    +import java.time.LocalTime;
    +
    +@Component
    +@RequiredArgsConstructor
    +public class DrawAttendanceCountUtil {
    +    private final DrawParticipationInfoRepository drawParticipationInfoRepository;
    +
    +    /**
    +     * 연속 출석인지 판단
    +     * 1. 연속 출석이면 연속 출석일수 1 증가하여 DB에 업데이트
    +     * 2. 연속 출석이 아니면 DB에 연속 출석일수 1로 초기화
    +     * 3. 현재 출석시각을 마지막 출석시각으로 DB에 업데이트
    +     *
    +     * @param userId                사용자 아이디
    +     * @param drawParticipationInfo 참여 정보
    +     * @return 연속출석 일수 반환
    +     */
    +    public int handleAttendanceCount(Integer userId, DrawParticipationInfo drawParticipationInfo) {
    +<span class="nc" id="L27">        LocalDateTime lastAttendance = drawParticipationInfo.getLastAttendance();</span>
    +
    +        // 한 번도 접속한 적이 없는 사람이라면
    +<span class="nc bnc" id="L30" title="All 2 branches missed.">        if (lastAttendance == null) {</span>
    +            // 연속출석일수 1로 초기화
    +<span class="nc" id="L32">            drawParticipationInfoRepository.setAttendanceCountToOne(userId);</span>
    +
    +            // lastAttendance를 현재 시각으로 설정
    +<span class="nc" id="L35">            drawParticipationInfoRepository.setLastAttendance(userId, LocalDateTime.now());</span>
    +
    +<span class="nc" id="L37">            return 1;</span>
    +        }
    +
    +        // 마지막 접속 시간이 오늘이라면 false 반환
    +<span class="nc bnc" id="L41" title="All 2 branches missed.">        if (isLastAttendanceToday(lastAttendance)) {</span>
    +            // lastAttendance를 현재 시각으로 설정
    +<span class="nc" id="L43">            drawParticipationInfoRepository.setLastAttendance(userId, LocalDateTime.now());</span>
    +
    +<span class="nc" id="L45">            return drawParticipationInfo.getDrawAttendanceCount();</span>
    +        }
    +
    +<span class="nc bnc" id="L48" title="All 2 branches missed.">        if (isContinuousAttendance(lastAttendance)) {</span>
    +            // 연속 출석이라면 연속출석일수 1 증가
    +<span class="nc" id="L50">            drawParticipationInfoRepository.increaseAttendanceCount(userId);</span>
    +
    +            // lastAttendance를 현재 시각으로 설정
    +<span class="nc" id="L53">            drawParticipationInfoRepository.setLastAttendance(userId, LocalDateTime.now());</span>
    +<span class="nc" id="L54">            return drawParticipationInfo.getDrawAttendanceCount() + 1;</span>
    +        } else {
    +            // 연속출석이 아니라면 연속출석일수 1로 초기화
    +<span class="nc" id="L57">            drawParticipationInfoRepository.setAttendanceCountToOne(userId);</span>
    +
    +            // lastAttendance를 현재 시각으로 설정
    +<span class="nc" id="L60">            drawParticipationInfoRepository.setLastAttendance(userId, LocalDateTime.now());</span>
    +<span class="nc" id="L61">            return 1;</span>
    +        }
    +    }
    +
    +    /**
    +     * 연속 출석인지 판단
    +     *
    +     * @param lastAttendance 마지막 출석 날짜
    +     * @return 연속 출석이면 true, 연속출석이 아니면 false 반환
    +     */
    +    private boolean isContinuousAttendance(LocalDateTime lastAttendance) {
    +<span class="nc" id="L72">        LocalDateTime now = LocalDateTime.now();</span>
    +<span class="nc" id="L73">        LocalDateTime startDateTime = lastAttendance.plusDays(1).with(LocalTime.MIDNIGHT); // 마지막 접속일자의 다음날 자정</span>
    +<span class="nc" id="L74">        LocalDateTime endDateTime = lastAttendance.plusDays(2).with(LocalTime.MIDNIGHT); // 마지막 접속일자의 2일 후 자정</span>
    +
    +<span class="nc bnc" id="L76" title="All 4 branches missed.">        return (now.isAfter(startDateTime) &amp;&amp; now.isBefore(endDateTime));</span>
    +    }
    +
    +    /**
    +     * 마지막 출석 시간이 오늘인지 판단
    +     *
    +     * @param lastAttendance 마지막 출석 날짜
    +     * @return 마지막 출석 시간이 오늘이면 true, 아니면 false 반환
    +     */
    +    private boolean isLastAttendanceToday(LocalDateTime lastAttendance) {
    +<span class="nc" id="L86">        LocalDateTime now = LocalDateTime.now();</span>
    +<span class="nc" id="L87">        LocalDateTime startDateTime = lastAttendance.with(LocalTime.MIDNIGHT);</span>
    +<span class="nc" id="L88">        LocalDateTime endDateTime = lastAttendance.plusDays(1).with(LocalTime.MIDNIGHT);</span>
    +
    +<span class="nc bnc" id="L90" title="All 4 branches missed.">        return (now.isAfter(startDateTime) &amp;&amp; now.isBefore(endDateTime));</span>
    +    }
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawModalGenerateUtil.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawModalGenerateUtil.html
    new file mode 100644
    index 00000000..73b189c2
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawModalGenerateUtil.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DrawModalGenerateUtil</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.draw.util</a> &gt; <span class="el_class">DrawModalGenerateUtil</span></div><h1>DrawModalGenerateUtil</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">142 of 142</td><td class="ctr2">0%</td><td class="bar">6 of 6</td><td class="ctr2">0%</td><td class="ctr1">8</td><td class="ctr2">8</td><td class="ctr1">33</td><td class="ctr2">33</td><td class="ctr1">5</td><td class="ctr2">5</td></tr></tfoot><tbody><tr><td id="a4"><a href="DrawModalGenerateUtil.java.html#L25" class="el_method">generateWinModal(int)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="37" alt="37"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="6" alt="6"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">9</td><td class="ctr2" id="i0">9</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="DrawModalGenerateUtil.java.html#L56" class="el_method">generateSecondWinModal(Map, Map)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="87" height="10" title="27" alt="27"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">6</td><td class="ctr2" id="i1">6</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a3"><a href="DrawModalGenerateUtil.java.html#L68" class="el_method">generateThirdWinModal(Map, Map)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="87" height="10" title="27" alt="27"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">6</td><td class="ctr2" id="i2">6</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a1"><a href="DrawModalGenerateUtil.java.html#L82" class="el_method">generateFullAttendModal(Map, Map)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="87" height="10" title="27" alt="27"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">6</td><td class="ctr2" id="i3">6</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a0"><a href="DrawModalGenerateUtil.java.html#L44" class="el_method">generateFirstWinModal(Map, Map)</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="77" height="10" title="24" alt="24"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">6</td><td class="ctr2" id="i4">6</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawModalGenerateUtil.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawModalGenerateUtil.java.html
    new file mode 100644
    index 00000000..d01c8d42
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawModalGenerateUtil.java.html
    @@ -0,0 +1,90 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DrawModalGenerateUtil.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.draw.util</a> &gt; <span class="el_source">DrawModalGenerateUtil.java</span></div><h1>DrawModalGenerateUtil.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.draw.util;
    +
    +import com.softeer.backend.fo_domain.draw.dto.modal.WinModal;
    +import com.softeer.backend.global.staticresources.constant.S3FileName;
    +import com.softeer.backend.global.staticresources.constant.StaticTextName;
    +import com.softeer.backend.global.staticresources.util.StaticResourceUtil;
    +import lombok.RequiredArgsConstructor;
    +import org.springframework.cache.annotation.Cacheable;
    +import org.springframework.stereotype.Component;
    +
    +import java.util.Map;
    +
    +@Component
    +@RequiredArgsConstructor
    +public class DrawModalGenerateUtil {
    +
    +    private final StaticResourceUtil staticResourceUtil;
    +
    +    /**
    +     * @return 등수에 따른 WinModal을 반환
    +     */
    +    @Cacheable(value = &quot;staticResources&quot;, key = &quot;'draw_modal_' + #ranking&quot;)
    +    public WinModal generateWinModal(int ranking) {
    +
    +<span class="nc" id="L25">        Map&lt;String, String&gt; textContentMap = staticResourceUtil.getTextContentMap();</span>
    +<span class="nc" id="L26">        Map&lt;String, String&gt; s3ContentMap = staticResourceUtil.getS3ContentMap();</span>
    +
    +<span class="nc bnc" id="L28" title="All 2 branches missed.">        if (ranking == 1) {</span>
    +<span class="nc" id="L29">            return generateFirstWinModal(textContentMap, s3ContentMap);</span>
    +<span class="nc bnc" id="L30" title="All 2 branches missed.">        } else if (ranking == 2) {</span>
    +<span class="nc" id="L31">            return generateSecondWinModal(textContentMap, s3ContentMap);</span>
    +<span class="nc bnc" id="L32" title="All 2 branches missed.">        } else if (ranking == 3) {</span>
    +<span class="nc" id="L33">            return generateThirdWinModal(textContentMap, s3ContentMap);</span>
    +        } else {
    +<span class="nc" id="L35">            return generateFullAttendModal(textContentMap, s3ContentMap);</span>
    +        }
    +    }
    +
    +    /**
    +     * @return 1등 WinModal 반환
    +     */
    +
    +    private WinModal generateFirstWinModal(Map&lt;String, String&gt; textContentMap, Map&lt;String, String&gt; s3ContentMap) {
    +<span class="nc" id="L44">        return WinModal.builder()</span>
    +<span class="nc" id="L45">                .title(textContentMap.get(StaticTextName.DRAW_WINNER_MODAL_TITLE.name()))</span>
    +<span class="nc" id="L46">                .subtitle(textContentMap.get(StaticTextName.DRAW_FIRST_WINNER_SUBTITLE.name()))</span>
    +<span class="nc" id="L47">                .img(s3ContentMap.get(S3FileName.DRAW_REWARD_IMAGE_1.name()))</span>
    +<span class="nc" id="L48">                .description(StaticTextName.DRAW_WINNER_MODAL_DESCRIPTION.name())</span>
    +<span class="nc" id="L49">                .build();</span>
    +    }
    +
    +    /**
    +     * @return 2등 WinModal 반환
    +     */
    +    private WinModal generateSecondWinModal(Map&lt;String, String&gt; textContentMap, Map&lt;String, String&gt; s3ContentMap) {
    +<span class="nc" id="L56">        return WinModal.builder()</span>
    +<span class="nc" id="L57">                .title(textContentMap.get(StaticTextName.DRAW_WINNER_MODAL_TITLE.name()))</span>
    +<span class="nc" id="L58">                .subtitle(textContentMap.get(StaticTextName.DRAW_SECOND_WINNER_SUBTITLE.name()))</span>
    +<span class="nc" id="L59">                .img(s3ContentMap.get(S3FileName.DRAW_REWARD_IMAGE_2.name()))</span>
    +<span class="nc" id="L60">                .description(textContentMap.get(StaticTextName.DRAW_WINNER_MODAL_DESCRIPTION.name()))</span>
    +<span class="nc" id="L61">                .build();</span>
    +    }
    +
    +    /**
    +     * @return 3등 WinModal 반환
    +     */
    +    private WinModal generateThirdWinModal(Map&lt;String, String&gt; textContentMap, Map&lt;String, String&gt; s3ContentMap) {
    +<span class="nc" id="L68">        return WinModal.builder()</span>
    +<span class="nc" id="L69">                .title(textContentMap.get(StaticTextName.DRAW_WINNER_MODAL_TITLE.name()))</span>
    +<span class="nc" id="L70">                .subtitle(textContentMap.get(StaticTextName.DRAW_THIRD_WINNER_SUBTITLE.name()))</span>
    +<span class="nc" id="L71">                .img(s3ContentMap.get(S3FileName.DRAW_REWARD_IMAGE_3.name()))</span>
    +<span class="nc" id="L72">                .description(textContentMap.get(StaticTextName.DRAW_WINNER_MODAL_DESCRIPTION.name()))</span>
    +<span class="nc" id="L73">                .build();</span>
    +    }
    +
    +    /**
    +     * 7일 연속 출석자 상품 정보 반환 메서드
    +     *
    +     * @return FullAttendModal 반환
    +     */
    +    public WinModal generateFullAttendModal(Map&lt;String, String&gt; textContentMap, Map&lt;String, String&gt; s3ContentMap) {
    +<span class="nc" id="L82">        return WinModal.builder()</span>
    +<span class="nc" id="L83">                .title(textContentMap.get(StaticTextName.FULL_ATTEND_MODAL_TITLE.name()))</span>
    +<span class="nc" id="L84">                .subtitle(textContentMap.get(StaticTextName.FULL_ATTEND_MODAL_SUBTITLE.name()))</span>
    +<span class="nc" id="L85">                .img(s3ContentMap.get(S3FileName.ATTENDANCE_REWARD_IMAGE.name()))</span>
    +<span class="nc" id="L86">                .description(textContentMap.get(StaticTextName.FULL_ATTEND_MODAL_DESCRIPTION.name()))</span>
    +<span class="nc" id="L87">                .build();</span>
    +    }
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawResponseGenerateUtil.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawResponseGenerateUtil.html
    new file mode 100644
    index 00000000..fdd310d8
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawResponseGenerateUtil.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DrawResponseGenerateUtil</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.draw.util</a> &gt; <span class="el_class">DrawResponseGenerateUtil</span></div><h1>DrawResponseGenerateUtil</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">92 of 92</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">8</td><td class="ctr2">8</td><td class="ctr1">31</td><td class="ctr2">31</td><td class="ctr1">8</td><td class="ctr2">8</td></tr></tfoot><tbody><tr><td id="a4"><a href="DrawResponseGenerateUtil.java.html#L34" class="el_method">generateMainFullAttendResponse(int, int, int)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="17" alt="17"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">6</td><td class="ctr2" id="i0">6</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a3"><a href="DrawResponseGenerateUtil.java.html#L78" class="el_method">generateDrawWinnerResponse(int)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="112" height="10" title="16" alt="16"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">5</td><td class="ctr2" id="i1">5</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="DrawResponseGenerateUtil.java.html#L65" class="el_method">generateDrawLoserResponse(Integer)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="105" height="10" title="15" alt="15"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">5</td><td class="ctr2" id="i2">5</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a1"><a href="DrawResponseGenerateUtil.java.html#L91" class="el_method">generateDrawHistoryWinnerResponse(int)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="77" height="10" title="11" alt="11"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h4">4</td><td class="ctr2" id="i4">4</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a0"><a href="DrawResponseGenerateUtil.java.html#L103" class="el_method">generateDrawHistoryLoserResponse(Integer)</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="70" height="10" title="10" alt="10"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h5">4</td><td class="ctr2" id="i5">4</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a5"><a href="DrawResponseGenerateUtil.java.html#L51" class="el_method">generateMainNotAttendResponse(int, int, int)</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="63" height="10" title="9" alt="9"/></td><td class="ctr2" id="c5">0%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">1</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h3">5</td><td class="ctr2" id="i3">5</td><td class="ctr1" id="j5">1</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a6"><a href="DrawResponseGenerateUtil.java.html#L116" class="el_method">getShareUrl(Integer)</a></td><td class="bar" id="b6"><img src="../jacoco-resources/redbar.gif" width="63" height="10" title="9" alt="9"/></td><td class="ctr2" id="c6">0%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">1</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h6">2</td><td class="ctr2" id="i6">2</td><td class="ctr1" id="j6">1</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a7"><a href="DrawResponseGenerateUtil.java.html#L117" class="el_method">lambda$getShareUrl$0()</a></td><td class="bar" id="b7"><img src="../jacoco-resources/redbar.gif" width="35" height="10" title="5" alt="5"/></td><td class="ctr2" id="c7">0%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">1</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h7">1</td><td class="ctr2" id="i7">1</td><td class="ctr1" id="j7">1</td><td class="ctr2" id="k7">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawResponseGenerateUtil.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawResponseGenerateUtil.java.html
    new file mode 100644
    index 00000000..b4ab65e9
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawResponseGenerateUtil.java.html
    @@ -0,0 +1,120 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DrawResponseGenerateUtil.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.draw.util</a> &gt; <span class="el_source">DrawResponseGenerateUtil.java</span></div><h1>DrawResponseGenerateUtil.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.draw.util;
    +
    +import com.softeer.backend.fo_domain.draw.dto.main.DrawMainFullAttendResponseDto;
    +import com.softeer.backend.fo_domain.draw.dto.main.DrawMainResponseDto;
    +import com.softeer.backend.fo_domain.draw.dto.participate.DrawLoseModalResponseDto;
    +import com.softeer.backend.fo_domain.draw.dto.participate.DrawWinModalResponseDto;
    +import com.softeer.backend.fo_domain.draw.dto.result.DrawHistoryLoserResponseDto;
    +import com.softeer.backend.fo_domain.draw.dto.result.DrawHistoryWinnerResponseDto;
    +import com.softeer.backend.fo_domain.share.exception.ShareUrlInfoException;
    +import com.softeer.backend.fo_domain.share.repository.ShareUrlInfoRepository;
    +import com.softeer.backend.global.common.code.status.ErrorStatus;
    +import lombok.RequiredArgsConstructor;
    +import org.springframework.stereotype.Component;
    +
    +@Component
    +@RequiredArgsConstructor
    +public class DrawResponseGenerateUtil {
    +    public static final String BASE_URL = &quot;https://softeer.shop/share/&quot;;
    +
    +    private final ShareUrlInfoRepository shareUrlInfoRepository;
    +    private final DrawUtil drawUtil;
    +    private final DrawModalGenerateUtil drawModalGenerateUtil;
    +
    +
    +    /**
    +     * 7일 연속 출석 시 상품 정보 모달 만들어서 반환하는 메서드
    +     *
    +     * @param invitedNum             초대한 사람 수
    +     * @param remainDrawCount        남은 추첨 기회
    +     * @param drawAttendanceCount 연속 출석 일수
    +     * @return 7일 연속 출석 상품 모달
    +     */
    +    public DrawMainFullAttendResponseDto generateMainFullAttendResponse(int invitedNum, int remainDrawCount, int drawAttendanceCount) {
    +<span class="nc" id="L34">        return DrawMainFullAttendResponseDto.builder()</span>
    +<span class="nc" id="L35">                .invitedNum(invitedNum)</span>
    +<span class="nc" id="L36">                .remainDrawCount(remainDrawCount)</span>
    +<span class="nc" id="L37">                .drawAttendanceCount(drawAttendanceCount)</span>
    +<span class="nc" id="L38">                .fullAttendModal(drawModalGenerateUtil.generateWinModal(7))</span>
    +<span class="nc" id="L39">                .build();</span>
    +    }
    +
    +    /**
    +     * 7일 미만 출석 시 모달 만들어서 반환하는 메서드
    +     *
    +     * @param invitedNum             초대한 사람 수
    +     * @param remainDrawCount        남은 추첨 기회
    +     * @param drawAttendanceCount 연속 출석 일수
    +     * @return 7일 미만 출석 상품 모달
    +     */
    +    public DrawMainResponseDto generateMainNotAttendResponse(int invitedNum, int remainDrawCount, int drawAttendanceCount) {
    +<span class="nc" id="L51">        return DrawMainResponseDto.builder()</span>
    +<span class="nc" id="L52">                .invitedNum(invitedNum)</span>
    +<span class="nc" id="L53">                .remainDrawCount(remainDrawCount)</span>
    +<span class="nc" id="L54">                .drawAttendanceCount(drawAttendanceCount)</span>
    +<span class="nc" id="L55">                .build();</span>
    +    }
    +
    +    /**
    +     * 낙첨자 응답 만들어서 반환
    +     *
    +     * @param userId 를 이용하여 공유 url 조회
    +     * @return 낙첨자 응답
    +     */
    +    public DrawLoseModalResponseDto generateDrawLoserResponse(Integer userId) {
    +<span class="nc" id="L65">        return DrawLoseModalResponseDto.builder()</span>
    +<span class="nc" id="L66">                .isDrawWin(false)</span>
    +<span class="nc" id="L67">                .images(drawUtil.generateLoseImages())</span>
    +<span class="nc" id="L68">                .shareUrl(getShareUrl(userId))</span>
    +<span class="nc" id="L69">                .build();</span>
    +    }
    +
    +    /**
    +     * 당첨자 응답 만들어서 반환
    +     *
    +     * @return 당첨자 응답
    +     */
    +    public DrawWinModalResponseDto generateDrawWinnerResponse(int ranking) {
    +<span class="nc" id="L78">        return DrawWinModalResponseDto.builder()</span>
    +<span class="nc" id="L79">                .isDrawWin(true)</span>
    +<span class="nc" id="L80">                .images(drawUtil.generateWinImages())</span>
    +<span class="nc" id="L81">                .winModal(drawModalGenerateUtil.generateWinModal(ranking))</span>
    +<span class="nc" id="L82">                .build();</span>
    +    }
    +
    +    /**
    +     * 당첨내역이 있는 경우 당첨 내역 응답 만들어서 반환
    +     * @param ranking 등수
    +     * @return 당첨 내역 응답
    +     */
    +    public DrawHistoryWinnerResponseDto generateDrawHistoryWinnerResponse(int ranking) {
    +<span class="nc" id="L91">        return DrawHistoryWinnerResponseDto.builder()</span>
    +<span class="nc" id="L92">                .isDrawWin(true)</span>
    +<span class="nc" id="L93">                .winModal(drawModalGenerateUtil.generateWinModal(ranking))</span>
    +<span class="nc" id="L94">                .build();</span>
    +    }
    +
    +    /**
    +     * 당첨내역이 없는 경우 낙첨 응답 만들어서 반환
    +     * @param userId 사용자 아이디
    +     * @return 낙첨 내역 응답
    +     */
    +    public DrawHistoryLoserResponseDto generateDrawHistoryLoserResponse(Integer userId) {
    +<span class="nc" id="L103">        return DrawHistoryLoserResponseDto.builder()</span>
    +<span class="nc" id="L104">                .isDrawWin(false)</span>
    +<span class="nc" id="L105">                .shareUrl(getShareUrl(userId))</span>
    +<span class="nc" id="L106">                .build();</span>
    +    }
    +
    +    /**
    +     * 공유 url 조회
    +     *
    +     * @param userId 사용자 아이디
    +     * @return 공유 url
    +     */
    +    private String getShareUrl(Integer userId) {
    +<span class="nc" id="L116">        return BASE_URL + shareUrlInfoRepository.findShareUrlByUserId(userId)</span>
    +<span class="nc" id="L117">                .orElseThrow(() -&gt; new ShareUrlInfoException(ErrorStatus._NOT_FOUND));</span>
    +    }
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawUtil.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawUtil.html
    new file mode 100644
    index 00000000..1fbec618
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawUtil.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DrawUtil</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.draw.util</a> &gt; <span class="el_class">DrawUtil</span></div><h1>DrawUtil</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">172 of 172</td><td class="ctr2">0%</td><td class="bar">16 of 16</td><td class="ctr2">0%</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">41</td><td class="ctr2">41</td><td class="ctr1">4</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a0"><a href="DrawUtil.java.html#L79" class="el_method">generateLoseImages()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="52" alt="52"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d2"><img src="../jacoco-resources/redbar.gif" width="80" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f2">3</td><td class="ctr2" id="g2">3</td><td class="ctr1" id="h1">11</td><td class="ctr2" id="i1">11</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a3"><a href="DrawUtil.java.html#L43" class="el_method">performDraw()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="99" height="10" title="43" alt="43"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="6" alt="6"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">12</td><td class="ctr2" id="i0">12</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="DrawUtil.java.html#L104" class="el_method">getImageUrl(int)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="94" height="10" title="41" alt="41"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="6" alt="6"/></td><td class="ctr2" id="e2">0%</td><td class="ctr1" id="f1">4</td><td class="ctr2" id="g1">4</td><td class="ctr1" id="h2">9</td><td class="ctr2" id="i2">9</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a1"><a href="DrawUtil.java.html#L62" class="el_method">generateWinImages()</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="83" height="10" title="36" alt="36"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">9</td><td class="ctr2" id="i3">9</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawUtil.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawUtil.java.html
    new file mode 100644
    index 00000000..daf1b7f2
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawUtil.java.html
    @@ -0,0 +1,119 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DrawUtil.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.draw.util</a> &gt; <span class="el_source">DrawUtil.java</span></div><h1>DrawUtil.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.draw.util;
    +
    +import com.softeer.backend.fo_domain.fcfs.service.FcfsService;
    +import com.softeer.backend.global.staticresources.constant.S3FileName;
    +import com.softeer.backend.global.staticresources.repository.S3ContentRepository;
    +import com.softeer.backend.global.staticresources.util.StaticResourceUtil;
    +import lombok.Getter;
    +import lombok.RequiredArgsConstructor;
    +import lombok.Setter;
    +import org.springframework.beans.factory.ObjectProvider;
    +import org.springframework.cache.annotation.Cacheable;
    +import org.springframework.stereotype.Component;
    +
    +import java.util.ArrayList;
    +import java.util.List;
    +import java.util.Map;
    +import java.util.Random;
    +
    +@Component
    +@RequiredArgsConstructor
    +public class DrawUtil {
    +
    +    private final ObjectProvider&lt;DrawUtil&gt; drawUtilProvider;
    +    private final StaticResourceUtil staticResourceUtil;
    +
    +    @Getter
    +    private boolean isDrawWin = false;
    +    @Getter
    +    @Setter
    +    private int ranking = 0;
    +    @Setter
    +    private int first;
    +    @Setter
    +    private int second;
    +    @Setter
    +    private int third;
    +
    +    /**
    +     * 추첨 로직 실행
    +     * 만약 1, 2, 3등 중 하나에 당첨되었다면 등수와 이미지 방향이 결정됨.
    +     */
    +    public void performDraw() {
    +<span class="nc" id="L43">        Random random = new Random();</span>
    +<span class="nc" id="L44">        int randomNum = random.nextInt(10000) + 1; // 랜덤 수</span>
    +
    +<span class="nc bnc" id="L46" title="All 2 branches missed.">        if (randomNum &lt;= this.first) {</span>
    +<span class="nc" id="L47">            isDrawWin = true;</span>
    +<span class="nc" id="L48">            ranking = 1;</span>
    +<span class="nc bnc" id="L49" title="All 2 branches missed.">        } else if (randomNum &lt;= this.second) {</span>
    +<span class="nc" id="L50">            isDrawWin = true;</span>
    +<span class="nc" id="L51">            ranking = 2;</span>
    +<span class="nc bnc" id="L52" title="All 2 branches missed.">        } else if (randomNum &lt;= this.third) {</span>
    +<span class="nc" id="L53">            isDrawWin = true;</span>
    +<span class="nc" id="L54">            ranking = 3;</span>
    +        }
    +<span class="nc" id="L56">    }</span>
    +
    +    /**
    +     * @return 당첨자를 위한 방향 이미지 List 반환
    +     */
    +    public List&lt;String&gt; generateWinImages() {
    +<span class="nc" id="L62">        Random random = new Random();</span>
    +<span class="nc" id="L63">        int direction = random.nextInt(4); // 랜덤 수</span>
    +
    +<span class="nc" id="L65">        DrawUtil drawUtil = drawUtilProvider.getObject();</span>
    +<span class="nc" id="L66">        String directionImage = drawUtil.getImageUrl(direction);</span>
    +
    +<span class="nc" id="L68">        ArrayList&lt;String&gt; images = new ArrayList&lt;&gt;(3);</span>
    +<span class="nc" id="L69">        images.add(directionImage);</span>
    +<span class="nc" id="L70">        images.add(directionImage);</span>
    +<span class="nc" id="L71">        images.add(directionImage);</span>
    +<span class="nc" id="L72">        return images;</span>
    +    }
    +
    +    /**
    +     * @return 낙첨자를 위한 랜덤 방향 이미지 List 반환
    +     */
    +    public List&lt;String&gt; generateLoseImages() {
    +<span class="nc" id="L79">        DrawUtil drawUtil = drawUtilProvider.getObject();</span>
    +
    +<span class="nc" id="L81">        ArrayList&lt;String&gt; images = new ArrayList&lt;&gt;(3);</span>
    +<span class="nc" id="L82">        Random random = new Random();</span>
    +        int firstDirection, secondDirection, thirdDirection;
    +
    +        do {
    +<span class="nc" id="L86">            firstDirection = random.nextInt(4);</span>
    +<span class="nc" id="L87">            secondDirection = random.nextInt(4);</span>
    +<span class="nc" id="L88">            thirdDirection = random.nextInt(4);</span>
    +<span class="nc bnc" id="L89" title="All 4 branches missed.">        } while (firstDirection == secondDirection &amp;&amp; secondDirection == thirdDirection);</span>
    +
    +<span class="nc" id="L91">        images.add(drawUtil.getImageUrl(firstDirection));</span>
    +<span class="nc" id="L92">        images.add(drawUtil.getImageUrl(secondDirection));</span>
    +<span class="nc" id="L93">        images.add(drawUtil.getImageUrl(thirdDirection));</span>
    +<span class="nc" id="L94">        return images;</span>
    +    }
    +
    +    /**
    +     * @param direction 방향을 나타냄. 0, 1, 2, 3이 각각 위, 오른쪽, 밑, 왼쪽
    +     * @return 방향에 따른 이미지 url을 반환
    +     */
    +    @Cacheable(value = &quot;staticResources&quot;, key = &quot;'drawImage_' + #direction&quot;)
    +    public String getImageUrl(int direction) {
    +
    +<span class="nc" id="L104">        Map&lt;String, String&gt; textContentMap = staticResourceUtil.getTextContentMap();</span>
    +
    +        String directionImage;
    +<span class="nc bnc" id="L107" title="All 2 branches missed.">        if (direction == 0) {</span>
    +<span class="nc" id="L108">            directionImage = textContentMap.get(S3FileName.DRAW_BLOCK_UP_IMAGE.name());</span>
    +<span class="nc bnc" id="L109" title="All 2 branches missed.">        } else if (direction == 1) {</span>
    +<span class="nc" id="L110">            directionImage = textContentMap.get(S3FileName.DRAW_BLOCK_RIGHT_IMAGE.name());</span>
    +<span class="nc bnc" id="L111" title="All 2 branches missed.">        } else if (direction == 2) {</span>
    +<span class="nc" id="L112">            directionImage = textContentMap.get(S3FileName.DRAW_BLOCK_DOWN_IMAGE.name());</span>
    +        } else {
    +<span class="nc" id="L114">            directionImage = textContentMap.get(S3FileName.DRAW_BLOCK_LEFT_IMAGE.name());</span>
    +        }
    +<span class="nc" id="L116">        return directionImage;</span>
    +    }
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/index.html
    new file mode 100644
    index 00000000..f6db7909
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.draw.util</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.draw.util</span></div><h1>com.softeer.backend.fo_domain.draw.util</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">515 of 515</td><td class="ctr2">0%</td><td class="bar">36 of 36</td><td class="ctr2">0%</td><td class="ctr1">38</td><td class="ctr2">38</td><td class="ctr1">128</td><td class="ctr2">128</td><td class="ctr1">20</td><td class="ctr2">20</td><td class="ctr1">4</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a3"><a href="DrawUtil.html" class="el_class">DrawUtil</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="172" alt="172"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="16" alt="16"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">12</td><td class="ctr2" id="g0">12</td><td class="ctr1" id="h0">41</td><td class="ctr2" id="i0">41</td><td class="ctr1" id="j2">4</td><td class="ctr2" id="k2">4</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a1"><a href="DrawModalGenerateUtil.html" class="el_class">DrawModalGenerateUtil</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="99" height="10" title="142" alt="142"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d2"><img src="../jacoco-resources/redbar.gif" width="45" height="10" title="6" alt="6"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f2">8</td><td class="ctr2" id="g2">8</td><td class="ctr1" id="h1">33</td><td class="ctr2" id="i1">33</td><td class="ctr1" id="j1">5</td><td class="ctr2" id="k1">5</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a0"><a href="DrawAttendanceCountUtil.html" class="el_class">DrawAttendanceCountUtil</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="76" height="10" title="109" alt="109"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="105" height="10" title="14" alt="14"/></td><td class="ctr2" id="e2">0%</td><td class="ctr1" id="f1">10</td><td class="ctr2" id="g1">10</td><td class="ctr1" id="h3">23</td><td class="ctr2" id="i3">23</td><td class="ctr1" id="j3">3</td><td class="ctr2" id="k3">3</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a2"><a href="DrawResponseGenerateUtil.html" class="el_class">DrawResponseGenerateUtil</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="64" height="10" title="92" alt="92"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">8</td><td class="ctr2" id="g3">8</td><td class="ctr1" id="h2">31</td><td class="ctr2" id="i2">31</td><td class="ctr1" id="j0">8</td><td class="ctr2" id="k0">8</td><td class="ctr1" id="l3">1</td><td class="ctr2" id="m3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/index.source.html
    new file mode 100644
    index 00000000..0e726ea7
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.draw.util</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.draw.util</span></div><h1>com.softeer.backend.fo_domain.draw.util</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">515 of 515</td><td class="ctr2">0%</td><td class="bar">36 of 36</td><td class="ctr2">0%</td><td class="ctr1">38</td><td class="ctr2">38</td><td class="ctr1">128</td><td class="ctr2">128</td><td class="ctr1">20</td><td class="ctr2">20</td><td class="ctr1">4</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a3"><a href="DrawUtil.java.html" class="el_source">DrawUtil.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="172" alt="172"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="16" alt="16"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">12</td><td class="ctr2" id="g0">12</td><td class="ctr1" id="h0">41</td><td class="ctr2" id="i0">41</td><td class="ctr1" id="j2">4</td><td class="ctr2" id="k2">4</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a1"><a href="DrawModalGenerateUtil.java.html" class="el_source">DrawModalGenerateUtil.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="99" height="10" title="142" alt="142"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d2"><img src="../jacoco-resources/redbar.gif" width="45" height="10" title="6" alt="6"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f2">8</td><td class="ctr2" id="g2">8</td><td class="ctr1" id="h1">33</td><td class="ctr2" id="i1">33</td><td class="ctr1" id="j1">5</td><td class="ctr2" id="k1">5</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a0"><a href="DrawAttendanceCountUtil.java.html" class="el_source">DrawAttendanceCountUtil.java</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="76" height="10" title="109" alt="109"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="105" height="10" title="14" alt="14"/></td><td class="ctr2" id="e2">0%</td><td class="ctr1" id="f1">10</td><td class="ctr2" id="g1">10</td><td class="ctr1" id="h3">23</td><td class="ctr2" id="i3">23</td><td class="ctr1" id="j3">3</td><td class="ctr2" id="k3">3</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a2"><a href="DrawResponseGenerateUtil.java.html" class="el_source">DrawResponseGenerateUtil.java</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="64" height="10" title="92" alt="92"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">8</td><td class="ctr2" id="g3">8</td><td class="ctr1" id="h2">31</td><td class="ctr2" id="i2">31</td><td class="ctr1" id="j0">8</td><td class="ctr2" id="k0">8</td><td class="ctr1" id="l3">1</td><td class="ctr2" id="m3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.controller/FcfsController.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.controller/FcfsController.html
    new file mode 100644
    index 00000000..3b0cda5e
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.controller/FcfsController.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>FcfsController</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.fcfs.controller</a> &gt; <span class="el_class">FcfsController</span></div><h1>FcfsController</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">42 of 42</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">9</td><td class="ctr2">9</td><td class="ctr1">4</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a2"><a href="FcfsController.java.html#L58" class="el_method">handleFcfs(HttpServletRequest, Integer, FcfsRequestDto)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="17" alt="17"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">3</td><td class="ctr2" id="i0">3</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="FcfsController.java.html#L38" class="el_method">getFcfsPage(HttpServletRequest)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="98" height="10" title="14" alt="14"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">3</td><td class="ctr2" id="i1">3</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a1"><a href="FcfsController.java.html#L48" class="el_method">getFcfsTutorialPage()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="49" height="10" title="7" alt="7"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">2</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a3"><a href="FcfsController.java.html#L27" class="el_method">static {...}</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="28" height="10" title="4" alt="4"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">1</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.controller/FcfsController.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.controller/FcfsController.java.html
    new file mode 100644
    index 00000000..3e23946d
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.controller/FcfsController.java.html
    @@ -0,0 +1,67 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>FcfsController.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.fcfs.controller</a> &gt; <span class="el_source">FcfsController.java</span></div><h1>FcfsController.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.fcfs.controller;
    +
    +import com.softeer.backend.fo_domain.fcfs.dto.FcfsPageResponseDto;
    +import com.softeer.backend.fo_domain.fcfs.dto.FcfsRequestDto;
    +import com.softeer.backend.fo_domain.fcfs.dto.result.FcfsResult;
    +import com.softeer.backend.fo_domain.fcfs.dto.result.FcfsResultResponseDto;
    +import com.softeer.backend.fo_domain.fcfs.service.FcfsService;
    +import com.softeer.backend.global.annotation.AuthInfo;
    +import com.softeer.backend.global.common.response.ResponseDto;
    +import io.swagger.v3.oas.annotations.Parameter;
    +import io.swagger.v3.oas.annotations.tags.Tag;
    +import jakarta.servlet.http.HttpServletRequest;
    +import jakarta.servlet.http.HttpSession;
    +import lombok.RequiredArgsConstructor;
    +import lombok.extern.slf4j.Slf4j;
    +import org.springframework.http.HttpHeaders;
    +import org.springframework.http.HttpStatus;
    +import org.springframework.http.ResponseEntity;
    +import org.springframework.stereotype.Controller;
    +import org.springframework.web.bind.annotation.*;
    +import org.springframework.web.servlet.mvc.support.RedirectAttributes;
    +
    +import java.net.URI;
    +import java.net.URLEncoder;
    +import java.nio.charset.StandardCharsets;
    +
    +<span class="nc" id="L27">@Slf4j</span>
    +@RestController
    +@RequiredArgsConstructor
    +@RequestMapping(&quot;/fcfs&quot;)
    +@Tag(name = &quot;Fcfs Controller&quot;, description = &quot;선착순 API&quot;)
    +public class FcfsController {
    +    private final FcfsService fcfsService;
    +
    +    @GetMapping
    +    public ResponseDto&lt;FcfsPageResponseDto&gt; getFcfsPage(@Parameter(hidden = true) HttpServletRequest request) {
    +
    +<span class="nc" id="L38">        int round = (Integer) request.getAttribute(&quot;round&quot;);</span>
    +
    +<span class="nc" id="L40">        FcfsPageResponseDto fcfsPageResponseDto = fcfsService.getFcfsPage(round);</span>
    +
    +<span class="nc" id="L42">        return ResponseDto.onSuccess(fcfsPageResponseDto);</span>
    +    }
    +
    +    @GetMapping(&quot;/tutorial&quot;)
    +    public ResponseDto&lt;FcfsPageResponseDto&gt; getFcfsTutorialPage() {
    +
    +<span class="nc" id="L48">        FcfsPageResponseDto fcfsPageResponseDto = fcfsService.getFcfsTutorialPage();</span>
    +
    +<span class="nc" id="L50">        return ResponseDto.onSuccess(fcfsPageResponseDto);</span>
    +    }
    +
    +    @PostMapping
    +    public ResponseDto&lt;FcfsResultResponseDto&gt; handleFcfs(@Parameter(hidden = true) HttpServletRequest request,
    +                                     @Parameter(hidden = true) @AuthInfo Integer userId,
    +                                     @RequestBody FcfsRequestDto fcfsRequestDto) {
    +
    +<span class="nc" id="L58">        int round = (Integer) request.getAttribute(&quot;round&quot;);</span>
    +
    +<span class="nc" id="L60">        FcfsResultResponseDto fcfsResultResponseDto = fcfsService.handleFcfsEvent(userId, round, fcfsRequestDto);</span>
    +
    +<span class="nc" id="L62">        return ResponseDto.onSuccess(fcfsResultResponseDto);</span>
    +    }
    +
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.controller/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.controller/index.html
    new file mode 100644
    index 00000000..3ec30809
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.controller/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.fcfs.controller</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.fcfs.controller</span></div><h1>com.softeer.backend.fo_domain.fcfs.controller</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">42 of 42</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">9</td><td class="ctr2">9</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="FcfsController.html" class="el_class">FcfsController</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="42" alt="42"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">9</td><td class="ctr2" id="i0">9</td><td class="ctr1" id="j0">4</td><td class="ctr2" id="k0">4</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.controller/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.controller/index.source.html
    new file mode 100644
    index 00000000..5c45fdef
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.controller/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.fcfs.controller</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.fcfs.controller</span></div><h1>com.softeer.backend.fo_domain.fcfs.controller</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">42 of 42</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">9</td><td class="ctr2">9</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="FcfsController.java.html" class="el_source">FcfsController.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="42" alt="42"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">9</td><td class="ctr2" id="i0">9</td><td class="ctr1" id="j0">4</td><td class="ctr2" id="k0">4</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.exception/FcfsException.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.exception/FcfsException.html
    new file mode 100644
    index 00000000..1e8e55bb
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.exception/FcfsException.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>FcfsException</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.fcfs.exception</a> &gt; <span class="el_class">FcfsException</span></div><h1>FcfsException</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="FcfsException.java.html#L9" class="el_method">FcfsException(BaseErrorCode)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.exception/FcfsException.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.exception/FcfsException.java.html
    new file mode 100644
    index 00000000..5a55fefc
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.exception/FcfsException.java.html
    @@ -0,0 +1,12 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>FcfsException.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.fcfs.exception</a> &gt; <span class="el_source">FcfsException.java</span></div><h1>FcfsException.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.fcfs.exception;
    +
    +import com.softeer.backend.global.common.code.BaseErrorCode;
    +import com.softeer.backend.global.common.exception.GeneralException;
    +
    +public class FcfsException extends GeneralException {
    +
    +    public FcfsException(BaseErrorCode code) {
    +<span class="nc" id="L9">        super(code);</span>
    +<span class="nc" id="L10">    }</span>
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.exception/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.exception/index.html
    new file mode 100644
    index 00000000..74ce8b33
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.exception/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.fcfs.exception</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.fcfs.exception</span></div><h1>com.softeer.backend.fo_domain.fcfs.exception</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="FcfsException.html" class="el_class">FcfsException</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.exception/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.exception/index.source.html
    new file mode 100644
    index 00000000..475fa5df
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.exception/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.fcfs.exception</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.fcfs.exception</span></div><h1>com.softeer.backend.fo_domain.fcfs.exception</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="FcfsException.java.html" class="el_source">FcfsException.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.interceptor/FcfsTimeCheckInterceptor.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.interceptor/FcfsTimeCheckInterceptor.html
    new file mode 100644
    index 00000000..48fb9800
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.interceptor/FcfsTimeCheckInterceptor.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>FcfsTimeCheckInterceptor</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.fcfs.interceptor</a> &gt; <span class="el_class">FcfsTimeCheckInterceptor</span></div><h1>FcfsTimeCheckInterceptor</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">37 of 37</td><td class="ctr2">0%</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">10</td><td class="ctr2">10</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="FcfsTimeCheckInterceptor.java.html#L26" class="el_method">preHandle(HttpServletRequest, HttpServletResponse, Object)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="33" alt="33"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">9</td><td class="ctr2" id="i0">9</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="FcfsTimeCheckInterceptor.java.html#L16" class="el_method">static {...}</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="14" height="10" title="4" alt="4"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.interceptor/FcfsTimeCheckInterceptor.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.interceptor/FcfsTimeCheckInterceptor.java.html
    new file mode 100644
    index 00000000..27fe3372
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.interceptor/FcfsTimeCheckInterceptor.java.html
    @@ -0,0 +1,45 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>FcfsTimeCheckInterceptor.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.fcfs.interceptor</a> &gt; <span class="el_source">FcfsTimeCheckInterceptor.java</span></div><h1>FcfsTimeCheckInterceptor.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.fcfs.interceptor;
    +
    +import com.softeer.backend.fo_domain.fcfs.exception.FcfsException;
    +import com.softeer.backend.fo_domain.fcfs.service.FcfsSettingManager;
    +import com.softeer.backend.global.common.code.status.ErrorStatus;
    +import jakarta.servlet.http.HttpServletRequest;
    +import jakarta.servlet.http.HttpServletResponse;
    +import lombok.RequiredArgsConstructor;
    +import lombok.extern.slf4j.Slf4j;
    +import org.springframework.stereotype.Component;
    +import org.springframework.web.cors.CorsUtils;
    +import org.springframework.web.servlet.HandlerInterceptor;
    +
    +import java.time.LocalDateTime;
    +
    +<span class="nc" id="L16">@Slf4j</span>
    +@Component
    +@RequiredArgsConstructor
    +public class FcfsTimeCheckInterceptor implements HandlerInterceptor {
    +
    +    private final FcfsSettingManager fcfsSettingManager;
    +
    +    @Override
    +    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
    +
    +<span class="nc bnc" id="L26" title="All 2 branches missed.">        if(CorsUtils.isPreFlightRequest(request))</span>
    +<span class="nc" id="L27">            return true;</span>
    +
    +<span class="nc" id="L29">        LocalDateTime now = LocalDateTime.now();</span>
    +
    +<span class="nc bnc" id="L31" title="All 2 branches missed.">        if(!fcfsSettingManager.isFcfsEntryAvailable(now)){</span>
    +
    +<span class="nc" id="L33">            log.error(&quot;Cannot access the FCFS event&quot;);</span>
    +<span class="nc" id="L34">            throw new FcfsException(ErrorStatus._BAD_REQUEST);</span>
    +        }
    +
    +
    +<span class="nc" id="L38">        int round = fcfsSettingManager.getFcfsRound(now);</span>
    +<span class="nc" id="L39">        request.setAttribute(&quot;round&quot;, round);</span>
    +
    +
    +<span class="nc" id="L42">        return true;</span>
    +    }
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.interceptor/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.interceptor/index.html
    new file mode 100644
    index 00000000..b3964ed0
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.interceptor/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.fcfs.interceptor</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.fcfs.interceptor</span></div><h1>com.softeer.backend.fo_domain.fcfs.interceptor</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">37 of 37</td><td class="ctr2">0%</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">10</td><td class="ctr2">10</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="FcfsTimeCheckInterceptor.html" class="el_class">FcfsTimeCheckInterceptor</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="37" alt="37"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">10</td><td class="ctr2" id="i0">10</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.interceptor/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.interceptor/index.source.html
    new file mode 100644
    index 00000000..152426dd
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.interceptor/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.fcfs.interceptor</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.fcfs.interceptor</span></div><h1>com.softeer.backend.fo_domain.fcfs.interceptor</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">37 of 37</td><td class="ctr2">0%</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">10</td><td class="ctr2">10</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="FcfsTimeCheckInterceptor.java.html" class="el_source">FcfsTimeCheckInterceptor.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="37" alt="37"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">10</td><td class="ctr2" id="i0">10</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/FcfsService.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/FcfsService.html
    new file mode 100644
    index 00000000..7bf836c2
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/FcfsService.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>FcfsService</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.fcfs.service</a> &gt; <span class="el_class">FcfsService</span></div><h1>FcfsService</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">400 of 400</td><td class="ctr2">0%</td><td class="bar">14 of 14</td><td class="ctr2">0%</td><td class="ctr1">17</td><td class="ctr2">17</td><td class="ctr1">80</td><td class="ctr2">80</td><td class="ctr1">10</td><td class="ctr2">10</td></tr></tfoot><tbody><tr><td id="a8"><a href="FcfsService.java.html#L103" class="el_method">saveFcfsWinners(int, int)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="97" alt="97"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="8" alt="8"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">5</td><td class="ctr2" id="g0">5</td><td class="ctr1" id="h1">14</td><td class="ctr2" id="i1">14</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a4"><a href="FcfsService.java.html#L177" class="el_method">getFcfsSuccessResult(Map, Map, FcfsSettingDto)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="101" height="10" title="82" alt="82"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h2">12</td><td class="ctr2" id="i2">12</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a3"><a href="FcfsService.java.html#L146" class="el_method">getFcfsResult(boolean, String)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="58" height="10" title="47" alt="47"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"><img src="../jacoco-resources/redbar.gif" width="30" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f2">2</td><td class="ctr2" id="g2">2</td><td class="ctr1" id="h0">16</td><td class="ctr2" id="i0">16</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a6"><a href="FcfsService.java.html#L85" class="el_method">handleFcfsEvent(int, int, FcfsRequestDto)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="56" height="10" title="46" alt="46"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="60" height="10" title="4" alt="4"/></td><td class="ctr2" id="e2">0%</td><td class="ctr1" id="f1">3</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h5">9</td><td class="ctr2" id="i5">9</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a2"><a href="FcfsService.java.html#L51" class="el_method">getFcfsPage(int)</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="51" height="10" title="42" alt="42"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h3">10</td><td class="ctr2" id="i3">10</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a5"><a href="FcfsService.java.html#L66" class="el_method">getFcfsTutorialPage()</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="50" height="10" title="41" alt="41"/></td><td class="ctr2" id="c5">0%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">1</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h4">10</td><td class="ctr2" id="i4">10</td><td class="ctr1" id="j5">1</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a1"><a href="FcfsService.java.html#L194" class="el_method">getFcfsFailResult(Map)</a></td><td class="bar" id="b6"><img src="../jacoco-resources/redbar.gif" width="25" height="10" title="21" alt="21"/></td><td class="ctr2" id="c6">0%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">1</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h6">5</td><td class="ctr2" id="i6">5</td><td class="ctr1" id="j6">1</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a7"><a href="FcfsService.java.html#L137" class="el_method">makeFcfsCode(int)</a></td><td class="bar" id="b7"><img src="../jacoco-resources/redbar.gif" width="14" height="10" title="12" alt="12"/></td><td class="ctr2" id="c7">0%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">1</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h8">1</td><td class="ctr2" id="i8">1</td><td class="ctr1" id="j7">1</td><td class="ctr2" id="k7">1</td></tr><tr><td id="a0"><a href="FcfsService.java.html#L141" class="el_method">countFcfsParticipant(int)</a></td><td class="bar" id="b8"><img src="../jacoco-resources/redbar.gif" width="9" height="10" title="8" alt="8"/></td><td class="ctr2" id="c8">0%</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f8">1</td><td class="ctr2" id="g8">1</td><td class="ctr1" id="h7">2</td><td class="ctr2" id="i7">2</td><td class="ctr1" id="j8">1</td><td class="ctr2" id="k8">1</td></tr><tr><td id="a9"><a href="FcfsService.java.html#L34" class="el_method">static {...}</a></td><td class="bar" id="b9"><img src="../jacoco-resources/redbar.gif" width="4" height="10" title="4" alt="4"/></td><td class="ctr2" id="c9">0%</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f9">1</td><td class="ctr2" id="g9">1</td><td class="ctr1" id="h9">1</td><td class="ctr2" id="i9">1</td><td class="ctr1" id="j9">1</td><td class="ctr2" id="k9">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/FcfsService.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/FcfsService.java.html
    new file mode 100644
    index 00000000..646b47ef
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/FcfsService.java.html
    @@ -0,0 +1,202 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>FcfsService.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.fcfs.service</a> &gt; <span class="el_source">FcfsService.java</span></div><h1>FcfsService.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.fcfs.service;
    +
    +import com.softeer.backend.fo_domain.draw.service.DrawSettingManager;
    +import com.softeer.backend.fo_domain.fcfs.dto.*;
    +import com.softeer.backend.fo_domain.fcfs.dto.result.FcfsFailResult;
    +import com.softeer.backend.fo_domain.fcfs.dto.result.FcfsResultResponseDto;
    +import com.softeer.backend.fo_domain.fcfs.dto.result.FcfsSuccessResult;
    +import com.softeer.backend.fo_domain.fcfs.exception.FcfsException;
    +import com.softeer.backend.global.annotation.EventLock;
    +import com.softeer.backend.global.common.code.status.ErrorStatus;
    +import com.softeer.backend.global.common.constant.RedisKeyPrefix;
    +import com.softeer.backend.global.staticresources.constant.S3FileName;
    +import com.softeer.backend.global.staticresources.constant.StaticTextName;
    +import com.softeer.backend.global.staticresources.domain.S3Content;
    +import com.softeer.backend.global.staticresources.domain.TextContent;
    +import com.softeer.backend.global.staticresources.repository.S3ContentRepository;
    +import com.softeer.backend.global.staticresources.repository.TextContentRepository;
    +import com.softeer.backend.global.staticresources.util.StaticResourceUtil;
    +import com.softeer.backend.global.util.FcfsRedisUtil;
    +import com.softeer.backend.global.util.RandomCodeUtil;
    +import lombok.RequiredArgsConstructor;
    +import lombok.extern.slf4j.Slf4j;
    +import org.springframework.beans.factory.ObjectProvider;
    +import org.springframework.cache.annotation.Cacheable;
    +import org.springframework.stereotype.Service;
    +
    +import java.time.format.DateTimeFormatter;
    +import java.util.Map;
    +import java.util.stream.Collectors;
    +
    +/**
    + * 선착순 관련 이벤트를 처리하는 클래스
    + */
    +<span class="nc" id="L34">@Slf4j</span>
    +@Service
    +@RequiredArgsConstructor
    +public class FcfsService {
    +    DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern(&quot;M월 d일&quot;);
    +    private final ObjectProvider&lt;FcfsService&gt; fcfsServiceProvider;
    +
    +    private final FcfsSettingManager fcfsSettingManager;
    +    private final DrawSettingManager drawSettingManager;
    +    private final QuizManager quizManager;
    +    private final FcfsRedisUtil fcfsRedisUtil;
    +    private final RandomCodeUtil randomCodeUtil;
    +    private final StaticResourceUtil staticResourceUtil;
    +
    +
    +    public FcfsPageResponseDto getFcfsPage(int round) {
    +
    +<span class="nc" id="L51">        QuizDto quiz = quizManager.getQuiz(round);</span>
    +<span class="nc" id="L52">        Map&lt;String, String&gt; textContentMap = staticResourceUtil.getTextContentMap();</span>
    +
    +<span class="nc" id="L54">        return FcfsPageResponseDto.builder()</span>
    +<span class="nc" id="L55">                .answerWord(quiz.getAnswerWord())</span>
    +<span class="nc" id="L56">                .answerSentence(quiz.getAnswerSentence())</span>
    +<span class="nc" id="L57">                .startIndex(quiz.getStartIndex())</span>
    +<span class="nc" id="L58">                .endIndex(quiz.getEndIndex())</span>
    +<span class="nc" id="L59">                .quizDescription(staticResourceUtil.format(textContentMap.get(StaticTextName.FCFS_QUIZ_DESCRIPTION.name()),</span>
    +<span class="nc" id="L60">                        fcfsSettingManager.getFcfsWinnerNum()))</span>
    +<span class="nc" id="L61">                .build();</span>
    +    }
    +
    +    public FcfsPageResponseDto getFcfsTutorialPage() {
    +
    +<span class="nc" id="L66">        QuizDto tutorialQuiz = quizManager.getTutorialQuiz();</span>
    +<span class="nc" id="L67">        Map&lt;String, String&gt; textContentMap = staticResourceUtil.getTextContentMap();</span>
    +
    +<span class="nc" id="L69">        return FcfsPageResponseDto.builder()</span>
    +<span class="nc" id="L70">                .answerWord(tutorialQuiz.getAnswerWord())</span>
    +<span class="nc" id="L71">                .answerSentence(tutorialQuiz.getAnswerSentence())</span>
    +<span class="nc" id="L72">                .startIndex(tutorialQuiz.getStartIndex())</span>
    +<span class="nc" id="L73">                .endIndex(tutorialQuiz.getEndIndex())</span>
    +<span class="nc" id="L74">                .quizDescription(staticResourceUtil.format(textContentMap.get(StaticTextName.FCFS_QUIZ_DESCRIPTION.name()),</span>
    +<span class="nc" id="L75">                        fcfsSettingManager.getFcfsWinnerNum()))</span>
    +<span class="nc" id="L76">                .build();</span>
    +    }
    +
    +    /**
    +     * 1. 선착순 당첨자가 아직 다 결정되지 않았으면, 선착순 당첨 응답 생성 및 반환
    +     * 2. 선착순 당첨자가 다 결정됐다면, Redisson lock을 사용하지 않고 Redis에 저장된 선착순 이벤트 참여자 수를 1명씩 더한다.
    +     */
    +    public FcfsResultResponseDto handleFcfsEvent(int userId, int round, FcfsRequestDto fcfsRequestDto) {
    +
    +<span class="nc bnc" id="L85" title="All 2 branches missed.">        if(!fcfsRequestDto.getAnswer().equals(quizManager.getQuiz(round).getAnswerWord())) {</span>
    +<span class="nc" id="L86">            log.error(&quot;fcfs quiz answer is not match, correct answer: {}, wrong anwer: {}&quot;,</span>
    +<span class="nc" id="L87">                    quizManager.getQuiz(round).getAnswerWord(), fcfsRequestDto.getAnswer());</span>
    +<span class="nc" id="L88">            throw new FcfsException(ErrorStatus._BAD_REQUEST);</span>
    +        }
    +
    +<span class="nc bnc" id="L91" title="All 2 branches missed.">        if (fcfsSettingManager.isFcfsClosed()){</span>
    +<span class="nc" id="L92">            countFcfsParticipant(round);</span>
    +
    +<span class="nc" id="L94">            return getFcfsResult(false, null);</span>
    +        }
    +<span class="nc" id="L96">        FcfsService fcfsService = fcfsServiceProvider.getObject();</span>
    +<span class="nc" id="L97">        return fcfsService.saveFcfsWinners(userId, round);</span>
    +    }
    +
    +    @EventLock(key = &quot;FCFS_#{#round}&quot;)
    +    public FcfsResultResponseDto saveFcfsWinners(int userId, int round) {
    +
    +<span class="nc" id="L103">        long numOfWinners = fcfsRedisUtil.getIntegerSetSize(RedisKeyPrefix.FCFS_USERID_PREFIX.getPrefix() + round);</span>
    +
    +<span class="nc bnc" id="L105" title="All 2 branches missed.">        if (numOfWinners &lt; fcfsSettingManager.getFcfsWinnerNum()</span>
    +<span class="nc bnc" id="L106" title="All 2 branches missed.">                &amp;&amp; !fcfsRedisUtil.isValueInIntegerSet(RedisKeyPrefix.FCFS_USERID_PREFIX.getPrefix() + round, userId)) {</span>
    +
    +            // redis에 userId 등록
    +<span class="nc" id="L109">            fcfsRedisUtil.addToIntegerSet(RedisKeyPrefix.FCFS_USERID_PREFIX.getPrefix() + round, userId);</span>
    +
    +            // redis에 code 등록
    +<span class="nc" id="L112">            String code = makeFcfsCode(round);</span>
    +<span class="nc bnc" id="L113" title="All 2 branches missed.">            while (fcfsRedisUtil.isValueInStringSet(RedisKeyPrefix.FCFS_CODE_PREFIX.getPrefix() + round, code)) {</span>
    +<span class="nc" id="L114">                code = makeFcfsCode(round);</span>
    +            }
    +<span class="nc" id="L116">            fcfsRedisUtil.addToStringSet(RedisKeyPrefix.FCFS_CODE_PREFIX.getPrefix() + round, code);</span>
    +
    +            // redis에 code-userId 형태로 등록(hash)
    +<span class="nc" id="L119">            fcfsRedisUtil.addToHash(RedisKeyPrefix.FCFS_CODE_USERID_PREFIX.getPrefix() + round, code, userId);</span>
    +
    +            // redis에 선착순 참가자 수 +1
    +<span class="nc" id="L122">            countFcfsParticipant(round);</span>
    +
    +            // 선착순 당첨이 마감되면 FcfsSettingManager의 fcfsClodes 변수값을 true로 설정
    +<span class="nc bnc" id="L125" title="All 2 branches missed.">            if (numOfWinners + 1 == fcfsSettingManager.getFcfsWinnerNum()) {</span>
    +<span class="nc" id="L126">                fcfsSettingManager.setFcfsClosed(true);</span>
    +            }
    +
    +<span class="nc" id="L129">            return getFcfsResult(true, code);</span>
    +        }
    +
    +<span class="nc" id="L132">        return getFcfsResult(false, null);</span>
    +
    +    }
    +
    +    private String makeFcfsCode(int round){
    +<span class="nc" id="L137">        return (char)('A'+round-1) + randomCodeUtil.generateRandomCode(5);</span>
    +    }
    +
    +    private void countFcfsParticipant(int round) {
    +<span class="nc" id="L141">        fcfsRedisUtil.incrementValue(RedisKeyPrefix.FCFS_PARTICIPANT_COUNT_PREFIX.getPrefix() + round);</span>
    +<span class="nc" id="L142">    }</span>
    +
    +    public FcfsResultResponseDto getFcfsResult(boolean fcfsWin, String fcfsCode){
    +
    +<span class="nc" id="L146">        Map&lt;String, String&gt; textContentMap = staticResourceUtil.getTextContentMap();</span>
    +<span class="nc" id="L147">        Map&lt;String, String&gt; s3ContentMap = staticResourceUtil.getS3ContentMap();</span>
    +
    +<span class="nc" id="L149">        FcfsSettingDto firstFcfsSetting = fcfsSettingManager.getFcfsSettingByRound(1);</span>
    +
    +<span class="nc" id="L151">        FcfsService fcfsService = fcfsServiceProvider.getObject();</span>
    +
    +<span class="nc bnc" id="L153" title="All 2 branches missed.">        if(fcfsWin){</span>
    +<span class="nc" id="L154">            FcfsSuccessResult fcfsSuccessResult = fcfsService.getFcfsSuccessResult(</span>
    +                    textContentMap, s3ContentMap, firstFcfsSetting
    +            );
    +<span class="nc" id="L157">            fcfsSuccessResult.setFcfsCode(fcfsCode);</span>
    +
    +<span class="nc" id="L159">            return FcfsResultResponseDto.builder()</span>
    +<span class="nc" id="L160">                    .isFcfsWinner(fcfsWin)</span>
    +<span class="nc" id="L161">                    .fcfsResult(fcfsSuccessResult)</span>
    +<span class="nc" id="L162">                    .build();</span>
    +        }
    +
    +<span class="nc" id="L165">        FcfsFailResult fcfsFailResult = fcfsService.getFcfsFailResult(textContentMap);</span>
    +
    +<span class="nc" id="L167">        return FcfsResultResponseDto.builder()</span>
    +<span class="nc" id="L168">                .isFcfsWinner(fcfsWin)</span>
    +<span class="nc" id="L169">                .fcfsResult(fcfsFailResult)</span>
    +<span class="nc" id="L170">                .build();</span>
    +    }
    +
    +    @Cacheable(value = &quot;staticResources&quot;, key = &quot;'fcfsSuccess'&quot;)
    +    public FcfsSuccessResult getFcfsSuccessResult(Map&lt;String, String&gt; textContentMap, Map&lt;String, String&gt; s3ContentMap,
    +                                                  FcfsSettingDto firstFcfsSetting){
    +
    +<span class="nc" id="L177">        return FcfsSuccessResult.builder()</span>
    +<span class="nc" id="L178">                .title(staticResourceUtil.format(textContentMap.get(StaticTextName.FCFS_WINNER_TITLE.name()),</span>
    +<span class="nc" id="L179">                        fcfsSettingManager.getFcfsWinnerNum()))</span>
    +<span class="nc" id="L180">                .subTitle(textContentMap.get(StaticTextName.FCFS_WINNER_SUBTITLE.name()))</span>
    +<span class="nc" id="L181">                .qrCode(s3ContentMap.get(S3FileName.BARCODE_IMAGE.name()))</span>
    +<span class="nc" id="L182">                .codeWord(textContentMap.get(StaticTextName.FCFS_WINNER_CODE_WORD.name()))</span>
    +<span class="nc" id="L183">                .expirationDate(staticResourceUtil.format(textContentMap.get(StaticTextName.FCFS_WINNER_EXPIRY_DATE.name()),</span>
    +<span class="nc" id="L184">                        firstFcfsSetting.getStartTime().getYear(),</span>
    +<span class="nc" id="L185">                        firstFcfsSetting.getStartTime().format(dateFormatter),</span>
    +<span class="nc" id="L186">                        drawSettingManager.getEndDate().plusDays(14).format(dateFormatter)))</span>
    +<span class="nc" id="L187">                .caution(textContentMap.get(StaticTextName.FCFS_WINNER_CAUTION.name()))</span>
    +<span class="nc" id="L188">                .build();</span>
    +    }
    +
    +    @Cacheable(value = &quot;staticResources&quot;, key = &quot;'fcfsFail'&quot;)
    +    public FcfsFailResult getFcfsFailResult(Map&lt;String, String&gt; textContentMap){
    +
    +<span class="nc" id="L194">        return FcfsFailResult.builder()</span>
    +<span class="nc" id="L195">                .title(textContentMap.get(StaticTextName.FCFS_LOSER_TITLE.name()))</span>
    +<span class="nc" id="L196">                .subTitle(textContentMap.get(StaticTextName.FCFS_LOSER_SUBTITLE.name()))</span>
    +<span class="nc" id="L197">                .caution(textContentMap.get(StaticTextName.FCFS_LOSER_CAUTION.name()))</span>
    +<span class="nc" id="L198">                .build();</span>
    +    }
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/FcfsSettingManager.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/FcfsSettingManager.html
    new file mode 100644
    index 00000000..6bcb650c
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/FcfsSettingManager.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>FcfsSettingManager</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.fcfs.service</a> &gt; <span class="el_class">FcfsSettingManager</span></div><h1>FcfsSettingManager</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">231 of 231</td><td class="ctr2">0%</td><td class="bar">32 of 32</td><td class="ctr2">0%</td><td class="ctr1">28</td><td class="ctr2">28</td><td class="ctr1">57</td><td class="ctr2">57</td><td class="ctr1">12</td><td class="ctr2">12</td></tr></tfoot><tbody><tr><td id="a0"><a href="FcfsSettingManager.java.html#L120" class="el_method">getFcfsRound(LocalDateTime)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="40" alt="40"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="10" alt="10"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">6</td><td class="ctr2" id="g0">6</td><td class="ctr1" id="h0">8</td><td class="ctr2" id="i0">8</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a6"><a href="FcfsSettingManager.java.html#L106" class="el_method">isFcfsEntryAvailable(LocalDateTime)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="114" height="10" title="38" alt="38"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="10" alt="10"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f1">6</td><td class="ctr2" id="g1">6</td><td class="ctr1" id="h1">8</td><td class="ctr2" id="i1">8</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a4"><a href="FcfsSettingManager.java.html#L87" class="el_method">getRoundForScheduler(LocalDate)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="93" height="10" title="31" alt="31"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"><img src="../jacoco-resources/redbar.gif" width="72" height="10" title="6" alt="6"/></td><td class="ctr2" id="e2">0%</td><td class="ctr1" id="f2">4</td><td class="ctr2" id="g2">4</td><td class="ctr1" id="h2">8</td><td class="ctr2" id="i2">8</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a9"><a href="FcfsSettingManager.java.html#L57" class="el_method">loadInitialData()</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="78" height="10" title="26" alt="26"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d4"><img src="../jacoco-resources/redbar.gif" width="24" height="10" title="2" alt="2"/></td><td class="ctr2" id="e3">0%</td><td class="ctr1" id="f4">2</td><td class="ctr2" id="g4">2</td><td class="ctr1" id="h5">6</td><td class="ctr2" id="i5">6</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a3"><a href="FcfsSettingManager.java.html#L134" class="el_method">getNextFcfsTime(LocalDateTime)</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="69" height="10" title="23" alt="23"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d3"><img src="../jacoco-resources/redbar.gif" width="48" height="10" title="4" alt="4"/></td><td class="ctr2" id="e4">0%</td><td class="ctr1" id="f3">3</td><td class="ctr2" id="g3">3</td><td class="ctr1" id="h6">6</td><td class="ctr2" id="i6">6</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a8"><a href="FcfsSettingManager.java.html#L77" class="el_method">lambda$setFcfsSettingList$1(FcfsSetting)</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="69" height="10" title="23" alt="23"/></td><td class="ctr2" id="c5">0%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">1</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h3">7</td><td class="ctr2" id="i3">7</td><td class="ctr1" id="j5">1</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a7"><a href="FcfsSettingManager.java.html#L65" class="el_method">lambda$loadInitialData$0(FcfsSetting)</a></td><td class="bar" id="b6"><img src="../jacoco-resources/redbar.gif" width="69" height="10" title="23" alt="23"/></td><td class="ctr2" id="c6">0%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">1</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h4">7</td><td class="ctr2" id="i4">7</td><td class="ctr1" id="j6">1</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a1"><a href="FcfsSettingManager.java.html#L49" class="el_method">getFcfsSettingByRound(int)</a></td><td class="bar" id="b7"><img src="../jacoco-resources/redbar.gif" width="24" height="10" title="8" alt="8"/></td><td class="ctr2" id="c7">0%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">1</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h9">1</td><td class="ctr2" id="i9">1</td><td class="ctr1" id="j7">1</td><td class="ctr2" id="k7">1</td></tr><tr><td id="a2"><a href="FcfsSettingManager.java.html#L102" class="el_method">getFcfsWinnerNum()</a></td><td class="bar" id="b8"><img src="../jacoco-resources/redbar.gif" width="21" height="10" title="7" alt="7"/></td><td class="ctr2" id="c8">0%</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f8">1</td><td class="ctr2" id="g8">1</td><td class="ctr1" id="h10">1</td><td class="ctr2" id="i10">1</td><td class="ctr1" id="j8">1</td><td class="ctr2" id="k8">1</td></tr><tr><td id="a10"><a href="FcfsSettingManager.java.html#L76" class="el_method">setFcfsSettingList(List)</a></td><td class="bar" id="b9"><img src="../jacoco-resources/redbar.gif" width="15" height="10" title="5" alt="5"/></td><td class="ctr2" id="c9">0%</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f9">1</td><td class="ctr2" id="g9">1</td><td class="ctr1" id="h7">2</td><td class="ctr2" id="i7">2</td><td class="ctr1" id="j9">1</td><td class="ctr2" id="k9">1</td></tr><tr><td id="a11"><a href="FcfsSettingManager.java.html#L26" class="el_method">static {...}</a></td><td class="bar" id="b10"><img src="../jacoco-resources/redbar.gif" width="12" height="10" title="4" alt="4"/></td><td class="ctr2" id="c10">0%</td><td class="bar" id="d10"/><td class="ctr2" id="e10">n/a</td><td class="ctr1" id="f10">1</td><td class="ctr2" id="g10">1</td><td class="ctr1" id="h11">1</td><td class="ctr2" id="i11">1</td><td class="ctr1" id="j10">1</td><td class="ctr2" id="k10">1</td></tr><tr><td id="a5"><a href="FcfsSettingManager.java.html#L45" class="el_method">init()</a></td><td class="bar" id="b11"><img src="../jacoco-resources/redbar.gif" width="9" height="10" title="3" alt="3"/></td><td class="ctr2" id="c11">0%</td><td class="bar" id="d11"/><td class="ctr2" id="e11">n/a</td><td class="ctr1" id="f11">1</td><td class="ctr2" id="g11">1</td><td class="ctr1" id="h8">2</td><td class="ctr2" id="i8">2</td><td class="ctr1" id="j11">1</td><td class="ctr2" id="k11">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/FcfsSettingManager.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/FcfsSettingManager.java.html
    new file mode 100644
    index 00000000..d6dc630a
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/FcfsSettingManager.java.html
    @@ -0,0 +1,145 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>FcfsSettingManager.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.fcfs.service</a> &gt; <span class="el_source">FcfsSettingManager.java</span></div><h1>FcfsSettingManager.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.fcfs.service;
    +
    +import com.softeer.backend.bo_domain.eventparticipation.repository.EventParticipationRepository;
    +import com.softeer.backend.fo_domain.fcfs.domain.FcfsSetting;
    +import com.softeer.backend.fo_domain.fcfs.domain.Quiz;
    +import com.softeer.backend.fo_domain.fcfs.dto.FcfsSettingDto;
    +import com.softeer.backend.fo_domain.fcfs.dto.QuizDto;
    +import com.softeer.backend.fo_domain.fcfs.repository.FcfsSettingRepository;
    +import com.softeer.backend.fo_domain.fcfs.repository.QuizRepository;
    +import com.softeer.backend.global.util.EventLockRedisUtil;
    +import jakarta.annotation.PostConstruct;
    +import lombok.*;
    +import lombok.extern.slf4j.Slf4j;
    +import org.springframework.data.domain.Sort;
    +import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
    +import org.springframework.stereotype.Component;
    +
    +import java.time.LocalDate;
    +import java.time.LocalDateTime;
    +import java.util.ArrayList;
    +import java.util.List;
    +
    +/**
    + * 선착순 이벤트 정보를 관리하는 클래스
    + */
    +<span class="nc" id="L26">@Slf4j</span>
    +@Getter
    +@Component
    +@RequiredArgsConstructor
    +public class FcfsSettingManager {
    +
    +    private final FcfsSettingRepository fcfsSettingRepository;
    +    private final ThreadPoolTaskScheduler taskScheduler;
    +    private final EventLockRedisUtil eventLockRedisUtil;
    +    private final EventParticipationRepository eventParticipationRepository;
    +    private final QuizRepository quizRepository;
    +
    +    private List&lt;FcfsSettingDto&gt; fcfsSettingList;
    +
    +    @Setter
    +    private boolean isFcfsClosed = false;
    +
    +    @PostConstruct
    +    public void init() {
    +<span class="nc" id="L45">        loadInitialData();</span>
    +<span class="nc" id="L46">    }</span>
    +
    +    public FcfsSettingDto getFcfsSettingByRound(int round) {
    +<span class="nc" id="L49">        return fcfsSettingList.get(round - 1);</span>
    +    }
    +
    +    /**
    +     * round 1에 해당하는 선착순 이벤트 속성으로 초기화
    +     */
    +    public void loadInitialData() {
    +
    +<span class="nc" id="L57">        List&lt;FcfsSetting&gt; fcfsSettings = fcfsSettingRepository.findAll();</span>
    +<span class="nc" id="L58">        fcfsSettingList = new ArrayList&lt;&gt;();</span>
    +
    +<span class="nc bnc" id="L60" title="All 2 branches missed.">        for (int i = 0; i &lt; 4; i++) {</span>
    +<span class="nc" id="L61">            fcfsSettingList.add(null);  // 인덱스 0부터 3까지 빈 슬롯을 추가</span>
    +        }
    +
    +<span class="nc" id="L64">        fcfsSettings.forEach((fcfsSetting) -&gt; {</span>
    +<span class="nc" id="L65">            fcfsSettingList.set(fcfsSetting.getRound() - 1, FcfsSettingDto.builder()</span>
    +<span class="nc" id="L66">                    .round(fcfsSetting.getRound())</span>
    +<span class="nc" id="L67">                    .startTime(fcfsSetting.getStartTime())</span>
    +<span class="nc" id="L68">                    .endTime(fcfsSetting.getEndTime())</span>
    +<span class="nc" id="L69">                    .winnerNum(fcfsSetting.getWinnerNum())</span>
    +<span class="nc" id="L70">                    .build());</span>
    +<span class="nc" id="L71">        });</span>
    +<span class="nc" id="L72">    }</span>
    +
    +    public void setFcfsSettingList(List&lt;FcfsSetting&gt; fcfsSettings){
    +
    +<span class="nc" id="L76">        fcfsSettings.forEach((fcfsSetting) -&gt; {</span>
    +<span class="nc" id="L77">            fcfsSettingList.set(fcfsSetting.getRound() - 1, FcfsSettingDto.builder()</span>
    +<span class="nc" id="L78">                    .round(fcfsSetting.getRound())</span>
    +<span class="nc" id="L79">                    .startTime(fcfsSetting.getStartTime())</span>
    +<span class="nc" id="L80">                    .endTime(fcfsSetting.getEndTime())</span>
    +<span class="nc" id="L81">                    .winnerNum(fcfsSetting.getWinnerNum())</span>
    +<span class="nc" id="L82">                    .build());</span>
    +<span class="nc" id="L83">        });</span>
    +<span class="nc" id="L84">    }</span>
    +
    +    public int getRoundForScheduler(LocalDate localDate) {
    +<span class="nc bnc" id="L87" title="All 2 branches missed.">        for (FcfsSettingDto fcfsSettingDto : fcfsSettingList) {</span>
    +<span class="nc bnc" id="L88" title="All 2 branches missed.">            if (fcfsSettingDto != null) {</span>
    +<span class="nc" id="L89">                LocalDate startDate = fcfsSettingDto.getStartTime().toLocalDate();</span>
    +<span class="nc" id="L90">                LocalDate dayAfterStartDate = startDate.plusDays(1);</span>
    +
    +                // localDate가 startDate의 하루 다음날과 같은지 확인
    +<span class="nc bnc" id="L93" title="All 2 branches missed.">                if (localDate.equals(dayAfterStartDate)) {</span>
    +<span class="nc" id="L94">                    return fcfsSettingDto.getRound();</span>
    +                }
    +            }
    +<span class="nc" id="L97">        }</span>
    +<span class="nc" id="L98">        return -1;  // 해당하는 데이터가 없는 경우</span>
    +    }
    +
    +    public int getFcfsWinnerNum(){
    +<span class="nc" id="L102">        return fcfsSettingList.get(0).getWinnerNum();</span>
    +    }
    +
    +    public boolean isFcfsEntryAvailable(LocalDateTime now){
    +<span class="nc bnc" id="L106" title="All 2 branches missed.">        for(FcfsSettingDto fcfsSettingDto : fcfsSettingList){</span>
    +<span class="nc" id="L107">            LocalDateTime startTime = fcfsSettingDto.getStartTime();</span>
    +<span class="nc" id="L108">            LocalDateTime endTime = fcfsSettingDto.getEndTime();</span>
    +
    +<span class="nc bnc" id="L110" title="All 4 branches missed.">            if((now.isEqual(startTime) || now.isAfter(startTime))</span>
    +<span class="nc bnc" id="L111" title="All 4 branches missed.">                    &amp;&amp; (now.isEqual(endTime) || now.isBefore(endTime))) {</span>
    +<span class="nc" id="L112">                return true;</span>
    +            }
    +<span class="nc" id="L114">        }</span>
    +<span class="nc" id="L115">        return false;</span>
    +    }
    +
    +    public Integer getFcfsRound(LocalDateTime now){
    +
    +<span class="nc bnc" id="L120" title="All 2 branches missed.">        for(FcfsSettingDto fcfsSettingDto : fcfsSettingList){</span>
    +<span class="nc" id="L121">            LocalDateTime startTime = fcfsSettingDto.getStartTime();</span>
    +<span class="nc" id="L122">            LocalDateTime endTime = fcfsSettingDto.getEndTime();</span>
    +
    +<span class="nc bnc" id="L124" title="All 4 branches missed.">            if((now.isEqual(startTime) || now.isAfter(startTime))</span>
    +<span class="nc bnc" id="L125" title="All 4 branches missed.">                    &amp;&amp; (now.isEqual(endTime) || now.isBefore(endTime))) {</span>
    +<span class="nc" id="L126">                return fcfsSettingDto.getRound();</span>
    +            }
    +<span class="nc" id="L128">        }</span>
    +<span class="nc" id="L129">        return null;</span>
    +    }
    +
    +    public LocalDateTime getNextFcfsTime(LocalDateTime now){
    +
    +<span class="nc bnc" id="L134" title="All 2 branches missed.">        for(FcfsSettingDto fcfsSettingDto : fcfsSettingList){</span>
    +<span class="nc" id="L135">            LocalDateTime startTime = fcfsSettingDto.getStartTime();</span>
    +
    +<span class="nc bnc" id="L137" title="All 2 branches missed.">            if(now.isBefore(startTime)) {</span>
    +<span class="nc" id="L138">                return startTime;</span>
    +            }
    +<span class="nc" id="L140">        }</span>
    +<span class="nc" id="L141">        return null;</span>
    +    }
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/QuizManager.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/QuizManager.html
    new file mode 100644
    index 00000000..dc3d658d
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/QuizManager.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>QuizManager</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.fcfs.service</a> &gt; <span class="el_class">QuizManager</span></div><h1>QuizManager</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">119 of 119</td><td class="ctr2">0%</td><td class="bar">8 of 8</td><td class="ctr2">0%</td><td class="ctr1">10</td><td class="ctr2">10</td><td class="ctr1">28</td><td class="ctr2">28</td><td class="ctr1">6</td><td class="ctr2">6</td></tr></tfoot><tbody><tr><td id="a0"><a href="QuizManager.java.html#L61" class="el_method">getHint()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="37" alt="37"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="6" alt="6"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h1">8</td><td class="ctr2" id="i1">8</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a3"><a href="QuizManager.java.html#L44" class="el_method">lambda$loadInitialData$0(Quiz)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="116" height="10" title="36" alt="36"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="40" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f1">2</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h0">11</td><td class="ctr2" id="i0">11</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a4"><a href="QuizManager.java.html#L39" class="el_method">loadInitialData()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="71" height="10" title="22" alt="22"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">4</td><td class="ctr2" id="i2">4</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a1"><a href="QuizManager.java.html#L81" class="el_method">getQuiz(int)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="55" height="10" title="17" alt="17"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">2</td><td class="ctr2" id="i3">2</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a5"><a href="QuizManager.java.html#L20" class="el_method">static {...}</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="12" height="10" title="4" alt="4"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h5">1</td><td class="ctr2" id="i5">1</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a2"><a href="QuizManager.java.html#L34" class="el_method">init()</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="9" height="10" title="3" alt="3"/></td><td class="ctr2" id="c5">0%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">1</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h4">2</td><td class="ctr2" id="i4">2</td><td class="ctr1" id="j5">1</td><td class="ctr2" id="k5">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/QuizManager.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/QuizManager.java.html
    new file mode 100644
    index 00000000..7cab6fc1
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/QuizManager.java.html
    @@ -0,0 +1,85 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>QuizManager.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.fcfs.service</a> &gt; <span class="el_source">QuizManager.java</span></div><h1>QuizManager.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.fcfs.service;
    +
    +import com.softeer.backend.fo_domain.fcfs.domain.FcfsSetting;
    +import com.softeer.backend.fo_domain.fcfs.domain.Quiz;
    +import com.softeer.backend.fo_domain.fcfs.dto.FcfsSettingDto;
    +import com.softeer.backend.fo_domain.fcfs.dto.QuizDto;
    +import com.softeer.backend.fo_domain.fcfs.repository.QuizRepository;
    +import jakarta.annotation.PostConstruct;
    +import lombok.Getter;
    +import lombok.RequiredArgsConstructor;
    +import lombok.extern.slf4j.Slf4j;
    +import org.springframework.data.domain.Sort;
    +import org.springframework.stereotype.Component;
    +import org.springframework.stereotype.Service;
    +
    +import java.time.LocalDateTime;
    +import java.util.ArrayList;
    +import java.util.List;
    +
    +<span class="nc" id="L20">@Slf4j</span>
    +@Component
    +@RequiredArgsConstructor
    +@Getter
    +public class QuizManager {
    +
    +    private final FcfsSettingManager fcfsSettingManager;
    +    private final QuizRepository quizRepository;
    +
    +    private QuizDto tutorialQuiz;
    +    private List&lt;QuizDto&gt; quizList;
    +
    +    @PostConstruct
    +    public void init() {
    +<span class="nc" id="L34">        loadInitialData();</span>
    +<span class="nc" id="L35">    }</span>
    +
    +    public void loadInitialData() {
    +
    +<span class="nc" id="L39">        List&lt;Quiz&gt; quizs = quizRepository.findAll(Sort.by(Sort.Direction.ASC, &quot;id&quot;));</span>
    +<span class="nc" id="L40">        quizList = new ArrayList&lt;&gt;();</span>
    +
    +<span class="nc" id="L42">        quizs.forEach((quiz) -&gt; {</span>
    +
    +<span class="nc" id="L44">            QuizDto quizDto = QuizDto.builder()</span>
    +<span class="nc" id="L45">                    .hint(quiz.getHint())</span>
    +<span class="nc" id="L46">                    .answerWord(quiz.getAnswerWord())</span>
    +<span class="nc" id="L47">                    .answerSentence(quiz.getAnswerSentence().replace(&quot;\\n&quot;, &quot;\n&quot;))</span>
    +<span class="nc" id="L48">                    .startIndex(quiz.getStartIndex())</span>
    +<span class="nc" id="L49">                    .endIndex(quiz.getEndIndex())</span>
    +<span class="nc" id="L50">                    .build();</span>
    +
    +<span class="nc bnc" id="L52" title="All 2 branches missed.">            if(quiz.getHint().equals(&quot;튜토리얼&quot;))</span>
    +<span class="nc" id="L53">                tutorialQuiz = quizDto;</span>
    +            else
    +<span class="nc" id="L55">                quizList.add(quizDto);</span>
    +<span class="nc" id="L56">        });</span>
    +<span class="nc" id="L57">    }</span>
    +
    +    public String getHint(){
    +
    +<span class="nc" id="L61">        LocalDateTime now = LocalDateTime.now();</span>
    +
    +<span class="nc bnc" id="L63" title="All 2 branches missed.">        for (int i=0; i&lt;fcfsSettingManager.getFcfsSettingList().size(); i++) {</span>
    +
    +<span class="nc" id="L65">            FcfsSettingDto fcfsSettingDto = fcfsSettingManager.getFcfsSettingList().get(i);</span>
    +
    +<span class="nc bnc" id="L67" title="All 2 branches missed.">            if (fcfsSettingDto != null) {</span>
    +<span class="nc" id="L68">                LocalDateTime endTime = fcfsSettingDto.getEndTime();</span>
    +
    +                // localDate가 startDate의 하루 다음날과 같은지 확인
    +<span class="nc bnc" id="L71" title="All 2 branches missed.">                if (endTime.isBefore(now)) {</span>
    +<span class="nc" id="L72">                    return quizList.get(i).getHint();</span>
    +                }
    +            }
    +        }
    +
    +<span class="nc" id="L77">        return null;</span>
    +    }
    +
    +    public QuizDto getQuiz(int round){
    +<span class="nc" id="L81">        log.info(&quot;quiz: {}&quot;, quizList.get(round-1));</span>
    +<span class="nc" id="L82">        return quizList.get(round - 1);</span>
    +    }
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/index.html
    new file mode 100644
    index 00000000..2e82e15b
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.fcfs.service</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.fcfs.service</span></div><h1>com.softeer.backend.fo_domain.fcfs.service</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">750 of 750</td><td class="ctr2">0%</td><td class="bar">54 of 54</td><td class="ctr2">0%</td><td class="ctr1">55</td><td class="ctr2">55</td><td class="ctr1">165</td><td class="ctr2">165</td><td class="ctr1">28</td><td class="ctr2">28</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a0"><a href="FcfsService.html" class="el_class">FcfsService</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="400" alt="400"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="52" height="10" title="14" alt="14"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f1">17</td><td class="ctr2" id="g1">17</td><td class="ctr1" id="h0">80</td><td class="ctr2" id="i0">80</td><td class="ctr1" id="j1">10</td><td class="ctr2" id="k1">10</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a1"><a href="FcfsSettingManager.html" class="el_class">FcfsSettingManager</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="69" height="10" title="231" alt="231"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="32" alt="32"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f0">28</td><td class="ctr2" id="g0">28</td><td class="ctr1" id="h1">57</td><td class="ctr2" id="i1">57</td><td class="ctr1" id="j0">12</td><td class="ctr2" id="k0">12</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a2"><a href="QuizManager.html" class="el_class">QuizManager</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="35" height="10" title="119" alt="119"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"><img src="../jacoco-resources/redbar.gif" width="30" height="10" title="8" alt="8"/></td><td class="ctr2" id="e2">0%</td><td class="ctr1" id="f2">10</td><td class="ctr2" id="g2">10</td><td class="ctr1" id="h2">28</td><td class="ctr2" id="i2">28</td><td class="ctr1" id="j2">6</td><td class="ctr2" id="k2">6</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/index.source.html
    new file mode 100644
    index 00000000..f77531c4
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.fcfs.service</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.fcfs.service</span></div><h1>com.softeer.backend.fo_domain.fcfs.service</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">750 of 750</td><td class="ctr2">0%</td><td class="bar">54 of 54</td><td class="ctr2">0%</td><td class="ctr1">55</td><td class="ctr2">55</td><td class="ctr1">165</td><td class="ctr2">165</td><td class="ctr1">28</td><td class="ctr2">28</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a0"><a href="FcfsService.java.html" class="el_source">FcfsService.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="400" alt="400"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="52" height="10" title="14" alt="14"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f1">17</td><td class="ctr2" id="g1">17</td><td class="ctr1" id="h0">80</td><td class="ctr2" id="i0">80</td><td class="ctr1" id="j1">10</td><td class="ctr2" id="k1">10</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a1"><a href="FcfsSettingManager.java.html" class="el_source">FcfsSettingManager.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="69" height="10" title="231" alt="231"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="32" alt="32"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f0">28</td><td class="ctr2" id="g0">28</td><td class="ctr1" id="h1">57</td><td class="ctr2" id="i1">57</td><td class="ctr1" id="j0">12</td><td class="ctr2" id="k0">12</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a2"><a href="QuizManager.java.html" class="el_source">QuizManager.java</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="35" height="10" title="119" alt="119"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"><img src="../jacoco-resources/redbar.gif" width="30" height="10" title="8" alt="8"/></td><td class="ctr2" id="e2">0%</td><td class="ctr1" id="f2">10</td><td class="ctr2" id="g2">10</td><td class="ctr1" id="h2">28</td><td class="ctr2" id="i2">28</td><td class="ctr1" id="j2">6</td><td class="ctr2" id="k2">6</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.controller/MainPageController.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.controller/MainPageController.html
    new file mode 100644
    index 00000000..8dc6747d
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.controller/MainPageController.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>MainPageController</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.mainpage.controller</a> &gt; <span class="el_class">MainPageController</span></div><h1>MainPageController</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">37 of 37</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">10</td><td class="ctr2">10</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a2"><a href="MainPageController.java.html#L27" class="el_method">getEventPageStatic()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="15" alt="15"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">4</td><td class="ctr2" id="i0">4</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="MainPageController.java.html#L45" class="el_method">getCarPage()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="15" alt="15"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">4</td><td class="ctr2" id="i1">4</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a1"><a href="MainPageController.java.html#L37" class="el_method">getEventPageInfo()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="56" height="10" title="7" alt="7"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">2</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.controller/MainPageController.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.controller/MainPageController.java.html
    new file mode 100644
    index 00000000..6c463cb7
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.controller/MainPageController.java.html
    @@ -0,0 +1,53 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>MainPageController.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.mainpage.controller</a> &gt; <span class="el_source">MainPageController.java</span></div><h1>MainPageController.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.mainpage.controller;
    +
    +import com.softeer.backend.fo_domain.mainpage.dto.MainPageCarResponseDto;
    +import com.softeer.backend.fo_domain.mainpage.dto.MainPageEventInfoResponseDto;
    +import com.softeer.backend.fo_domain.mainpage.dto.MainPageEventStaticResponseDto;
    +import com.softeer.backend.fo_domain.mainpage.service.MainPageService;
    +import com.softeer.backend.global.common.response.ResponseDto;
    +import lombok.RequiredArgsConstructor;
    +import org.springframework.http.CacheControl;
    +import org.springframework.http.ResponseEntity;
    +import org.springframework.web.bind.annotation.GetMapping;
    +import org.springframework.web.bind.annotation.PostMapping;
    +import org.springframework.web.bind.annotation.RequestMapping;
    +import org.springframework.web.bind.annotation.RestController;
    +
    +import java.util.concurrent.TimeUnit;
    +
    +@RestController
    +@RequiredArgsConstructor
    +@RequestMapping(&quot;/main&quot;)
    +public class MainPageController {
    +
    +    private final MainPageService mainPageService;
    +
    +    @GetMapping(&quot;/event/static&quot;)
    +    public ResponseEntity&lt;ResponseDto&lt;MainPageEventStaticResponseDto&gt;&gt; getEventPageStatic(){
    +<span class="nc" id="L27">        MainPageEventStaticResponseDto mainPageEventStaticResponseDto= mainPageService.getEventPageStatic();</span>
    +
    +<span class="nc" id="L29">        return ResponseEntity.ok()</span>
    +<span class="nc" id="L30">                .cacheControl(CacheControl.maxAge(1, TimeUnit.DAYS).cachePublic()) // 1일 동안 public 캐싱</span>
    +<span class="nc" id="L31">                .body(ResponseDto.onSuccess(mainPageEventStaticResponseDto));</span>
    +    }
    +
    +    @GetMapping(&quot;/event/info&quot;)
    +    public ResponseDto&lt;MainPageEventInfoResponseDto&gt; getEventPageInfo(){
    +
    +<span class="nc" id="L37">        MainPageEventInfoResponseDto mainPageEventInfoResponseDto = mainPageService.getEventPageInfo();</span>
    +
    +<span class="nc" id="L39">        return ResponseDto.onSuccess(mainPageEventInfoResponseDto);</span>
    +    }
    +
    +    @GetMapping(&quot;/car&quot;)
    +    public ResponseEntity&lt;ResponseDto&lt;MainPageCarResponseDto&gt;&gt; getCarPage(){
    +
    +<span class="nc" id="L45">        MainPageCarResponseDto mainPageCarResponseDto = mainPageService.getCarPage();</span>
    +
    +<span class="nc" id="L47">        return ResponseEntity.ok()</span>
    +<span class="nc" id="L48">                .cacheControl(CacheControl.maxAge(1, TimeUnit.DAYS).cachePublic()) // 1일 동안 public 캐싱</span>
    +<span class="nc" id="L49">                .body(ResponseDto.onSuccess(mainPageCarResponseDto));</span>
    +    }
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.controller/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.controller/index.html
    new file mode 100644
    index 00000000..a56d9edb
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.controller/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.mainpage.controller</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.mainpage.controller</span></div><h1>com.softeer.backend.fo_domain.mainpage.controller</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">37 of 37</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">10</td><td class="ctr2">10</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="MainPageController.html" class="el_class">MainPageController</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="37" alt="37"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">10</td><td class="ctr2" id="i0">10</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k0">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.controller/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.controller/index.source.html
    new file mode 100644
    index 00000000..57cb8e39
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.controller/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.mainpage.controller</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.mainpage.controller</span></div><h1>com.softeer.backend.fo_domain.mainpage.controller</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">37 of 37</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">10</td><td class="ctr2">10</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="MainPageController.java.html" class="el_source">MainPageController.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="37" alt="37"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">10</td><td class="ctr2" id="i0">10</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k0">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.service/MainPageService.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.service/MainPageService.html
    new file mode 100644
    index 00000000..5b586820
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.service/MainPageService.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>MainPageService</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.mainpage.service</a> &gt; <span class="el_class">MainPageService</span></div><h1>MainPageService</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">500 of 500</td><td class="ctr2">0%</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="ctr1">10</td><td class="ctr2">10</td><td class="ctr1">93</td><td class="ctr2">93</td><td class="ctr1">8</td><td class="ctr2">8</td></tr></tfoot><tbody><tr><td id="a3"><a href="MainPageService.java.html#L123" class="el_method">getCarPage()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="144" alt="144"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h0">23</td><td class="ctr2" id="i0">23</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a4"><a href="MainPageService.java.html#L80" class="el_method">getEventPageInfo()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="118" height="10" title="142" alt="142"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h1">22</td><td class="ctr2" id="i1">22</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a5"><a href="MainPageService.java.html#L52" class="el_method">getEventPageStatic()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="74" height="10" title="89" alt="89"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h2">19</td><td class="ctr2" id="i2">19</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a2"><a href="MainPageService.java.html#L286" class="el_method">createCarInfoWithDetails(int, StaticTextName, StaticTextName, StaticTextName, StaticTextName, S3FileName, S3FileName, List, Map, Map)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="35" height="10" title="43" alt="43"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h3">10</td><td class="ctr2" id="i3">10</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a1"><a href="MainPageService.java.html#L251" class="el_method">createCarInfo(int, StaticTextName, StaticTextName, S3FileName, S3FileName, Map, Map)</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="24" height="10" title="29" alt="29"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">1</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h4">7</td><td class="ctr2" id="i4">7</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a0"><a href="MainPageService.java.html#L267" class="el_method">createCarDetailInfo(int, StaticTextName, StaticTextName, StaticTextName, S3FileName, Map, Map)</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="24" height="10" title="29" alt="29"/></td><td class="ctr2" id="c5">0%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">1</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h5">7</td><td class="ctr2" id="i5">7</td><td class="ctr1" id="j5">1</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a6"><a href="MainPageService.java.html#L112" class="el_method">setTotalVisitorsCount()</a></td><td class="bar" id="b6"><img src="../jacoco-resources/redbar.gif" width="16" height="10" title="20" alt="20"/></td><td class="ctr2" id="c6">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h6">4</td><td class="ctr2" id="i6">4</td><td class="ctr1" id="j6">1</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a7"><a href="MainPageService.java.html#L33" class="el_method">static {...}</a></td><td class="bar" id="b7"><img src="../jacoco-resources/redbar.gif" width="3" height="10" title="4" alt="4"/></td><td class="ctr2" id="c7">0%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">1</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h7">1</td><td class="ctr2" id="i7">1</td><td class="ctr1" id="j7">1</td><td class="ctr2" id="k7">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.service/MainPageService.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.service/MainPageService.java.html
    new file mode 100644
    index 00000000..195f63e8
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.service/MainPageService.java.html
    @@ -0,0 +1,298 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>MainPageService.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.mainpage.service</a> &gt; <span class="el_source">MainPageService.java</span></div><h1>MainPageService.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.mainpage.service;
    +
    +import com.softeer.backend.fo_domain.draw.repository.DrawRepository;
    +import com.softeer.backend.fo_domain.draw.service.DrawSettingManager;
    +import com.softeer.backend.fo_domain.fcfs.dto.FcfsSettingDto;
    +import com.softeer.backend.fo_domain.fcfs.service.FcfsSettingManager;
    +import com.softeer.backend.fo_domain.fcfs.service.QuizManager;
    +import com.softeer.backend.fo_domain.mainpage.dto.MainPageCarResponseDto;
    +import com.softeer.backend.fo_domain.mainpage.dto.MainPageEventInfoResponseDto;
    +import com.softeer.backend.fo_domain.mainpage.dto.MainPageEventStaticResponseDto;
    +import com.softeer.backend.global.common.constant.RedisKeyPrefix;
    +import com.softeer.backend.global.staticresources.constant.S3FileName;
    +import com.softeer.backend.global.staticresources.constant.StaticTextName;
    +import com.softeer.backend.global.staticresources.util.StaticResourceUtil;
    +import com.softeer.backend.global.util.EventLockRedisUtil;
    +import lombok.RequiredArgsConstructor;
    +import lombok.extern.slf4j.Slf4j;
    +import org.springframework.cache.annotation.Cacheable;
    +import org.springframework.stereotype.Service;
    +import org.springframework.transaction.annotation.Transactional;
    +
    +import java.text.DecimalFormat;
    +import java.time.DayOfWeek;
    +import java.time.LocalDate;
    +import java.time.LocalDateTime;
    +import java.time.format.DateTimeFormatter;
    +import java.util.Arrays;
    +import java.util.List;
    +import java.util.Locale;
    +import java.util.Map;
    +import java.util.stream.Collectors;
    +
    +<span class="nc" id="L33">@Slf4j</span>
    +@Service
    +@RequiredArgsConstructor
    +public class MainPageService {
    +    private final DateTimeFormatter eventTimeFormatter = DateTimeFormatter.ofPattern(&quot;yyyy.MM.dd&quot;);
    +    private final DateTimeFormatter fcfsTimeFormatter = DateTimeFormatter.ofPattern(&quot;a h&quot;, Locale.KOREAN);
    +    private final DecimalFormat decimalFormat = new DecimalFormat(&quot;#,###&quot;);
    +
    +    private final EventLockRedisUtil eventLockRedisUtil;
    +    private final FcfsSettingManager fcfsSettingManager;
    +    private final DrawSettingManager drawSettingManager;
    +    private final QuizManager quizManager;
    +    private final DrawRepository drawRepository;
    +    private final StaticResourceUtil staticResourceUtil;
    +
    +    @Transactional(readOnly = true)
    +    @Cacheable(value = &quot;staticResources&quot;, key = &quot;'event'&quot;)
    +    public MainPageEventStaticResponseDto getEventPageStatic(){
    +
    +<span class="nc" id="L52">        Map&lt;String, String&gt; textContentMap = staticResourceUtil.getTextContentMap();</span>
    +<span class="nc" id="L53">        Map&lt;String, String&gt; s3ContentMap = staticResourceUtil.getS3ContentMap();</span>
    +
    +<span class="nc" id="L55">        MainPageEventStaticResponseDto.EventInfo fcfsInfo = MainPageEventStaticResponseDto.EventInfo.builder()</span>
    +<span class="nc" id="L56">                .title(textContentMap.get(StaticTextName.FCFS_TITLE.name()))</span>
    +<span class="nc" id="L57">                .content(textContentMap.get(StaticTextName.FCFS_CONTENT.name()))</span>
    +<span class="nc" id="L58">                .rewardImage1(s3ContentMap.get(S3FileName.FCFS_REWARD_IMAGE_1.name()))</span>
    +<span class="nc" id="L59">                .rewardImage2(s3ContentMap.get(S3FileName.FCFS_REWARD_IMAGE_2.name()))</span>
    +<span class="nc" id="L60">                .build();</span>
    +
    +<span class="nc" id="L62">        MainPageEventStaticResponseDto.EventInfo drawInfo = MainPageEventStaticResponseDto.EventInfo.builder()</span>
    +<span class="nc" id="L63">                .title(textContentMap.get(StaticTextName.DRAW_TITLE.name()))</span>
    +<span class="nc" id="L64">                .content(textContentMap.get(StaticTextName.DRAW_CONTENT.name()))</span>
    +<span class="nc" id="L65">                .rewardImage1(s3ContentMap.get(S3FileName.DRAW_REWARD_IMAGE_1.name()))</span>
    +<span class="nc" id="L66">                .rewardImage2(s3ContentMap.get(S3FileName.DRAW_REWARD_IMAGE_2_3.name()))</span>
    +<span class="nc" id="L67">                .build();</span>
    +
    +<span class="nc" id="L69">        return MainPageEventStaticResponseDto.builder()</span>
    +<span class="nc" id="L70">                .eventTitle(textContentMap.get(StaticTextName.EVENT_TITLE.name()))</span>
    +<span class="nc" id="L71">                .eventDescription(textContentMap.get(StaticTextName.EVENT_DESCRIPTION.name()))</span>
    +<span class="nc" id="L72">                .eventInfoList(Arrays.asList(fcfsInfo, drawInfo))</span>
    +<span class="nc" id="L73">                .build();</span>
    +
    +    }
    +
    +    @Transactional(readOnly = true)
    +    public MainPageEventInfoResponseDto getEventPageInfo(){
    +
    +<span class="nc" id="L80">        setTotalVisitorsCount();</span>
    +
    +<span class="nc" id="L82">        Map&lt;String, String&gt; textContentMap = staticResourceUtil.getTextContentMap();</span>
    +
    +<span class="nc" id="L84">        FcfsSettingDto firstFcfsSetting = fcfsSettingManager.getFcfsSettingByRound(1);</span>
    +<span class="nc" id="L85">        FcfsSettingDto secondFcfsSetting = fcfsSettingManager.getFcfsSettingByRound(2);</span>
    +
    +<span class="nc" id="L87">        int totalDrawWinner = drawSettingManager.getWinnerNum1()</span>
    +<span class="nc" id="L88">                + drawSettingManager.getWinnerNum2() + drawSettingManager.getWinnerNum3();</span>
    +
    +<span class="nc" id="L90">        int remainDrawCount = totalDrawWinner - (int)drawRepository.count();</span>
    +
    +<span class="nc" id="L92">        return MainPageEventInfoResponseDto.builder()</span>
    +<span class="nc" id="L93">                .startDate(drawSettingManager.getStartDate().format(eventTimeFormatter))</span>
    +<span class="nc" id="L94">                .endDate(drawSettingManager.getEndDate().format(eventTimeFormatter))</span>
    +<span class="nc" id="L95">                .fcfsInfo(staticResourceUtil.format(textContentMap.get(StaticTextName.FCFS_INFO.name()),</span>
    +<span class="nc" id="L96">                        staticResourceUtil.getKoreanDayOfWeek(firstFcfsSetting.getStartTime().getDayOfWeek()),</span>
    +<span class="nc" id="L97">                        staticResourceUtil.getKoreanDayOfWeek(secondFcfsSetting.getStartTime().getDayOfWeek()),</span>
    +<span class="nc" id="L98">                        firstFcfsSetting.getStartTime().format(fcfsTimeFormatter),</span>
    +<span class="nc" id="L99">                        firstFcfsSetting.getWinnerNum()))</span>
    +<span class="nc" id="L100">                .totalDrawWinner(staticResourceUtil.format(</span>
    +<span class="nc" id="L101">                        textContentMap.get(StaticTextName.TOTAL_DRAW_WINNER.name()), decimalFormat.format(totalDrawWinner)))</span>
    +<span class="nc" id="L102">                .remainDrawCount(staticResourceUtil.format(</span>
    +<span class="nc" id="L103">                        textContentMap.get(StaticTextName.REMAIN_DRAW_COUNT.name()), decimalFormat.format(remainDrawCount)))</span>
    +<span class="nc" id="L104">                .fcfsHint(quizManager.getHint())</span>
    +<span class="nc" id="L105">                .fcfsStartTime(fcfsSettingManager.getNextFcfsTime(LocalDateTime.now()))</span>
    +<span class="nc" id="L106">                .build();</span>
    +    }
    +
    +    // 이벤트 기간이면 redis에 사이트 방문자 수 +1 하기
    +    public void setTotalVisitorsCount(){
    +
    +<span class="nc" id="L112">        LocalDate now = LocalDate.now();</span>
    +
    +<span class="nc bnc" id="L114" title="All 4 branches missed.">        if (!now.isBefore(drawSettingManager.getStartDate()) &amp;&amp; !now.isAfter(drawSettingManager.getEndDate())) {</span>
    +<span class="nc" id="L115">            eventLockRedisUtil.incrementData(RedisKeyPrefix.TOTAL_VISITORS_COUNT_PREFIX.getPrefix());</span>
    +        }
    +
    +<span class="nc" id="L118">    }</span>
    +
    +    @Transactional(readOnly = true)
    +    @Cacheable(value = &quot;staticResources&quot;, key = &quot;'car'&quot;)
    +    public MainPageCarResponseDto getCarPage() {
    +<span class="nc" id="L123">        Map&lt;String, String&gt; textContentMap = staticResourceUtil.getTextContentMap();</span>
    +<span class="nc" id="L124">        Map&lt;String, String&gt; s3ContentMap = staticResourceUtil.getS3ContentMap();</span>
    +
    +<span class="nc" id="L126">        List&lt;MainPageCarResponseDto.CarInfo&gt; carInfoList = List.of(</span>
    +<span class="nc" id="L127">                createCarInfo(1,</span>
    +                        StaticTextName.MAIN_TITLE,
    +                        StaticTextName.MAIN_SUBTITLE,
    +                        S3FileName.IONIQ_VIDEO,
    +                        S3FileName.MAIN_BACKGROUND_IMAGE,
    +                        textContentMap,
    +                        s3ContentMap),
    +<span class="nc" id="L134">                createCarInfoWithDetails(2,</span>
    +                        StaticTextName.INTERIOR_TITLE,
    +                        StaticTextName.INTERIOR_SUBTITLE,
    +                        StaticTextName.INTERIOR_IMAGE_TITLE,
    +                        StaticTextName.INTERIOR_IMAGE_CONTENT,
    +                        S3FileName.INTERIOR_THUMBNAIL_IMAGE,
    +                        S3FileName.INTERIOR_BACKGROUND_IMAGE,
    +<span class="nc" id="L141">                        List.of(</span>
    +<span class="nc" id="L142">                                createCarDetailInfo(1,</span>
    +                                        StaticTextName.INTERIOR_OPENNESS_TITLE,
    +                                        StaticTextName.INTERIOR_OPENNESS_SUBTITLE,
    +                                        StaticTextName.INTERIOR_OPENNESS_CONTENT,
    +                                        S3FileName.INTERIOR_OPENNESS_IMAGE,
    +                                        textContentMap,
    +                                        s3ContentMap),
    +<span class="nc" id="L149">                                createCarDetailInfo(2,</span>
    +                                        StaticTextName.INTERIOR_WELLNESS_TITLE,
    +                                        StaticTextName.INTERIOR_WELLNESS_SUBTITLE,
    +                                        StaticTextName.INTERIOR_WELLNESS_CONTENT,
    +                                        S3FileName.INTERIOR_WELLNESS_IMAGE,
    +                                        textContentMap,
    +                                        s3ContentMap)
    +                        ),
    +                        textContentMap,
    +                        s3ContentMap
    +                ),
    +<span class="nc" id="L160">                createCarInfoWithDetails(3,</span>
    +                        StaticTextName.PERFORMANCE_TITLE,
    +                        StaticTextName.PERFORMANCE_SUBTITLE,
    +                        StaticTextName.PERFORMANCE_IMAGE_TITLE,
    +                        StaticTextName.PERFORMANCE_IMAGE_CONTENT,
    +                        S3FileName.PERFORMANCE_THUMBNAIL_IMAGE,
    +                        S3FileName.PERFORMANCE_BACKGROUND_IMAGE,
    +<span class="nc" id="L167">                        List.of(</span>
    +<span class="nc" id="L168">                                createCarDetailInfo(1,</span>
    +                                        StaticTextName.PERFORMANCE_BRAKING_TITLE,
    +                                        StaticTextName.PERFORMANCE_BRAKING_SUBTITLE,
    +                                        StaticTextName.PERFORMANCE_BRAKING_CONTENT,
    +                                        S3FileName.PERFORMANCE_BRAKING_IMAGE,
    +                                        textContentMap,
    +                                        s3ContentMap),
    +<span class="nc" id="L175">                                createCarDetailInfo(2,</span>
    +                                        StaticTextName.PERFORMANCE_DRIVING_TITLE,
    +                                        StaticTextName.PERFORMANCE_DRIVING_SUBTITLE,
    +                                        StaticTextName.PERFORMANCE_DRIVING_CONTENT,
    +                                        S3FileName.PERFORMANCE_DRIVING_IMAGE,
    +                                        textContentMap,
    +                                        s3ContentMap)
    +                        ),
    +                        textContentMap,
    +                        s3ContentMap
    +                ),
    +<span class="nc" id="L186">                createCarInfoWithDetails(4, StaticTextName.CHARGING_TITLE,</span>
    +                        StaticTextName.CHARGING_SUBTITLE,
    +                        StaticTextName.CHARGING_IMAGE_TITLE,
    +                        StaticTextName.CHARGING_IMAGE_CONTENT,
    +                        S3FileName.CHARGING_THUMBNAIL_IMAGE,
    +                        S3FileName.CHARGING_BACKGROUND_IMAGE,
    +<span class="nc" id="L192">                        List.of(</span>
    +<span class="nc" id="L193">                                createCarDetailInfo(1,</span>
    +                                        StaticTextName.CHARGING_FAST_TITLE,
    +                                        StaticTextName.CHARGING_FAST_SUBTITLE,
    +                                        StaticTextName.CHARGING_FAST_CONTENT,
    +                                        S3FileName.CHARGING_FAST_IMAGE,
    +                                        textContentMap,
    +                                        s3ContentMap),
    +<span class="nc" id="L200">                                createCarDetailInfo(2,</span>
    +                                        StaticTextName.CHARGING_V2L_TITLE,
    +                                        StaticTextName.CHARGING_V2L_SUBTITLE,
    +                                        StaticTextName.CHARGING_V2L_CONTENT,
    +                                        S3FileName.CHARGING_V2L_IMAGE,
    +                                        textContentMap,
    +                                        s3ContentMap)
    +                        ),
    +                        textContentMap,
    +                        s3ContentMap
    +                ),
    +<span class="nc" id="L211">                createCarInfoWithDetails(5,</span>
    +                        StaticTextName.SAFE_TITLE,
    +                        StaticTextName.SAFE_SUBTITLE,
    +                        StaticTextName.SAFE_IMAGE_TITLE,
    +                        StaticTextName.SAFE_IMAGE_CONTENT,
    +                        S3FileName.SAFE_THUMBNAIL_IMAGE,
    +                        S3FileName.SAFE_BACKGROUND_IMAGE,
    +<span class="nc" id="L218">                        List.of(</span>
    +<span class="nc" id="L219">                                createCarDetailInfo(1,</span>
    +                                        StaticTextName.SAFE_DRIVING_TITLE,
    +                                        StaticTextName.SAFE_DRIVING_SUBTITLE,
    +                                        StaticTextName.SAFE_DRIVING_CONTENT,
    +                                        S3FileName.SAFE_DRIVING_IMAGE,
    +                                        textContentMap,
    +                                        s3ContentMap),
    +<span class="nc" id="L226">                                createCarDetailInfo(2,</span>
    +                                        StaticTextName.SAFE_ADVANCED_TITLE,
    +                                        StaticTextName.SAFE_ADVANCED_SUBTITLE,
    +                                        StaticTextName.SAFE_ADVANCED_CONTENT,
    +                                        S3FileName.SAFE_ADVANCED_IMAGE,
    +                                        textContentMap,
    +                                        s3ContentMap)
    +                        ),
    +                        textContentMap,
    +                        s3ContentMap
    +                )
    +        );
    +
    +<span class="nc" id="L239">        return MainPageCarResponseDto.builder()</span>
    +<span class="nc" id="L240">                .carInfoList(carInfoList)</span>
    +<span class="nc" id="L241">                .build();</span>
    +    }
    +
    +    private MainPageCarResponseDto.CarInfo createCarInfo(int id,
    +                                                         StaticTextName titleKey,
    +                                                         StaticTextName subTitleKey,
    +                                                         S3FileName imgUrlKey,
    +                                                         S3FileName backgroundImgUrlKey,
    +                                                         Map&lt;String, String&gt; textContentMap,
    +                                                         Map&lt;String, String&gt; s3ContentMap) {
    +<span class="nc" id="L251">        return MainPageCarResponseDto.CarInfo.builder()</span>
    +<span class="nc" id="L252">                .id(id)</span>
    +<span class="nc" id="L253">                .title(textContentMap.get(titleKey.name()))</span>
    +<span class="nc" id="L254">                .subTitle(textContentMap.get(subTitleKey.name()))</span>
    +<span class="nc" id="L255">                .imgUrl(s3ContentMap.get(imgUrlKey.name()))</span>
    +<span class="nc" id="L256">                .backgroundImgUrl(s3ContentMap.get(backgroundImgUrlKey.name()))</span>
    +<span class="nc" id="L257">                .build();</span>
    +    }
    +
    +    private MainPageCarResponseDto.CarDetailInfo createCarDetailInfo(int id,
    +                                                                     StaticTextName titleKey,
    +                                                                     StaticTextName subTitleKey,
    +                                                                     StaticTextName contentKey,
    +                                                                     S3FileName imgUrlKey,
    +                                                                     Map&lt;String, String&gt; textContentMap,
    +                                                                     Map&lt;String, String&gt; s3ContentMap) {
    +<span class="nc" id="L267">        return MainPageCarResponseDto.CarDetailInfo.builder()</span>
    +<span class="nc" id="L268">                .id(id)</span>
    +<span class="nc" id="L269">                .title(textContentMap.get(titleKey.name()))</span>
    +<span class="nc" id="L270">                .subTitle(textContentMap.get(subTitleKey.name()))</span>
    +<span class="nc" id="L271">                .content(textContentMap.get(contentKey.name()))</span>
    +<span class="nc" id="L272">                .imgUrl(s3ContentMap.get(imgUrlKey.name()))</span>
    +<span class="nc" id="L273">                .build();</span>
    +    }
    +
    +    private MainPageCarResponseDto.CarInfo createCarInfoWithDetails(int id,
    +                                                                    StaticTextName titleKey,
    +                                                                    StaticTextName subTitleKey,
    +                                                                    StaticTextName imgTitleKey,
    +                                                                    StaticTextName imgContentKey,
    +                                                                    S3FileName imgUrlKey,
    +                                                                    S3FileName backgroundImgUrlKey,
    +                                                                    List&lt;MainPageCarResponseDto.CarDetailInfo&gt; carDetailInfoList,
    +                                                                    Map&lt;String, String&gt; textContentMap,
    +                                                                    Map&lt;String, String&gt; s3ContentMap) {
    +<span class="nc" id="L286">        return MainPageCarResponseDto.CarInfo.builder()</span>
    +<span class="nc" id="L287">                .id(id)</span>
    +<span class="nc" id="L288">                .title(textContentMap.get(titleKey.name()))</span>
    +<span class="nc" id="L289">                .subTitle(textContentMap.get(subTitleKey.name()))</span>
    +<span class="nc" id="L290">                .imgTitle(textContentMap.get(imgTitleKey.name()))</span>
    +<span class="nc" id="L291">                .imgContent(textContentMap.get(imgContentKey.name()))</span>
    +<span class="nc" id="L292">                .imgUrl(s3ContentMap.get(imgUrlKey.name()))</span>
    +<span class="nc" id="L293">                .backgroundImgUrl(s3ContentMap.get(backgroundImgUrlKey.name()))</span>
    +<span class="nc" id="L294">                .carDetailInfoList(carDetailInfoList)</span>
    +<span class="nc" id="L295">                .build();</span>
    +    }
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.service/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.service/index.html
    new file mode 100644
    index 00000000..66039df0
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.service/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.mainpage.service</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.mainpage.service</span></div><h1>com.softeer.backend.fo_domain.mainpage.service</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">500 of 500</td><td class="ctr2">0%</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="ctr1">10</td><td class="ctr2">10</td><td class="ctr1">93</td><td class="ctr2">93</td><td class="ctr1">8</td><td class="ctr2">8</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="MainPageService.html" class="el_class">MainPageService</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="500" alt="500"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">10</td><td class="ctr2" id="g0">10</td><td class="ctr1" id="h0">93</td><td class="ctr2" id="i0">93</td><td class="ctr1" id="j0">8</td><td class="ctr2" id="k0">8</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.service/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.service/index.source.html
    new file mode 100644
    index 00000000..12cff694
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.service/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.mainpage.service</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.mainpage.service</span></div><h1>com.softeer.backend.fo_domain.mainpage.service</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">500 of 500</td><td class="ctr2">0%</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="ctr1">10</td><td class="ctr2">10</td><td class="ctr1">93</td><td class="ctr2">93</td><td class="ctr1">8</td><td class="ctr2">8</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="MainPageService.java.html" class="el_source">MainPageService.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="500" alt="500"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">10</td><td class="ctr2" id="g0">10</td><td class="ctr1" id="h0">93</td><td class="ctr2" id="i0">93</td><td class="ctr1" id="j0">8</td><td class="ctr2" id="k0">8</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.controller/ShareController.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.controller/ShareController.html
    new file mode 100644
    index 00000000..fb584b38
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.controller/ShareController.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ShareController</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.share.controller</a> &gt; <span class="el_class">ShareController</span></div><h1>ShareController</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">38 of 38</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">9</td><td class="ctr2">9</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="ShareController.java.html#L33" class="el_method">redirectWithShareUrl(String, HttpServletRequest, HttpServletResponse)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="32" alt="32"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">8</td><td class="ctr2" id="i0">8</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="ShareController.java.html#L27" class="el_method">getShortenShareUrl(Integer)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="22" height="10" title="6" alt="6"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.controller/ShareController.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.controller/ShareController.java.html
    new file mode 100644
    index 00000000..b84a90e6
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.controller/ShareController.java.html
    @@ -0,0 +1,45 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ShareController.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.share.controller</a> &gt; <span class="el_source">ShareController.java</span></div><h1>ShareController.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.share.controller;
    +
    +import com.softeer.backend.fo_domain.share.dto.ShareUrlInfoResponseDto;
    +import com.softeer.backend.fo_domain.share.service.ShareUrlInfoService;
    +import com.softeer.backend.global.annotation.AuthInfo;
    +import com.softeer.backend.global.common.response.ResponseDto;
    +import io.swagger.v3.oas.annotations.Parameter;
    +import jakarta.servlet.http.Cookie;
    +import jakarta.servlet.http.HttpServletRequest;
    +import jakarta.servlet.http.HttpServletResponse;
    +import jakarta.servlet.http.HttpSession;
    +import lombok.RequiredArgsConstructor;
    +import org.springframework.http.HttpHeaders;
    +import org.springframework.http.HttpStatus;
    +import org.springframework.http.ResponseEntity;
    +import org.springframework.web.bind.annotation.GetMapping;
    +import org.springframework.web.bind.annotation.PathVariable;
    +import org.springframework.web.bind.annotation.RestController;
    +
    +@RestController
    +@RequiredArgsConstructor
    +public class ShareController {
    +    private final ShareUrlInfoService shareUrlInfoService;
    +
    +    @GetMapping(&quot;/share-shorten-url&quot;)
    +    public ResponseDto&lt;ShareUrlInfoResponseDto&gt; getShortenShareUrl(@Parameter(hidden = true) @AuthInfo Integer userId) {
    +<span class="nc" id="L27">        return ResponseDto.onSuccess(shareUrlInfoService.getShortenShareUrl(userId));</span>
    +    }
    +
    +    @GetMapping(&quot;/share/{shareUrl}&quot;)
    +    public ResponseEntity&lt;Void&gt; redirectWithShareUrl(@PathVariable String shareUrl, HttpServletRequest request, HttpServletResponse response) {
    +        // session을 이용해 공유 url 저장
    +<span class="nc" id="L33">        Cookie shareCodeCookie = new Cookie(&quot;shareCode&quot;, shareUrl);</span>
    +<span class="nc" id="L34">        shareCodeCookie.setPath(&quot;/&quot;);</span>
    +<span class="nc" id="L35">        shareCodeCookie.setHttpOnly(false); // HttpOnly 속성을 비활성화</span>
    +<span class="nc" id="L36">        shareCodeCookie.setDomain(&quot;softeer.site&quot;); // 도메인 설정. 이렇게 해서 softeer.site 포함 하위 모든 도메인에서 해당 쿠키 사용 가능</span>
    +<span class="nc" id="L37">        response.addCookie(shareCodeCookie);</span>
    +
    +        // 헤더를 이용해 redirect
    +<span class="nc" id="L40">        HttpHeaders headers = new HttpHeaders();</span>
    +<span class="nc" id="L41">        headers.add(&quot;Location&quot;, &quot;https://softeer.site&quot;);</span>
    +<span class="nc" id="L42">        return new ResponseEntity&lt;&gt;(headers, HttpStatus.FOUND); // HTTP 302 Found 응답</span>
    +    }
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.controller/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.controller/index.html
    new file mode 100644
    index 00000000..e360c138
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.controller/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.share.controller</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.share.controller</span></div><h1>com.softeer.backend.fo_domain.share.controller</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">38 of 38</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">9</td><td class="ctr2">9</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="ShareController.html" class="el_class">ShareController</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="38" alt="38"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">9</td><td class="ctr2" id="i0">9</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.controller/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.controller/index.source.html
    new file mode 100644
    index 00000000..ce3d183a
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.controller/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.share.controller</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.share.controller</span></div><h1>com.softeer.backend.fo_domain.share.controller</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">38 of 38</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">9</td><td class="ctr2">9</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="ShareController.java.html" class="el_source">ShareController.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="38" alt="38"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">9</td><td class="ctr2" id="i0">9</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.domain/ShareInfo.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.domain/ShareInfo.html
    new file mode 100644
    index 00000000..b7a81f79
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.domain/ShareInfo.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ShareInfo</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.share.domain</a> &gt; <span class="el_class">ShareInfo</span></div><h1>ShareInfo</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 13</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">1</td><td class="ctr1">0</td><td class="ctr2">5</td><td class="ctr1">0</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="ShareInfo.java.html#L27" class="el_method">ShareInfo(Integer, Integer, Integer)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="13" alt="13"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">5</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.domain/ShareInfo.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.domain/ShareInfo.java.html
    new file mode 100644
    index 00000000..2716b738
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.domain/ShareInfo.java.html
    @@ -0,0 +1,33 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ShareInfo.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.share.domain</a> &gt; <span class="el_source">ShareInfo.java</span></div><h1>ShareInfo.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.share.domain;
    +
    +import jakarta.persistence.Column;
    +import jakarta.persistence.Entity;
    +import jakarta.persistence.Id;
    +import jakarta.persistence.Table;
    +import lombok.Builder;
    +import lombok.Getter;
    +import lombok.NoArgsConstructor;
    +
    +@Getter
    +@Entity
    +@NoArgsConstructor
    +@Table(name = &quot;share_info&quot;)
    +public class ShareInfo {
    +    @Id
    +    @Column(name = &quot;user_id&quot;)
    +    private int userId;
    +
    +    @Column(name = &quot;invited_num&quot;)
    +    private Integer invitedNum;
    +
    +    @Column(name = &quot;remain_draw_count&quot;)
    +    private Integer remainDrawCount;
    +
    +    @Builder
    +<span class="fc" id="L27">    public ShareInfo(Integer userId, Integer invitedNum, Integer remainDrawCount) {</span>
    +<span class="fc" id="L28">        this.userId = userId;</span>
    +<span class="fc" id="L29">        this.invitedNum = invitedNum;</span>
    +<span class="fc" id="L30">        this.remainDrawCount = remainDrawCount;</span>
    +<span class="fc" id="L31">    }</span>
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.domain/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.domain/index.html
    new file mode 100644
    index 00000000..55cfde6a
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.domain/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.share.domain</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.share.domain</span></div><h1>com.softeer.backend.fo_domain.share.domain</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 13</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">1</td><td class="ctr1">0</td><td class="ctr2">5</td><td class="ctr1">0</td><td class="ctr2">1</td><td class="ctr1">0</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="ShareInfo.html" class="el_class">ShareInfo</a></td><td class="bar" id="b0"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="13" alt="13"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">5</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.domain/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.domain/index.source.html
    new file mode 100644
    index 00000000..fdfde95f
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.domain/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.share.domain</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.share.domain</span></div><h1>com.softeer.backend.fo_domain.share.domain</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 13</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">1</td><td class="ctr1">0</td><td class="ctr2">5</td><td class="ctr1">0</td><td class="ctr2">1</td><td class="ctr1">0</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="ShareInfo.java.html" class="el_source">ShareInfo.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="13" alt="13"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">5</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/ShareInfoException.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/ShareInfoException.html
    new file mode 100644
    index 00000000..cf1329f7
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/ShareInfoException.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ShareInfoException</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.share.exception</a> &gt; <span class="el_class">ShareInfoException</span></div><h1>ShareInfoException</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="ShareInfoException.java.html#L9" class="el_method">ShareInfoException(BaseErrorCode)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/ShareInfoException.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/ShareInfoException.java.html
    new file mode 100644
    index 00000000..c1a9fbe1
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/ShareInfoException.java.html
    @@ -0,0 +1,12 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ShareInfoException.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.share.exception</a> &gt; <span class="el_source">ShareInfoException.java</span></div><h1>ShareInfoException.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.share.exception;
    +
    +import com.softeer.backend.global.common.code.BaseErrorCode;
    +import com.softeer.backend.global.common.exception.GeneralException;
    +
    +
    +public class ShareInfoException extends GeneralException {
    +    public ShareInfoException(BaseErrorCode code) {
    +<span class="nc" id="L9">        super(code);</span>
    +<span class="nc" id="L10">    }</span>
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/ShareUrlInfoException.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/ShareUrlInfoException.html
    new file mode 100644
    index 00000000..7b58b031
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/ShareUrlInfoException.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ShareUrlInfoException</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.share.exception</a> &gt; <span class="el_class">ShareUrlInfoException</span></div><h1>ShareUrlInfoException</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="ShareUrlInfoException.java.html#L8" class="el_method">ShareUrlInfoException(BaseErrorCode)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/ShareUrlInfoException.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/ShareUrlInfoException.java.html
    new file mode 100644
    index 00000000..1cf4c329
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/ShareUrlInfoException.java.html
    @@ -0,0 +1,11 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ShareUrlInfoException.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.share.exception</a> &gt; <span class="el_source">ShareUrlInfoException.java</span></div><h1>ShareUrlInfoException.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.share.exception;
    +
    +import com.softeer.backend.global.common.code.BaseErrorCode;
    +import com.softeer.backend.global.common.exception.GeneralException;
    +
    +public class ShareUrlInfoException extends GeneralException {
    +    public ShareUrlInfoException(BaseErrorCode code) {
    +<span class="nc" id="L8">        super(code);</span>
    +<span class="nc" id="L9">    }</span>
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/index.html
    new file mode 100644
    index 00000000..500beffc
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.share.exception</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.share.exception</span></div><h1>com.softeer.backend.fo_domain.share.exception</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">8 of 8</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="ShareInfoException.html" class="el_class">ShareInfoException</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a1"><a href="ShareUrlInfoException.html" class="el_class">ShareUrlInfoException</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/index.source.html
    new file mode 100644
    index 00000000..dc0487fe
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.share.exception</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.share.exception</span></div><h1>com.softeer.backend.fo_domain.share.exception</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">8 of 8</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="ShareInfoException.java.html" class="el_source">ShareInfoException.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a1"><a href="ShareUrlInfoException.java.html" class="el_source">ShareUrlInfoException.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.service/ShareUrlInfoService.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.service/ShareUrlInfoService.html
    new file mode 100644
    index 00000000..eaa66353
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.service/ShareUrlInfoService.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ShareUrlInfoService</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.share.service</a> &gt; <span class="el_class">ShareUrlInfoService</span></div><h1>ShareUrlInfoService</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">26 of 26</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">9</td><td class="ctr2">9</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="ShareUrlInfoService.java.html#L19" class="el_method">getShortenShareUrl(Integer)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="21" alt="21"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">8</td><td class="ctr2" id="i0">8</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="ShareUrlInfoService.java.html#L27" class="el_method">lambda$getShortenShareUrl$0()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="28" height="10" title="5" alt="5"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.service/ShareUrlInfoService.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.service/ShareUrlInfoService.java.html
    new file mode 100644
    index 00000000..28614087
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.service/ShareUrlInfoService.java.html
    @@ -0,0 +1,37 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ShareUrlInfoService.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.share.service</a> &gt; <span class="el_source">ShareUrlInfoService.java</span></div><h1>ShareUrlInfoService.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.share.service;
    +
    +import com.softeer.backend.fo_domain.share.dto.ShareUrlInfoResponseDto;
    +import com.softeer.backend.fo_domain.share.exception.ShareInfoException;
    +import com.softeer.backend.fo_domain.share.repository.ShareUrlInfoRepository;
    +import com.softeer.backend.global.common.code.status.ErrorStatus;
    +import lombok.RequiredArgsConstructor;
    +import org.springframework.stereotype.Service;
    +
    +@Service
    +@RequiredArgsConstructor
    +public class ShareUrlInfoService {
    +    public static final String NON_USER_SHARE_URL = &quot;https://softeer.site&quot;;
    +    public static final String BASE_URL = &quot;https://softeer.site/share/&quot;;
    +
    +    private final ShareUrlInfoRepository shareUrlInfoRepository;
    +
    +    public ShareUrlInfoResponseDto getShortenShareUrl(Integer userId) {
    +<span class="nc bnc" id="L19" title="All 2 branches missed.">        if (userId == null) {</span>
    +            // 로그인하지 않은 사용자
    +<span class="nc" id="L21">            return ShareUrlInfoResponseDto.builder()</span>
    +<span class="nc" id="L22">                    .shareUrl(NON_USER_SHARE_URL)</span>
    +<span class="nc" id="L23">                    .build();</span>
    +        } else {
    +            // 로그인한 사용자
    +<span class="nc" id="L26">            String shareCode = shareUrlInfoRepository.findShareUrlByUserId(userId).orElseThrow(</span>
    +<span class="nc" id="L27">                    () -&gt; new ShareInfoException(ErrorStatus._NOT_FOUND)</span>
    +            );
    +
    +            // DB에 이미 생성된 단축 url 코드 반환
    +<span class="nc" id="L31">            return ShareUrlInfoResponseDto.builder()</span>
    +<span class="nc" id="L32">                    .shareUrl(BASE_URL + shareCode)</span>
    +<span class="nc" id="L33">                    .build();</span>
    +        }
    +    }
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.service/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.service/index.html
    new file mode 100644
    index 00000000..f7cac8e9
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.service/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.share.service</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.share.service</span></div><h1>com.softeer.backend.fo_domain.share.service</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">26 of 26</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">9</td><td class="ctr2">9</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="ShareUrlInfoService.html" class="el_class">ShareUrlInfoService</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="26" alt="26"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">9</td><td class="ctr2" id="i0">9</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.service/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.service/index.source.html
    new file mode 100644
    index 00000000..f799b1cd
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.service/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.share.service</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.share.service</span></div><h1>com.softeer.backend.fo_domain.share.service</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">26 of 26</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">9</td><td class="ctr2">9</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="ShareUrlInfoService.java.html" class="el_source">ShareUrlInfoService.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="26" alt="26"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">9</td><td class="ctr2" id="i0">9</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/RedisVerificationPrefix.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/RedisVerificationPrefix.html
    new file mode 100644
    index 00000000..12d8342d
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/RedisVerificationPrefix.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>RedisVerificationPrefix</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.user.constatnt</a> &gt; <span class="el_class">RedisVerificationPrefix</span></div><h1>RedisVerificationPrefix</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">32 of 32</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">7</td><td class="ctr2">7</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="RedisVerificationPrefix.java.html#L5" class="el_method">static {...}</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="24" alt="24"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">4</td><td class="ctr2" id="i0">4</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="RedisVerificationPrefix.java.html#L13" class="el_method">RedisVerificationPrefix(String, int, String)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="40" height="10" title="8" alt="8"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">3</td><td class="ctr2" id="i1">3</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/RedisVerificationPrefix.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/RedisVerificationPrefix.java.html
    new file mode 100644
    index 00000000..b26c3c80
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/RedisVerificationPrefix.java.html
    @@ -0,0 +1,17 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>RedisVerificationPrefix.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.user.constatnt</a> &gt; <span class="el_source">RedisVerificationPrefix.java</span></div><h1>RedisVerificationPrefix.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.user.constatnt;
    +
    +import lombok.Getter;
    +
    +<span class="nc" id="L5">@Getter</span>
    +public enum RedisVerificationPrefix {
    +<span class="nc" id="L7">    VERIFICATION_CODE(&quot;VERIFICATION_CODE:&quot;), // 인증코드의 Redis key prefix</span>
    +<span class="nc" id="L8">    VERIFICATION_ISSUE_COUNT(&quot;VERIFICATION_ISSUE_COUNT:&quot;), // 인증코드 발급 횟수의 Redis key prefix</span>
    +<span class="nc" id="L9">    VERIFICATION_ATTEMPTS(&quot;VERIFICATION_ATTEMPTS:&quot;); // 인증코드 시도 횟수의 Redis key prefix</span>
    +
    +    private final String prefix;
    +
    +<span class="nc" id="L13">    RedisVerificationPrefix(String prefix) {</span>
    +<span class="nc" id="L14">        this.prefix = prefix;</span>
    +<span class="nc" id="L15">    }</span>
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/VerificationProperty.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/VerificationProperty.html
    new file mode 100644
    index 00000000..bfac80d4
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/VerificationProperty.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>VerificationProperty</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.user.constatnt</a> &gt; <span class="el_class">VerificationProperty</span></div><h1>VerificationProperty</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">42 of 42</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">8</td><td class="ctr2">8</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="VerificationProperty.java.html#L6" class="el_method">static {...}</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="34" alt="34"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">5</td><td class="ctr2" id="i0">5</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="VerificationProperty.java.html#L16" class="el_method">VerificationProperty(String, int, int)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="28" height="10" title="8" alt="8"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">3</td><td class="ctr2" id="i1">3</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/VerificationProperty.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/VerificationProperty.java.html
    new file mode 100644
    index 00000000..24881b4c
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/VerificationProperty.java.html
    @@ -0,0 +1,21 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>VerificationProperty.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.user.constatnt</a> &gt; <span class="el_source">VerificationProperty.java</span></div><h1>VerificationProperty.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.user.constatnt;
    +
    +import lombok.Getter;
    +import lombok.extern.slf4j.Slf4j;
    +
    +<span class="nc" id="L6">@Slf4j</span>
    +@Getter
    +public enum VerificationProperty {
    +<span class="nc" id="L9">    TIME_LIMIT(300), // 인증코드 유효시간(단위: sec)</span>
    +<span class="nc" id="L10">    CODE_LENGTH(6), // 인증코드의 길이</span>
    +<span class="nc" id="L11">    MAX_ATTEMPTS(3), // 인증코드의 인증 제한 횟수</span>
    +<span class="nc" id="L12">    CODE_ISSUE_ATTEMPTS(5); // 인증코드 발급 제한 횟수</span>
    +
    +    private final int value;
    +
    +<span class="nc" id="L16">    VerificationProperty(int value) {</span>
    +<span class="nc" id="L17">        this.value = value;</span>
    +<span class="nc" id="L18">    }</span>
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/index.html
    new file mode 100644
    index 00000000..8f6afdf2
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.user.constatnt</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.user.constatnt</span></div><h1>com.softeer.backend.fo_domain.user.constatnt</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">74 of 74</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">15</td><td class="ctr2">15</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="VerificationProperty.html" class="el_class">VerificationProperty</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="42" alt="42"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">8</td><td class="ctr2" id="i0">8</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="RedisVerificationPrefix.html" class="el_class">RedisVerificationPrefix</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="91" height="10" title="32" alt="32"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">2</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h1">7</td><td class="ctr2" id="i1">7</td><td class="ctr1" id="j1">2</td><td class="ctr2" id="k1">2</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/index.source.html
    new file mode 100644
    index 00000000..1f135248
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.user.constatnt</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.user.constatnt</span></div><h1>com.softeer.backend.fo_domain.user.constatnt</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">74 of 74</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">15</td><td class="ctr2">15</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="VerificationProperty.java.html" class="el_source">VerificationProperty.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="42" alt="42"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">8</td><td class="ctr2" id="i0">8</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="RedisVerificationPrefix.java.html" class="el_source">RedisVerificationPrefix.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="91" height="10" title="32" alt="32"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">2</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h1">7</td><td class="ctr2" id="i1">7</td><td class="ctr1" id="j1">2</td><td class="ctr2" id="k1">2</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/LoginController.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/LoginController.html
    new file mode 100644
    index 00000000..cae4d81f
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/LoginController.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>LoginController</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.user.controller</a> &gt; <span class="el_class">LoginController</span></div><h1>LoginController</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">9 of 9</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="LoginController.java.html#L20" class="el_method">handleLogin(LoginRequestDto, String)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="9" alt="9"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/LoginController.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/LoginController.java.html
    new file mode 100644
    index 00000000..88dd481a
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/LoginController.java.html
    @@ -0,0 +1,26 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>LoginController.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.user.controller</a> &gt; <span class="el_source">LoginController.java</span></div><h1>LoginController.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.user.controller;
    +
    +import com.softeer.backend.fo_domain.user.dto.LoginRequestDto;
    +import com.softeer.backend.global.common.dto.JwtTokenResponseDto;
    +import com.softeer.backend.fo_domain.user.service.LoginService;
    +import com.softeer.backend.global.common.response.ResponseDto;
    +import jakarta.validation.Valid;
    +import lombok.RequiredArgsConstructor;
    +import org.springframework.web.bind.annotation.*;
    +
    +@RestController
    +@RequiredArgsConstructor
    +public class LoginController {
    +
    +    private final LoginService loginService;
    +
    +    @PostMapping(&quot;/login&quot;)
    +    ResponseDto&lt;JwtTokenResponseDto&gt; handleLogin(@Valid @RequestBody LoginRequestDto loginRequestDto,
    +                                                 @RequestHeader(value = &quot;shareCode&quot;, required = false) String shareCode) {
    +<span class="nc" id="L20">        JwtTokenResponseDto jwtTokenResponseDto = loginService.handleLogin(loginRequestDto, shareCode);</span>
    +
    +<span class="nc" id="L22">        return ResponseDto.onSuccess(jwtTokenResponseDto);</span>
    +    }
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/VerificationController.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/VerificationController.html
    new file mode 100644
    index 00000000..d3546cef
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/VerificationController.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>VerificationController</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.user.controller</a> &gt; <span class="el_class">VerificationController</span></div><h1>VerificationController</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">27 of 27</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">6</td><td class="ctr2">6</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a1"><a href="VerificationController.java.html#L25" class="el_method">sendVerificationCode(VerificationCodeRequestDto)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="9" alt="9"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="VerificationController.java.html#L34" class="el_method">sendVerificationCodeTest(VerificationCodeRequestDto)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="9" alt="9"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="VerificationController.java.html#L43" class="el_method">confirmVerificationCode(ConfirmCodeRequestDto)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="9" alt="9"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">2</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/VerificationController.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/VerificationController.java.html
    new file mode 100644
    index 00000000..0ee526c4
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/VerificationController.java.html
    @@ -0,0 +1,48 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>VerificationController.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.user.controller</a> &gt; <span class="el_source">VerificationController.java</span></div><h1>VerificationController.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.user.controller;
    +
    +import com.softeer.backend.fo_domain.user.dto.verification.ConfirmCodeRequestDto;
    +import com.softeer.backend.fo_domain.user.dto.verification.VerificationCodeRequestDto;
    +import com.softeer.backend.fo_domain.user.dto.verification.VerificationCodeResponseDto;
    +import com.softeer.backend.fo_domain.user.dto.verification.VerificationCodeTestResponseDto;
    +import com.softeer.backend.fo_domain.user.service.VerificationService;
    +import com.softeer.backend.global.common.response.ResponseDto;
    +import jakarta.validation.Valid;
    +import lombok.RequiredArgsConstructor;
    +import org.springframework.web.bind.annotation.PostMapping;
    +import org.springframework.web.bind.annotation.RequestBody;
    +import org.springframework.web.bind.annotation.RequestMapping;
    +import org.springframework.web.bind.annotation.RestController;
    +
    +@RestController
    +@RequiredArgsConstructor
    +@RequestMapping(&quot;/verification&quot;)
    +public class VerificationController {
    +    private final VerificationService verificationService;
    +
    +    @PostMapping(&quot;/send&quot;)
    +    public ResponseDto&lt;VerificationCodeResponseDto&gt; sendVerificationCode(@Valid @RequestBody VerificationCodeRequestDto verificationCodeRequestDto) {
    +
    +<span class="nc" id="L25">        VerificationCodeResponseDto response = verificationService.sendVerificationCode(verificationCodeRequestDto.getPhoneNumber());</span>
    +
    +<span class="nc" id="L27">        return ResponseDto.onSuccess(response);</span>
    +
    +    }
    +
    +    @PostMapping(&quot;/send/test&quot;)
    +    public ResponseDto&lt;VerificationCodeTestResponseDto&gt; sendVerificationCodeTest(@Valid @RequestBody VerificationCodeRequestDto verificationCodeRequestDto) {
    +
    +<span class="nc" id="L34">        VerificationCodeTestResponseDto response = verificationService.sendVerificationCodeTest(verificationCodeRequestDto.getPhoneNumber());</span>
    +
    +<span class="nc" id="L36">        return ResponseDto.onSuccess(response);</span>
    +
    +    }
    +
    +    @PostMapping(&quot;/confirm&quot;)
    +    public ResponseDto&lt;Void&gt; confirmVerificationCode(@Valid @RequestBody ConfirmCodeRequestDto confirmCodeRequestDto) {
    +
    +<span class="nc" id="L43">        verificationService.confirmVerificationCode(confirmCodeRequestDto.getPhoneNumber(), confirmCodeRequestDto.getVerificationCode());</span>
    +
    +<span class="nc" id="L45">        return ResponseDto.onSuccess();</span>
    +    }
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/index.html
    new file mode 100644
    index 00000000..86c06551
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.user.controller</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.user.controller</span></div><h1>com.softeer.backend.fo_domain.user.controller</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">36 of 36</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">8</td><td class="ctr2">8</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="VerificationController.html" class="el_class">VerificationController</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="27" alt="27"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">6</td><td class="ctr2" id="i0">6</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k0">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="LoginController.html" class="el_class">LoginController</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="40" height="10" title="9" alt="9"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/index.source.html
    new file mode 100644
    index 00000000..6907c074
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.user.controller</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.user.controller</span></div><h1>com.softeer.backend.fo_domain.user.controller</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">36 of 36</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">8</td><td class="ctr2">8</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="VerificationController.java.html" class="el_source">VerificationController.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="27" alt="27"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">6</td><td class="ctr2" id="i0">6</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k0">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="LoginController.java.html" class="el_source">LoginController.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="40" height="10" title="9" alt="9"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.exception/UserException.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.exception/UserException.html
    new file mode 100644
    index 00000000..4a6c72c1
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.exception/UserException.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>UserException</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.user.exception</a> &gt; <span class="el_class">UserException</span></div><h1>UserException</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="UserException.java.html#L9" class="el_method">UserException(BaseErrorCode)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.exception/UserException.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.exception/UserException.java.html
    new file mode 100644
    index 00000000..e2731eaa
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.exception/UserException.java.html
    @@ -0,0 +1,12 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>UserException.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.user.exception</a> &gt; <span class="el_source">UserException.java</span></div><h1>UserException.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.user.exception;
    +
    +import com.softeer.backend.global.common.code.BaseErrorCode;
    +import com.softeer.backend.global.common.exception.GeneralException;
    +
    +public class UserException extends GeneralException {
    +
    +    public UserException(BaseErrorCode code) {
    +<span class="nc" id="L9">        super(code);</span>
    +<span class="nc" id="L10">    }</span>
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.exception/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.exception/index.html
    new file mode 100644
    index 00000000..7842f078
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.exception/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.user.exception</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.user.exception</span></div><h1>com.softeer.backend.fo_domain.user.exception</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="UserException.html" class="el_class">UserException</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.exception/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.exception/index.source.html
    new file mode 100644
    index 00000000..7c2fe46b
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.exception/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.user.exception</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.user.exception</span></div><h1>com.softeer.backend.fo_domain.user.exception</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="UserException.java.html" class="el_source">UserException.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.properties/SmsProperties.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.properties/SmsProperties.html
    new file mode 100644
    index 00000000..56ec2bea
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.properties/SmsProperties.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>SmsProperties</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.user.properties</a> &gt; <span class="el_class">SmsProperties</span></div><h1>SmsProperties</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">15 of 15</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">6</td><td class="ctr2">6</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="SmsProperties.java.html#L19" class="el_method">SmsProperties(String, String, String, String)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="15" alt="15"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">6</td><td class="ctr2" id="i0">6</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.properties/SmsProperties.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.properties/SmsProperties.java.html
    new file mode 100644
    index 00000000..a6b61138
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.properties/SmsProperties.java.html
    @@ -0,0 +1,26 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>SmsProperties.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.user.properties</a> &gt; <span class="el_source">SmsProperties.java</span></div><h1>SmsProperties.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.user.properties;
    +
    +import lombok.Getter;
    +import org.springframework.boot.context.properties.ConfigurationProperties;
    +import org.springframework.boot.context.properties.bind.ConstructorBinding;
    +
    +/**
    + * CoolSms Api 속성 관리 클래스
    + */
    +@Getter
    +@ConfigurationProperties(&quot;coolsms.api&quot;)
    +public class SmsProperties {
    +    private final String key;
    +    private final String secret;
    +    private final String senderNumber;
    +    private final String url;
    +
    +    @ConstructorBinding
    +<span class="nc" id="L19">    public SmsProperties(String key, String secret, String senderNumber, String url) {</span>
    +<span class="nc" id="L20">        this.key = key;</span>
    +<span class="nc" id="L21">        this.secret = secret;</span>
    +<span class="nc" id="L22">        this.senderNumber = senderNumber;</span>
    +<span class="nc" id="L23">        this.url = url;</span>
    +<span class="nc" id="L24">    }</span>
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.properties/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.properties/index.html
    new file mode 100644
    index 00000000..b1bf7467
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.properties/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.user.properties</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.user.properties</span></div><h1>com.softeer.backend.fo_domain.user.properties</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">15 of 15</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">6</td><td class="ctr2">6</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="SmsProperties.html" class="el_class">SmsProperties</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="15" alt="15"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">6</td><td class="ctr2" id="i0">6</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.properties/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.properties/index.source.html
    new file mode 100644
    index 00000000..7e88c385
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.properties/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.user.properties</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.user.properties</span></div><h1>com.softeer.backend.fo_domain.user.properties</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">15 of 15</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">6</td><td class="ctr2">6</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="SmsProperties.java.html" class="el_source">SmsProperties.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="15" alt="15"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">6</td><td class="ctr2" id="i0">6</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/LoginService.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/LoginService.html
    new file mode 100644
    index 00000000..b3a44c03
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/LoginService.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>LoginService</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.user.service</a> &gt; <span class="el_class">LoginService</span></div><h1>LoginService</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">181 of 181</td><td class="ctr2">0%</td><td class="bar">10 of 10</td><td class="ctr2">0%</td><td class="ctr1">11</td><td class="ctr2">11</td><td class="ctr1">54</td><td class="ctr2">54</td><td class="ctr1">6</td><td class="ctr2">6</td></tr></tfoot><tbody><tr><td id="a3"><a href="LoginService.java.html#L46" class="el_method">handleLogin(LoginRequestDto, String)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="108" alt="108"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="8" alt="8"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">5</td><td class="ctr2" id="g0">5</td><td class="ctr1" id="h0">29</td><td class="ctr2" id="i0">29</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="LoginService.java.html#L117" class="el_method">createShareUrlInfo(Integer)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="30" height="10" title="27" alt="27"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="30" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f1">2</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h1">9</td><td class="ctr2" id="i1">9</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="LoginService.java.html#L133" class="el_method">createDrawParticipationInfo(Integer)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="22" height="10" title="20" alt="20"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">8</td><td class="ctr2" id="i2">8</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a1"><a href="LoginService.java.html#L107" class="el_method">createShareInfo(Integer)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="18" height="10" title="17" alt="17"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">7</td><td class="ctr2" id="i3">7</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a4"><a href="LoginService.java.html#L81" class="el_method">lambda$handleLogin$0()</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="5" height="10" title="5" alt="5"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">1</td><td class="ctr2" id="i4">1</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a5"><a href="LoginService.java.html#L25" class="el_method">static {...}</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="4" height="10" title="4" alt="4"/></td><td class="ctr2" id="c5">0%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">1</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">1</td><td class="ctr2" id="i5">1</td><td class="ctr1" id="j5">1</td><td class="ctr2" id="k5">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/LoginService.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/LoginService.java.html
    new file mode 100644
    index 00000000..f6e35196
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/LoginService.java.html
    @@ -0,0 +1,143 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>LoginService.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.user.service</a> &gt; <span class="el_source">LoginService.java</span></div><h1>LoginService.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.user.service;
    +
    +import com.softeer.backend.fo_domain.draw.domain.DrawParticipationInfo;
    +import com.softeer.backend.fo_domain.draw.repository.DrawParticipationInfoRepository;
    +import com.softeer.backend.fo_domain.share.domain.ShareInfo;
    +import com.softeer.backend.fo_domain.share.domain.ShareUrlInfo;
    +import com.softeer.backend.fo_domain.share.exception.ShareUrlInfoException;
    +import com.softeer.backend.fo_domain.share.repository.ShareInfoRepository;
    +import com.softeer.backend.fo_domain.share.repository.ShareUrlInfoRepository;
    +import com.softeer.backend.fo_domain.user.domain.User;
    +import com.softeer.backend.fo_domain.user.dto.LoginRequestDto;
    +import com.softeer.backend.global.common.dto.JwtTokenResponseDto;
    +import com.softeer.backend.fo_domain.user.exception.UserException;
    +import com.softeer.backend.fo_domain.user.repository.UserRepository;
    +import com.softeer.backend.global.common.code.status.ErrorStatus;
    +import com.softeer.backend.global.common.constant.RoleType;
    +import com.softeer.backend.global.common.dto.JwtClaimsDto;
    +import com.softeer.backend.global.util.JwtUtil;
    +import com.softeer.backend.global.util.RandomCodeUtil;
    +import lombok.RequiredArgsConstructor;
    +import lombok.extern.slf4j.Slf4j;
    +import org.springframework.stereotype.Service;
    +import org.springframework.transaction.annotation.Transactional;
    +
    +<span class="nc" id="L25">@Slf4j</span>
    +@Service
    +@RequiredArgsConstructor
    +public class LoginService {
    +    private final UserRepository userRepository;
    +    private final ShareInfoRepository shareInfoRepository;
    +    private final ShareUrlInfoRepository shareUrlInfoRepository;
    +    private final DrawParticipationInfoRepository drawParticipationInfoRepository;
    +    private final JwtUtil jwtUtil;
    +
    +    /**
    +     * 1. Login 정보애서 인증 번호가 인증되지 않은 경우, 예외가 발생한다.
    +     * 2. 전화번호가 User DB에 등록되어 있지 않은 경우, DB에 User를 등록한다.
    +     * 2-1. 이 때 공유 정보, 공유 url 생성, 추첨 이벤트 참여 정보를 생성한다.
    +     * 2-2. 만약 공유 url을 통해 인증한 사용자라면 공유한 사용자의 추첨 기회를 추가해준다.
    +     * 3. 전화번호가 이미 User DB에 등록되어 있는 경우, 전화번호로 User 객체를 조회한다.
    +     * 4. User 객체의 id를 얻은 후에, access &amp; refresh token을 client에게 전달한다.
    +     */
    +    @Transactional
    +    public JwtTokenResponseDto handleLogin(LoginRequestDto loginRequestDto, String shareCode) {
    +        // 인증번호가 인증 되지 않은 경우, 예외 발생
    +<span class="nc bnc" id="L46" title="All 2 branches missed.">        if (!loginRequestDto.getHasCodeVerified()) {</span>
    +<span class="nc" id="L47">            log.error(&quot;hasCodeVerified is false in loginRequest.&quot;);</span>
    +<span class="nc" id="L48">            throw new UserException(ErrorStatus._AUTH_CODE_NOT_VERIFIED);</span>
    +        }
    +
    +        int userId;
    +
    +        // 전화번호가 User DB에 등록되어 있지 않은 경우
    +        // User를 DB에 등록
    +        // 추첨 이벤트 참여 정보 생성
    +        // 공유 정보 생성(초대한 친구 수, 남은 추첨 횟수)
    +        // 공유 url 생성
    +        // 만약 공유 url을 통해 새로 인증한 사용자라면 공유자에게 추첨 기회 1회 추가
    +<span class="nc bnc" id="L59" title="All 2 branches missed.">        if (!userRepository.existsByPhoneNumber(loginRequestDto.getPhoneNumber())) {</span>
    +<span class="nc" id="L60">            User user = User.builder()</span>
    +<span class="nc" id="L61">                    .name(loginRequestDto.getName())</span>
    +<span class="nc" id="L62">                    .phoneNumber(loginRequestDto.getPhoneNumber())</span>
    +<span class="nc" id="L63">                    .privacyConsent(loginRequestDto.getPrivacyConsent())</span>
    +<span class="nc" id="L64">                    .marketingConsent(loginRequestDto.getMarketingConsent())</span>
    +<span class="nc" id="L65">                    .build();</span>
    +
    +<span class="nc" id="L67">            User registeredUser = userRepository.save(user);</span>
    +<span class="nc" id="L68">            userId = registeredUser.getId();</span>
    +
    +<span class="nc" id="L70">            createDrawParticipationInfo(userId); // 추첨 이벤트 참여 정보 생성</span>
    +<span class="nc" id="L71">            createShareInfo(userId); // 공유 정보 생성(초대한 친구 수, 남은 추첨 횟수)</span>
    +<span class="nc" id="L72">            createShareUrlInfo(userId); // 공유 url 생성</span>
    +
    +            // 공유받은 url을 이용해 인증한다면
    +            // 공유한 사람 추첨 기회 추가
    +            // 공유한 사람의 &quot;내가 초대한 친구 수&quot; 추가
    +            // 공유받은 사람은 이미 공유 url로 참여했다고 표시해주기
    +<span class="nc bnc" id="L78" title="All 2 branches missed.">            if (shareCode != null) {</span>
    +                // 공유한 사람의 아이디
    +<span class="nc" id="L80">                Integer shareUserId = shareUrlInfoRepository.findUserIdByShareUrl(shareCode)</span>
    +<span class="nc" id="L81">                        .orElseThrow(() -&gt; new ShareUrlInfoException(ErrorStatus._NOT_FOUND));</span>
    +
    +                // 공유한 사람 추첨 기회 추가
    +<span class="nc" id="L84">                shareInfoRepository.increaseInvitedNumAndRemainDrawCount(shareUserId);</span>
    +            }
    +<span class="nc" id="L86">        }</span>
    +        // 전화번호가 이미 User DB에 등록되어 있는 경우
    +        // 전화번호로 User 객체 조회
    +        else {
    +<span class="nc" id="L90">            User user = userRepository.findByPhoneNumber(loginRequestDto.getPhoneNumber());</span>
    +
    +<span class="nc bnc" id="L92" title="All 2 branches missed.">            if(!user.getName().equals(loginRequestDto.getName()))</span>
    +<span class="nc" id="L93">                throw new UserException(ErrorStatus._AUTH_USERNAME_NOT_MATCH);</span>
    +
    +<span class="nc" id="L95">            user.setMarketingConsent(loginRequestDto.getMarketingConsent());</span>
    +
    +<span class="nc" id="L97">            userId = user.getId();</span>
    +        }
    +
    +<span class="nc" id="L100">        return jwtUtil.createServiceToken(JwtClaimsDto.builder()</span>
    +<span class="nc" id="L101">                .id(userId)</span>
    +<span class="nc" id="L102">                .roleType(RoleType.ROLE_USER)</span>
    +<span class="nc" id="L103">                .build());</span>
    +    }
    +
    +    private void createShareInfo(Integer userId) {
    +<span class="nc" id="L107">        ShareInfo shareInfo = ShareInfo.builder()</span>
    +<span class="nc" id="L108">                .userId(userId)</span>
    +<span class="nc" id="L109">                .invitedNum(0)</span>
    +<span class="nc" id="L110">                .remainDrawCount(1)</span>
    +<span class="nc" id="L111">                .build();</span>
    +
    +<span class="nc" id="L113">        shareInfoRepository.save(shareInfo);</span>
    +<span class="nc" id="L114">    }</span>
    +
    +    private void createShareUrlInfo(Integer userId) {
    +<span class="nc" id="L117">        RandomCodeUtil randomCodeUtil = new RandomCodeUtil();</span>
    +        String shareCode;
    +
    +        do {
    +<span class="nc" id="L121">            shareCode = randomCodeUtil.generateRandomCode(4);</span>
    +<span class="nc bnc" id="L122" title="All 2 branches missed.">        } while (shareUrlInfoRepository.findUserIdByShareUrl(shareCode).isPresent());</span>
    +
    +<span class="nc" id="L124">        ShareUrlInfo shareUrlInfo = ShareUrlInfo.builder()</span>
    +<span class="nc" id="L125">                .userId(userId)</span>
    +<span class="nc" id="L126">                .shareUrl(shareCode)</span>
    +<span class="nc" id="L127">                .build();</span>
    +
    +<span class="nc" id="L129">        shareUrlInfoRepository.save(shareUrlInfo);</span>
    +<span class="nc" id="L130">    }</span>
    +
    +    private void createDrawParticipationInfo(Integer userId) {
    +<span class="nc" id="L133">        DrawParticipationInfo drawParticipationInfo = DrawParticipationInfo.builder()</span>
    +<span class="nc" id="L134">                .userId(userId)</span>
    +<span class="nc" id="L135">                .drawWinningCount(0)</span>
    +<span class="nc" id="L136">                .drawLosingCount(0)</span>
    +<span class="nc" id="L137">                .drawAttendanceCount(1)</span>
    +<span class="nc" id="L138">                .build();</span>
    +
    +<span class="nc" id="L140">        drawParticipationInfoRepository.save(drawParticipationInfo);</span>
    +<span class="nc" id="L141">    }</span>
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/VerificationService.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/VerificationService.html
    new file mode 100644
    index 00000000..31fcf5fd
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/VerificationService.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>VerificationService</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.user.service</a> &gt; <span class="el_class">VerificationService</span></div><h1>VerificationService</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">304 of 304</td><td class="ctr2">0%</td><td class="bar">16 of 16</td><td class="ctr2">0%</td><td class="ctr1">13</td><td class="ctr2">13</td><td class="ctr1">64</td><td class="ctr2">64</td><td class="ctr1">5</td><td class="ctr2">5</td></tr></tfoot><tbody><tr><td id="a1"><a href="VerificationService.java.html#L46" class="el_method">sendVerificationCode(String)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="104" alt="104"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="60" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f1">3</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h0">21</td><td class="ctr2" id="i0">21</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="VerificationService.java.html#L124" class="el_method">confirmVerificationCode(String, String)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="111" height="10" title="97" alt="97"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="8" alt="8"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f0">5</td><td class="ctr2" id="g0">5</td><td class="ctr1" id="h1">19</td><td class="ctr2" id="i1">19</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="VerificationService.java.html#L86" class="el_method">sendVerificationCodeTest(String)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="88" height="10" title="77" alt="77"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"><img src="../jacoco-resources/redbar.gif" width="60" height="10" title="4" alt="4"/></td><td class="ctr2" id="e2">0%</td><td class="ctr1" id="f2">3</td><td class="ctr2" id="g2">3</td><td class="ctr1" id="h2">16</td><td class="ctr2" id="i2">16</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a4"><a href="VerificationService.java.html#L31" class="el_method">VerificationService(SmsProperties, StringRedisUtil, RandomCodeUtil)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="25" height="10" title="22" alt="22"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">7</td><td class="ctr2" id="i3">7</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a3"><a href="VerificationService.java.html#L22" class="el_method">static {...}</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="4" height="10" title="4" alt="4"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">1</td><td class="ctr2" id="i4">1</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/VerificationService.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/VerificationService.java.html
    new file mode 100644
    index 00000000..d239094f
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/VerificationService.java.html
    @@ -0,0 +1,158 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>VerificationService.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.user.service</a> &gt; <span class="el_source">VerificationService.java</span></div><h1>VerificationService.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.user.service;
    +
    +import com.softeer.backend.fo_domain.user.constatnt.RedisVerificationPrefix;
    +import com.softeer.backend.fo_domain.user.constatnt.VerificationProperty;
    +import com.softeer.backend.fo_domain.user.dto.verification.VerificationCodeResponseDto;
    +import com.softeer.backend.fo_domain.user.dto.verification.VerificationCodeTestResponseDto;
    +import com.softeer.backend.fo_domain.user.exception.UserException;
    +import com.softeer.backend.fo_domain.user.properties.SmsProperties;
    +import com.softeer.backend.global.common.code.status.ErrorStatus;
    +import com.softeer.backend.global.util.RandomCodeUtil;
    +import com.softeer.backend.global.util.StringRedisUtil;
    +import lombok.extern.slf4j.Slf4j;
    +import net.nurigo.sdk.NurigoApp;
    +import net.nurigo.sdk.message.model.Message;
    +import net.nurigo.sdk.message.request.SingleMessageSendingRequest;
    +import net.nurigo.sdk.message.response.SingleMessageSentResponse;
    +import net.nurigo.sdk.message.service.DefaultMessageService;
    +import org.springframework.stereotype.Service;
    +
    +import java.time.LocalDateTime;
    +
    +<span class="nc" id="L22">@Slf4j</span>
    +@Service
    +public class VerificationService {
    +    private final DefaultMessageService messageService;
    +    private final StringRedisUtil stringRedisUtil;
    +    private final SmsProperties smsProperties;
    +    private final RandomCodeUtil randomCodeUtil;
    +
    +    public VerificationService(SmsProperties smsProperties, StringRedisUtil stringRedisUtil,
    +<span class="nc" id="L31">                               RandomCodeUtil randomCodeUtil) {</span>
    +<span class="nc" id="L32">        this.messageService = NurigoApp.INSTANCE.initialize(</span>
    +<span class="nc" id="L33">                smsProperties.getKey(), smsProperties.getSecret(), smsProperties.getUrl());</span>
    +<span class="nc" id="L34">        this.smsProperties = smsProperties;</span>
    +<span class="nc" id="L35">        this.stringRedisUtil = stringRedisUtil;</span>
    +<span class="nc" id="L36">        this.randomCodeUtil = randomCodeUtil;</span>
    +<span class="nc" id="L37">    }</span>
    +
    +    /**
    +     * 1. CoolSms를 사용하여 인증코드를 발급하고 인증 제한시간을 응답에 담아 반환한다.
    +     * 2. 인증 코드 발급 제한 횟수를 초과하면 내일 다시 인증하라는 응답을 전송한다.
    +     */
    +    public VerificationCodeResponseDto sendVerificationCode(String phoneNumber) {
    +
    +        // 인증코드 발급이 처음이면 redis에 발급 횟수를 저장(유효 기간: 밤 12시 전까지)
    +<span class="nc bnc" id="L46" title="All 2 branches missed.">        if (!stringRedisUtil.hasKey(RedisVerificationPrefix.VERIFICATION_ISSUE_COUNT.getPrefix() + phoneNumber)) {</span>
    +<span class="nc" id="L47">            stringRedisUtil.setDataExpireAt(RedisVerificationPrefix.VERIFICATION_ISSUE_COUNT.getPrefix() + phoneNumber,</span>
    +<span class="nc" id="L48">                    String.valueOf(1), LocalDateTime.now().toLocalDate().atStartOfDay().plusDays(1));</span>
    +
    +        }
    +        // 인증코드 발급 제한 횟수를 초과하면 예외 발생
    +        else {
    +<span class="nc" id="L53">            long issueCount = stringRedisUtil.incrementData(RedisVerificationPrefix.VERIFICATION_ISSUE_COUNT.getPrefix() + phoneNumber);</span>
    +<span class="nc bnc" id="L54" title="All 2 branches missed.">            if (issueCount &gt; VerificationProperty.CODE_ISSUE_ATTEMPTS.getValue()) {</span>
    +<span class="nc" id="L55">                log.error(&quot;Exceeded the number of code issuance attempts.&quot;);</span>
    +<span class="nc" id="L56">                throw new UserException(ErrorStatus._AUTH_CODE_ISSUE_LIMIT_EXCEEDED);</span>
    +            }
    +        }
    +
    +        // 인증코드의 인증 횟수 삭제 (초기화 기능)
    +<span class="nc" id="L61">        stringRedisUtil.deleteData(RedisVerificationPrefix.VERIFICATION_ATTEMPTS.getPrefix() + phoneNumber);</span>
    +
    +<span class="nc" id="L63">        Message message = new Message();</span>
    +<span class="nc" id="L64">        message.setFrom(smsProperties.getSenderNumber());</span>
    +<span class="nc" id="L65">        message.setTo(phoneNumber);</span>
    +
    +<span class="nc" id="L67">        String verificationCode = randomCodeUtil.generateRandomCode(</span>
    +<span class="nc" id="L68">                VerificationProperty.CODE_LENGTH.getValue());</span>
    +<span class="nc" id="L69">        message.setText(&quot;[Hyundai] 본인 확인 인증번호는 (&quot; + verificationCode + &quot;) 입니다.&quot;);</span>
    +
    +<span class="nc" id="L71">        SingleMessageSentResponse response = this.messageService.sendOne(new SingleMessageSendingRequest(message));</span>
    +<span class="nc" id="L72">        log.info(&quot;Verification code sent to {} {}&quot;, phoneNumber, response);</span>
    +
    +        // 인증코드 저장(유효시간 설정)
    +<span class="nc" id="L75">        stringRedisUtil.setDataExpire(RedisVerificationPrefix.VERIFICATION_CODE.getPrefix() + phoneNumber, verificationCode,</span>
    +<span class="nc" id="L76">                VerificationProperty.TIME_LIMIT.getValue());</span>
    +
    +<span class="nc" id="L78">        return VerificationCodeResponseDto.builder()</span>
    +<span class="nc" id="L79">                .timeLimit(VerificationProperty.TIME_LIMIT.getValue())</span>
    +<span class="nc" id="L80">                .build();</span>
    +    }
    +
    +    public VerificationCodeTestResponseDto sendVerificationCodeTest(String phoneNumber) {
    +
    +        // 인증코드 발급이 처음이면 redis에 발급 횟수를 저장(유효 기간: 밤 12시 전까지)
    +<span class="nc bnc" id="L86" title="All 2 branches missed.">        if (!stringRedisUtil.hasKey(RedisVerificationPrefix.VERIFICATION_ISSUE_COUNT.getPrefix() + phoneNumber)) {</span>
    +<span class="nc" id="L87">            stringRedisUtil.setDataExpireAt(RedisVerificationPrefix.VERIFICATION_ISSUE_COUNT.getPrefix() + phoneNumber,</span>
    +<span class="nc" id="L88">                    String.valueOf(1), LocalDateTime.now().toLocalDate().atStartOfDay().plusDays(1));</span>
    +
    +        }
    +        // 인증코드 발급 제한 횟수를 초과하면 예외 발생
    +        else {
    +<span class="nc" id="L93">            long issueCount = stringRedisUtil.incrementData(RedisVerificationPrefix.VERIFICATION_ISSUE_COUNT.getPrefix() + phoneNumber);</span>
    +<span class="nc bnc" id="L94" title="All 2 branches missed.">            if (issueCount &gt; VerificationProperty.CODE_ISSUE_ATTEMPTS.getValue()) {</span>
    +<span class="nc" id="L95">                log.error(&quot;Exceeded the number of code issuance attempts.&quot;);</span>
    +<span class="nc" id="L96">                throw new UserException(ErrorStatus._AUTH_CODE_ISSUE_LIMIT_EXCEEDED);</span>
    +            }
    +        }
    +
    +        // 인증코드의 인증 횟수 삭제 (초기화 기능)
    +<span class="nc" id="L101">        stringRedisUtil.deleteData(RedisVerificationPrefix.VERIFICATION_ATTEMPTS.getPrefix() + phoneNumber);</span>
    +
    +<span class="nc" id="L103">        String verificationCode = randomCodeUtil.generateRandomCode(</span>
    +<span class="nc" id="L104">                VerificationProperty.CODE_LENGTH.getValue());</span>
    +
    +        // 인증코드 저장(유효시간 설정)
    +<span class="nc" id="L107">        stringRedisUtil.setDataExpire(RedisVerificationPrefix.VERIFICATION_CODE.getPrefix() + phoneNumber, verificationCode,</span>
    +<span class="nc" id="L108">                VerificationProperty.TIME_LIMIT.getValue());</span>
    +
    +<span class="nc" id="L110">        return VerificationCodeTestResponseDto.builder()</span>
    +<span class="nc" id="L111">                .verificationCode(verificationCode)</span>
    +<span class="nc" id="L112">                .timeLimit(VerificationProperty.TIME_LIMIT.getValue())</span>
    +<span class="nc" id="L113">                .build();</span>
    +    }
    +
    +
    +    /**
    +     * 1. 인증 코드를 검증하여 Redis에 있는 인증코도와 같은지를 검사한다.
    +     * 2. 제한시간이 지났거나 인증코드 불일치, 혹은 인증 제한 횟수를 초과한 경우 예외를 던진다.
    +     */
    +    public void confirmVerificationCode(String phoneNumber, String verificationCode) {
    +
    +        // 인증코드의 인증 제한 횟수를 초과하면 예외 발생
    +<span class="nc bnc" id="L124" title="All 2 branches missed.">        if (stringRedisUtil.hasKey(RedisVerificationPrefix.VERIFICATION_ATTEMPTS.getPrefix() + phoneNumber)) {</span>
    +<span class="nc" id="L125">            long attemptCount = stringRedisUtil.incrementData(RedisVerificationPrefix.VERIFICATION_ATTEMPTS.getPrefix() + phoneNumber);</span>
    +<span class="nc bnc" id="L126" title="All 2 branches missed.">            if (attemptCount &gt; VerificationProperty.MAX_ATTEMPTS.getValue()) {</span>
    +<span class="nc" id="L127">                log.error(&quot;Verification code attempts exceeded.&quot;);</span>
    +<span class="nc" id="L128">                throw new UserException(ErrorStatus._AUTH_CODE_ATTEMPTS_EXCEEDED);</span>
    +            }
    +<span class="nc" id="L130">        }</span>
    +        // 인증코드의 인증 횟수 설정(유효 기간: 밤 12시 전까지)
    +        else {
    +<span class="nc" id="L133">            stringRedisUtil.setDataExpireAt(RedisVerificationPrefix.VERIFICATION_ATTEMPTS.getPrefix() + phoneNumber,</span>
    +<span class="nc" id="L134">                    String.valueOf(1), LocalDateTime.now().toLocalDate().atStartOfDay().plusDays(1));</span>
    +        }
    +
    +<span class="nc" id="L137">        String originalVerificationCode = stringRedisUtil.getData(RedisVerificationPrefix.VERIFICATION_CODE.getPrefix() + phoneNumber);</span>
    +
    +<span class="nc bnc" id="L139" title="All 2 branches missed.">        if (originalVerificationCode == null) {</span>
    +<span class="nc" id="L140">            log.error(&quot;Verification code has expired.&quot;);</span>
    +<span class="nc" id="L141">            throw new UserException(ErrorStatus._AUTH_CODE_NOT_EXIST);</span>
    +        }
    +
    +<span class="nc bnc" id="L144" title="All 2 branches missed.">        if (!originalVerificationCode.equals(verificationCode)) {</span>
    +<span class="nc" id="L145">            log.error(&quot;Verification code does not match.&quot;);</span>
    +<span class="nc" id="L146">            throw new UserException(ErrorStatus._AUTH_CODE_NOT_MATCH);</span>
    +        }
    +
    +        // 인증 성공
    +        // 인증 관련한 모든 데이터를 삭제
    +<span class="nc" id="L151">        stringRedisUtil.deleteData(RedisVerificationPrefix.VERIFICATION_ISSUE_COUNT.getPrefix() + phoneNumber);</span>
    +<span class="nc" id="L152">        stringRedisUtil.deleteData(RedisVerificationPrefix.VERIFICATION_ATTEMPTS.getPrefix() + phoneNumber);</span>
    +<span class="nc" id="L153">        stringRedisUtil.deleteData(RedisVerificationPrefix.VERIFICATION_CODE.getPrefix() + phoneNumber);</span>
    +
    +
    +<span class="nc" id="L156">    }</span>
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/index.html
    new file mode 100644
    index 00000000..1b4c4616
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.user.service</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.user.service</span></div><h1>com.softeer.backend.fo_domain.user.service</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">485 of 485</td><td class="ctr2">0%</td><td class="bar">26 of 26</td><td class="ctr2">0%</td><td class="ctr1">24</td><td class="ctr2">24</td><td class="ctr1">118</td><td class="ctr2">118</td><td class="ctr1">11</td><td class="ctr2">11</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="VerificationService.html" class="el_class">VerificationService</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="304" alt="304"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="16" alt="16"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">13</td><td class="ctr2" id="g0">13</td><td class="ctr1" id="h0">64</td><td class="ctr2" id="i0">64</td><td class="ctr1" id="j1">5</td><td class="ctr2" id="k1">5</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="LoginService.html" class="el_class">LoginService</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="71" height="10" title="181" alt="181"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="75" height="10" title="10" alt="10"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f1">11</td><td class="ctr2" id="g1">11</td><td class="ctr1" id="h1">54</td><td class="ctr2" id="i1">54</td><td class="ctr1" id="j0">6</td><td class="ctr2" id="k0">6</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/index.source.html
    new file mode 100644
    index 00000000..69c7bfca
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.user.service</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.user.service</span></div><h1>com.softeer.backend.fo_domain.user.service</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">485 of 485</td><td class="ctr2">0%</td><td class="bar">26 of 26</td><td class="ctr2">0%</td><td class="ctr1">24</td><td class="ctr2">24</td><td class="ctr1">118</td><td class="ctr2">118</td><td class="ctr1">11</td><td class="ctr2">11</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="VerificationService.java.html" class="el_source">VerificationService.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="304" alt="304"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="16" alt="16"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">13</td><td class="ctr2" id="g0">13</td><td class="ctr1" id="h0">64</td><td class="ctr2" id="i0">64</td><td class="ctr1" id="j1">5</td><td class="ctr2" id="k1">5</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="LoginService.java.html" class="el_source">LoginService.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="71" height="10" title="181" alt="181"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="75" height="10" title="10" alt="10"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f1">11</td><td class="ctr2" id="g1">11</td><td class="ctr1" id="h1">54</td><td class="ctr2" id="i1">54</td><td class="ctr1" id="j0">6</td><td class="ctr2" id="k0">6</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/AopForTransaction.html b/jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/AopForTransaction.html
    new file mode 100644
    index 00000000..9235e803
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/AopForTransaction.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>AopForTransaction</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.annotation.aop</a> &gt; <span class="el_class">AopForTransaction</span></div><h1>AopForTransaction</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">6 of 6</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="AopForTransaction.java.html#L12" class="el_method">AopForTransaction()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="3" alt="3"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">1</td><td class="ctr2" id="i0">1</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="AopForTransaction.java.html#L23" class="el_method">proceed(ProceedingJoinPoint)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="3" alt="3"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/AopForTransaction.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/AopForTransaction.java.html
    new file mode 100644
    index 00000000..a9d21502
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/AopForTransaction.java.html
    @@ -0,0 +1,26 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>AopForTransaction.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.annotation.aop</a> &gt; <span class="el_source">AopForTransaction.java</span></div><h1>AopForTransaction.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.annotation.aop;
    +
    +import org.aspectj.lang.ProceedingJoinPoint;
    +import org.springframework.stereotype.Component;
    +import org.springframework.transaction.annotation.Propagation;
    +import org.springframework.transaction.annotation.Transactional;
    +
    +/**
    + * 메서드의 transaction commit을 보장하기 위한 클래스
    + */
    +@Component
    +<span class="nc" id="L12">public class AopForTransaction {</span>
    +
    +    /**
    +     * 파라미터로 넘어온 메서드를 새로운 트랜잭션에서 실행하는 메서드
    +     *
    +     * @param joinPoint
    +     * @return 메서드의 반환값
    +     * @throws Throwable
    +     */
    +    @Transactional(propagation = Propagation.REQUIRES_NEW)
    +    public Object proceed(final ProceedingJoinPoint joinPoint) throws Throwable {
    +<span class="nc" id="L23">        return joinPoint.proceed();</span>
    +    }
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/EventLockAop.html b/jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/EventLockAop.html
    new file mode 100644
    index 00000000..dcc8bd82
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/EventLockAop.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>EventLockAop</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.annotation.aop</a> &gt; <span class="el_class">EventLockAop</span></div><h1>EventLockAop</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">77 of 77</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">18</td><td class="ctr2">18</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="EventLockAop.java.html#L34" class="el_method">lock(ProceedingJoinPoint)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="73" alt="73"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">17</td><td class="ctr2" id="i0">17</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="EventLockAop.java.html#L22" class="el_method">static {...}</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="6" height="10" title="4" alt="4"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/EventLockAop.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/EventLockAop.java.html
    new file mode 100644
    index 00000000..b1f48d12
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/EventLockAop.java.html
    @@ -0,0 +1,61 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>EventLockAop.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.annotation.aop</a> &gt; <span class="el_source">EventLockAop.java</span></div><h1>EventLockAop.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.annotation.aop;
    +
    +import com.softeer.backend.global.annotation.EventLock;
    +import com.softeer.backend.global.common.exception.EventLockException;
    +import com.softeer.backend.global.util.SpringELParser;
    +import lombok.RequiredArgsConstructor;
    +import lombok.extern.slf4j.Slf4j;
    +import org.aspectj.lang.ProceedingJoinPoint;
    +import org.aspectj.lang.annotation.Around;
    +import org.aspectj.lang.annotation.Aspect;
    +import org.aspectj.lang.reflect.MethodSignature;
    +import org.redisson.api.RLock;
    +import org.redisson.api.RedissonClient;
    +import org.springframework.stereotype.Component;
    +
    +import java.lang.reflect.Method;
    +
    +
    +/**
    + * 선착순, 추첨 이벤트 시에 동기화를 위한 redis lock를 설정하는 Aop 클래스
    + */
    +<span class="nc" id="L22">@Slf4j</span>
    +@Aspect
    +@Component
    +@RequiredArgsConstructor
    +public class EventLockAop {
    +    private static final String REDISSON_LOCK_PREFIX = &quot;LOCK:&quot;;
    +
    +    private final RedissonClient redissonClient;
    +    private final AopForTransaction aopForTransaction;
    +
    +    @Around(&quot;@annotation(com.softeer.backend.global.annotation.EventLock)&quot;)
    +    public Object lock(final ProceedingJoinPoint joinPoint) throws Throwable {
    +<span class="nc" id="L34">        MethodSignature signature = (MethodSignature) joinPoint.getSignature();</span>
    +<span class="nc" id="L35">        Method method = signature.getMethod();</span>
    +<span class="nc" id="L36">        EventLock eventLock = method.getAnnotation(EventLock.class);</span>
    +
    +<span class="nc" id="L38">        String key = REDISSON_LOCK_PREFIX + SpringELParser.getDynamicValue(signature.getParameterNames(), joinPoint.getArgs(), eventLock.key());</span>
    +<span class="nc" id="L39">        RLock rLock = redissonClient.getLock(key);</span>
    +
    +        try {
    +<span class="nc" id="L42">            boolean available = rLock.tryLock(eventLock.waitTime(), eventLock.leaseTime(), eventLock.timeUnit());</span>
    +<span class="nc bnc" id="L43" title="All 2 branches missed.">            if (!available) {</span>
    +<span class="nc" id="L44">                log.info(&quot;{} is locked&quot;, key);</span>
    +<span class="nc" id="L45">                throw new EventLockException(key);</span>
    +            }
    +
    +<span class="nc" id="L48">            return aopForTransaction.proceed(joinPoint);</span>
    +<span class="nc" id="L49">        } catch (InterruptedException e) {</span>
    +<span class="nc" id="L50">            log.info(&quot;Interrupted while waiting for lock, key: {}&quot;, key);</span>
    +<span class="nc" id="L51">            throw new EventLockException(key);</span>
    +        } finally {
    +            try {
    +<span class="nc" id="L54">                rLock.unlock();</span>
    +<span class="nc" id="L55">            } catch (IllegalMonitorStateException e) {</span>
    +<span class="nc" id="L56">                log.info(&quot;Redisson Lock Already UnLock, MethodName: {}, key: {}&quot;, method.getName(), key);</span>
    +<span class="nc" id="L57">            }</span>
    +        }
    +    }
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/index.html b/jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/index.html
    new file mode 100644
    index 00000000..49bd9950
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.annotation.aop</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.annotation.aop</span></div><h1>com.softeer.backend.global.annotation.aop</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">83 of 83</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">20</td><td class="ctr2">20</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="EventLockAop.html" class="el_class">EventLockAop</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="77" alt="77"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">18</td><td class="ctr2" id="i0">18</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="AopForTransaction.html" class="el_class">AopForTransaction</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="9" height="10" title="6" alt="6"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">2</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">2</td><td class="ctr2" id="k1">2</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/index.source.html
    new file mode 100644
    index 00000000..d2624bce
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.annotation.aop</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.annotation.aop</span></div><h1>com.softeer.backend.global.annotation.aop</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">83 of 83</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">20</td><td class="ctr2">20</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="EventLockAop.java.html" class="el_source">EventLockAop.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="77" alt="77"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">18</td><td class="ctr2" id="i0">18</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="AopForTransaction.java.html" class="el_source">AopForTransaction.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="9" height="10" title="6" alt="6"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">2</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">2</td><td class="ctr2" id="k1">2</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.annotation.argumentresolver/AuthInfoArgumentResolver.html b/jacoco/jacocoHtml/com.softeer.backend.global.annotation.argumentresolver/AuthInfoArgumentResolver.html
    new file mode 100644
    index 00000000..728241b4
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.annotation.argumentresolver/AuthInfoArgumentResolver.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>AuthInfoArgumentResolver</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.annotation.argumentresolver</a> &gt; <span class="el_class">AuthInfoArgumentResolver</span></div><h1>AuthInfoArgumentResolver</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">40 of 40</td><td class="ctr2">0%</td><td class="bar">8 of 8</td><td class="ctr2">0%</td><td class="ctr1">7</td><td class="ctr2">7</td><td class="ctr1">9</td><td class="ctr2">9</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a1"><a href="AuthInfoArgumentResolver.java.html#L22" class="el_method">resolveArgument(MethodParameter, ModelAndViewContainer, NativeWebRequest, WebDataBinderFactory)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="24" alt="24"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">6</td><td class="ctr2" id="i0">6</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="AuthInfoArgumentResolver.java.html#L17" class="el_method">supportsParameter(MethodParameter)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="65" height="10" title="13" alt="13"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f1">3</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="AuthInfoArgumentResolver.java.html#L13" class="el_method">AuthInfoArgumentResolver()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="15" height="10" title="3" alt="3"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.annotation.argumentresolver/AuthInfoArgumentResolver.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.annotation.argumentresolver/AuthInfoArgumentResolver.java.html
    new file mode 100644
    index 00000000..1a230be4
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.annotation.argumentresolver/AuthInfoArgumentResolver.java.html
    @@ -0,0 +1,31 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>AuthInfoArgumentResolver.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.annotation.argumentresolver</a> &gt; <span class="el_source">AuthInfoArgumentResolver.java</span></div><h1>AuthInfoArgumentResolver.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.annotation.argumentresolver;
    +
    +import com.softeer.backend.global.annotation.AuthInfo;
    +import com.softeer.backend.global.common.dto.JwtClaimsDto;
    +import jakarta.servlet.http.HttpServletRequest;
    +import lombok.NonNull;
    +import org.springframework.core.MethodParameter;
    +import org.springframework.web.bind.support.WebDataBinderFactory;
    +import org.springframework.web.context.request.NativeWebRequest;
    +import org.springframework.web.method.support.HandlerMethodArgumentResolver;
    +import org.springframework.web.method.support.ModelAndViewContainer;
    +
    +<span class="nc" id="L13">public class AuthInfoArgumentResolver implements HandlerMethodArgumentResolver {</span>
    +
    +    @Override
    +    public boolean supportsParameter(MethodParameter parameter) {
    +<span class="nc bnc" id="L17" title="All 2 branches missed.">        return parameter.getParameterAnnotation(AuthInfo.class) != null</span>
    +<span class="nc bnc" id="L18" title="All 2 branches missed.">                &amp;&amp; parameter.getParameterType().equals(Integer.class);</span>
    +    }
    +
    +    @Override
    +<span class="nc bnc" id="L22" title="All 2 branches missed.">    public Object resolveArgument(@NonNull MethodParameter parameter, ModelAndViewContainer mavContainer, NativeWebRequest webRequest, WebDataBinderFactory binderFactory) {</span>
    +<span class="nc" id="L23">        HttpServletRequest req = (HttpServletRequest) webRequest.getNativeRequest();</span>
    +<span class="nc" id="L24">        JwtClaimsDto jwtClaimsDto = (JwtClaimsDto) req.getAttribute(&quot;jwtClaims&quot;);</span>
    +<span class="nc bnc" id="L25" title="All 2 branches missed.">        if (jwtClaimsDto == null) {</span>
    +<span class="nc" id="L26">            return null;</span>
    +        }
    +<span class="nc" id="L28">        return jwtClaimsDto.getId();</span>
    +    }
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.annotation.argumentresolver/index.html b/jacoco/jacocoHtml/com.softeer.backend.global.annotation.argumentresolver/index.html
    new file mode 100644
    index 00000000..deb0f0e9
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.annotation.argumentresolver/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.annotation.argumentresolver</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.annotation.argumentresolver</span></div><h1>com.softeer.backend.global.annotation.argumentresolver</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">40 of 40</td><td class="ctr2">0%</td><td class="bar">8 of 8</td><td class="ctr2">0%</td><td class="ctr1">7</td><td class="ctr2">7</td><td class="ctr1">9</td><td class="ctr2">9</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="AuthInfoArgumentResolver.html" class="el_class">AuthInfoArgumentResolver</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="40" alt="40"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="8" alt="8"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">7</td><td class="ctr2" id="g0">7</td><td class="ctr1" id="h0">9</td><td class="ctr2" id="i0">9</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k0">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.annotation.argumentresolver/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.global.annotation.argumentresolver/index.source.html
    new file mode 100644
    index 00000000..12a122d7
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.annotation.argumentresolver/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.annotation.argumentresolver</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.annotation.argumentresolver</span></div><h1>com.softeer.backend.global.annotation.argumentresolver</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">40 of 40</td><td class="ctr2">0%</td><td class="bar">8 of 8</td><td class="ctr2">0%</td><td class="ctr1">7</td><td class="ctr2">7</td><td class="ctr1">9</td><td class="ctr2">9</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="AuthInfoArgumentResolver.java.html" class="el_source">AuthInfoArgumentResolver.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="40" alt="40"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="8" alt="8"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">7</td><td class="ctr2" id="g0">7</td><td class="ctr1" id="h0">9</td><td class="ctr2" id="i0">9</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k0">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/ErrorStatus.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/ErrorStatus.html
    new file mode 100644
    index 00000000..3773e45d
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/ErrorStatus.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ErrorStatus</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.common.code.status</a> &gt; <span class="el_class">ErrorStatus</span></div><h1>ErrorStatus</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">152 of 152</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">24</td><td class="ctr2">24</td><td class="ctr1">5</td><td class="ctr2">5</td></tr></tfoot><tbody><tr><td id="a4"><a href="ErrorStatus.java.html#L13" class="el_method">static {...}</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="129" alt="129"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">15</td><td class="ctr2" id="i0">15</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a3"><a href="ErrorStatus.java.html#L57" class="el_method">getReason()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="13" height="10" title="14" alt="14"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">6</td><td class="ctr2" id="i1">6</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="ErrorStatus.java.html#L72" class="el_method">getHttpStatus()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="2" height="10" title="3" alt="3"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a0"><a href="ErrorStatus.java.html#L82" class="el_method">getCode()</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="2" height="10" title="3" alt="3"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">1</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a1"><a href="ErrorStatus.java.html#L92" class="el_method">getErrorMsg()</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="2" height="10" title="3" alt="3"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">1</td><td class="ctr2" id="i4">1</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/ErrorStatus.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/ErrorStatus.java.html
    new file mode 100644
    index 00000000..547ede8c
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/ErrorStatus.java.html
    @@ -0,0 +1,95 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ErrorStatus.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.common.code.status</a> &gt; <span class="el_source">ErrorStatus.java</span></div><h1>ErrorStatus.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.common.code.status;
    +
    +import com.softeer.backend.global.common.code.BaseErrorCode;
    +import com.softeer.backend.global.common.response.ResponseDto;
    +import lombok.Getter;
    +import lombok.RequiredArgsConstructor;
    +import org.springframework.http.HttpStatus;
    +
    +
    +/**
    + * 에러 응답 코드를 관리하는 Enum 클래스
    + */
    +<span class="nc" id="L13">@Getter</span>
    +@RequiredArgsConstructor
    +public enum ErrorStatus implements BaseErrorCode {
    +
    +    // Common Error &amp; Global Error
    +<span class="nc" id="L18">    _BAD_REQUEST(HttpStatus.BAD_REQUEST, &quot;G400&quot;, &quot;잘못된 요청입니다.&quot;),</span>
    +<span class="nc" id="L19">    _FORBIDDEN(HttpStatus.FORBIDDEN, &quot;G401&quot;, &quot;해당 요청에 대한 권한이 없습니다.&quot;),</span>
    +<span class="nc" id="L20">    _NOT_FOUND(HttpStatus.NOT_FOUND, &quot;G402&quot;, &quot;데이터를 찾지 못했습니다.&quot;),</span>
    +<span class="nc" id="L21">    _METHOD_NOT_ALLOWED(HttpStatus.METHOD_NOT_ALLOWED, &quot;G403&quot;, &quot;지원하지 않는 Http Method 입니다.&quot;),</span>
    +<span class="nc" id="L22">    _INTERNAL_SERVER_ERROR(HttpStatus.INTERNAL_SERVER_ERROR, &quot;G500&quot;, &quot;서버 에러가 발생했습니다.&quot;),</span>
    +
    +    // Validation Error
    +<span class="nc" id="L25">    _VALIDATION_ERROR(HttpStatus.BAD_REQUEST, &quot;V400&quot;, &quot;요청 필드에 대한 검증 예외가 발생했습니다.&quot;),</span>
    +
    +    // JWT Error
    +<span class="nc" id="L28">    _UNAUTHORIZED(HttpStatus.UNAUTHORIZED, &quot;J400&quot;, &quot;인증 과정에서 예외가 발생했습니다. JWT Token 재발급이 필요합니다.&quot;),</span>
    +<span class="nc" id="L29">    _REISSUE_ERROR(HttpStatus.UNAUTHORIZED, &quot;J401&quot;, &quot;JWT Token 재발급에서 예외가 발생했습니다. 로그인 요청이 필요합니다.&quot;),</span>
    +
    +    // User &amp; Auth Error
    +<span class="nc" id="L32">    _AUTH_CODE_NOT_EXIST(HttpStatus.BAD_REQUEST, &quot;A400&quot;, &quot;인증 코드 제한시간이 초과되었습니다. 인증 코드 발급 API를 호출하세요.&quot;),</span>
    +<span class="nc" id="L33">    _AUTH_CODE_NOT_MATCH(HttpStatus.BAD_REQUEST, &quot;A401&quot;, &quot;인증 코드가 일치하지 않습니다.&quot;),</span>
    +<span class="nc" id="L34">    _AUTH_CODE_ATTEMPTS_EXCEEDED(HttpStatus.BAD_REQUEST, &quot;A402&quot;,</span>
    +            &quot;인증 코드의 인증 횟수를 초과하였습니다. 인증 코드 발급 API를 호출하세요.&quot;),
    +<span class="nc" id="L36">    _AUTH_CODE_ISSUE_LIMIT_EXCEEDED(HttpStatus.BAD_REQUEST, &quot;A403&quot;,</span>
    +            &quot;인증 코드 발급 횟수를 초과하였습니다. 나중에 다시 시도하세요.&quot;),
    +<span class="nc" id="L38">    _AUTH_CODE_NOT_VERIFIED(HttpStatus.BAD_REQUEST, &quot;A404&quot;, &quot;인증되지 않은 상태에서 로그인 할 수 없습니다.&quot;),</span>
    +<span class="nc" id="L39">    _AUTH_USERNAME_NOT_MATCH(HttpStatus.BAD_REQUEST, &quot;A405&quot;, &quot;이미 등록된 번호입니다.&quot;);</span>
    +
    +    // 예외의 Http 상태값
    +    private final HttpStatus httpStatus;
    +
    +    // 예외의 커스텀 코드값
    +    private final String code;
    +
    +    // 예외 메시지
    +    private final String message;
    +
    +    /**
    +     * Error 정보를 갖고있는 ErrorReasonDto를 반환하는 메서드
    +     *
    +     * @return ErrorReasonDto 객체
    +     */
    +    @Override
    +    public ResponseDto.ErrorReasonDto getReason() {
    +<span class="nc" id="L57">        return ResponseDto.ErrorReasonDto.builder()</span>
    +<span class="nc" id="L58">                .httpStatus(this.httpStatus)</span>
    +<span class="nc" id="L59">                .isSuccess(false)</span>
    +<span class="nc" id="L60">                .code(this.code)</span>
    +<span class="nc" id="L61">                .message(this.message)</span>
    +<span class="nc" id="L62">                .build();</span>
    +    }
    +
    +    /**
    +     * HttpStatus를 반환하는 메서드
    +     *
    +     * @return HttpStatus 객체
    +     */
    +    @Override
    +    public HttpStatus getHttpStatus() {
    +<span class="nc" id="L72">        return httpStatus;</span>
    +    }
    +
    +    /**
    +     * 예외 코드를 반환하는 메서드
    +     *
    +     * @return 커스텀 코드값
    +     */
    +    @Override
    +    public String getCode() {
    +<span class="nc" id="L82">        return code;</span>
    +    }
    +
    +    /**
    +     * 예외 메시지를 반환하는 메서드
    +     *
    +     * @return 예외 메시지
    +     */
    +    @Override
    +    public String getErrorMsg() {
    +<span class="nc" id="L92">        return message;</span>
    +    }
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/SuccessStatus.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/SuccessStatus.html
    new file mode 100644
    index 00000000..82c9fcfd
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/SuccessStatus.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>SuccessStatus</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.common.code.status</a> &gt; <span class="el_class">SuccessStatus</span></div><h1>SuccessStatus</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">32 of 32</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">10</td><td class="ctr2">10</td><td class="ctr1">4</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a2"><a href="SuccessStatus.java.html#L35" class="el_method">getReason()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="14" alt="14"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">6</td><td class="ctr2" id="i0">6</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a3"><a href="SuccessStatus.java.html#L12" class="el_method">static {...}</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="102" height="10" title="12" alt="12"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="SuccessStatus.java.html#L50" class="el_method">getCode()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="25" height="10" title="3" alt="3"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a1"><a href="SuccessStatus.java.html#L60" class="el_method">getMsg()</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="25" height="10" title="3" alt="3"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">1</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/SuccessStatus.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/SuccessStatus.java.html
    new file mode 100644
    index 00000000..c8f4e1b4
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/SuccessStatus.java.html
    @@ -0,0 +1,63 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>SuccessStatus.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.common.code.status</a> &gt; <span class="el_source">SuccessStatus.java</span></div><h1>SuccessStatus.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.common.code.status;
    +
    +import com.softeer.backend.global.common.code.BaseCode;
    +import com.softeer.backend.global.common.response.ResponseDto;
    +import lombok.Getter;
    +import lombok.RequiredArgsConstructor;
    +import org.springframework.http.HttpStatus;
    +
    +/**
    + * 성공 응답 코드를 관리하는 Enum 클래스
    + */
    +<span class="nc" id="L12">@Getter</span>
    +@RequiredArgsConstructor
    +public enum SuccessStatus implements BaseCode {
    +    // Success
    +<span class="nc" id="L16">    _OK(HttpStatus.OK, &quot;S200&quot;, &quot;요청 처리 성공&quot;);</span>
    +
    +    // 예외의 Http 상태값
    +    private final HttpStatus httpStatus;
    +
    +    // 예외의 커스텀 코드값
    +    private final String code;
    +
    +    // 예외 메시지
    +    private final String message;
    +
    +
    +    /**
    +     * 성공 응답 정보를 갖고있는 ReasonDto를 반환하는 메서드
    +     *
    +     * @return ReasonDto 객체
    +     */
    +    @Override
    +    public ResponseDto.ReasonDto getReason() {
    +<span class="nc" id="L35">        return ResponseDto.ReasonDto.builder()</span>
    +<span class="nc" id="L36">                .httpStatus(this.httpStatus)</span>
    +<span class="nc" id="L37">                .isSuccess(true)</span>
    +<span class="nc" id="L38">                .code(this.code)</span>
    +<span class="nc" id="L39">                .message(this.message)</span>
    +<span class="nc" id="L40">                .build();</span>
    +    }
    +
    +    /**
    +     * 성공 코드를 반환하는 메서드
    +     *
    +     * @return 커스텀 코드값
    +     */
    +    @Override
    +    public String getCode() {
    +<span class="nc" id="L50">        return this.code;</span>
    +    }
    +
    +    /**
    +     * 성공 메시지를 반환하는 메서드
    +     *
    +     * @return 예외 메시지
    +     */
    +    @Override
    +    public String getMsg() {
    +<span class="nc" id="L60">        return this.message;</span>
    +    }
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/index.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/index.html
    new file mode 100644
    index 00000000..bd1dc1c5
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.common.code.status</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.common.code.status</span></div><h1>com.softeer.backend.global.common.code.status</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">184 of 184</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">9</td><td class="ctr2">9</td><td class="ctr1">34</td><td class="ctr2">34</td><td class="ctr1">9</td><td class="ctr2">9</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="ErrorStatus.html" class="el_class">ErrorStatus</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="152" alt="152"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">5</td><td class="ctr2" id="g0">5</td><td class="ctr1" id="h0">24</td><td class="ctr2" id="i0">24</td><td class="ctr1" id="j0">5</td><td class="ctr2" id="k0">5</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a1"><a href="SuccessStatus.html" class="el_class">SuccessStatus</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="25" height="10" title="32" alt="32"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">4</td><td class="ctr2" id="g1">4</td><td class="ctr1" id="h1">10</td><td class="ctr2" id="i1">10</td><td class="ctr1" id="j1">4</td><td class="ctr2" id="k1">4</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/index.source.html
    new file mode 100644
    index 00000000..4cc13f24
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.common.code.status</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.common.code.status</span></div><h1>com.softeer.backend.global.common.code.status</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">184 of 184</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">9</td><td class="ctr2">9</td><td class="ctr1">34</td><td class="ctr2">34</td><td class="ctr1">9</td><td class="ctr2">9</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="ErrorStatus.java.html" class="el_source">ErrorStatus.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="152" alt="152"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">5</td><td class="ctr2" id="g0">5</td><td class="ctr1" id="h0">24</td><td class="ctr2" id="i0">24</td><td class="ctr1" id="j0">5</td><td class="ctr2" id="k0">5</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a1"><a href="SuccessStatus.java.html" class="el_source">SuccessStatus.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="25" height="10" title="32" alt="32"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">4</td><td class="ctr2" id="g1">4</td><td class="ctr1" id="h1">10</td><td class="ctr2" id="i1">10</td><td class="ctr1" id="j1">4</td><td class="ctr2" id="k1">4</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/RedisKeyPrefix.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/RedisKeyPrefix.html
    new file mode 100644
    index 00000000..0804cbc6
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/RedisKeyPrefix.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>RedisKeyPrefix</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.common.constant</a> &gt; <span class="el_class">RedisKeyPrefix</span></div><h1>RedisKeyPrefix</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">67 of 67</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="RedisKeyPrefix.java.html#L5" class="el_method">static {...}</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="59" alt="59"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">9</td><td class="ctr2" id="i0">9</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="RedisKeyPrefix.java.html#L24" class="el_method">RedisKeyPrefix(String, int, String)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="16" height="10" title="8" alt="8"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">3</td><td class="ctr2" id="i1">3</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/RedisKeyPrefix.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/RedisKeyPrefix.java.html
    new file mode 100644
    index 00000000..01c43b38
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/RedisKeyPrefix.java.html
    @@ -0,0 +1,28 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>RedisKeyPrefix.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.common.constant</a> &gt; <span class="el_source">RedisKeyPrefix.java</span></div><h1>RedisKeyPrefix.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.common.constant;
    +
    +import lombok.Getter;
    +
    +<span class="nc" id="L5">@Getter</span>
    +public enum RedisKeyPrefix {
    +    // 선착순
    +<span class="nc" id="L8">    FCFS_USERID_PREFIX(&quot;FCFS_WINNER_&quot;),</span>
    +<span class="nc" id="L9">    FCFS_CODE_PREFIX(&quot;FCFS_CODE_&quot;),</span>
    +<span class="nc" id="L10">    FCFS_CODE_USERID_PREFIX(&quot;FCFS_CODE_USERID_&quot;),</span>
    +<span class="nc" id="L11">    FCFS_PARTICIPANT_COUNT_PREFIX(&quot;FCFS_PARTICIPANT_COUNT&quot;),</span>
    +
    +    // 추첨
    +<span class="nc" id="L14">    DRAW_LOCK_PREFIX(&quot;LOCK:DRAW_WINNER&quot;),</span>
    +<span class="nc" id="L15">    DRAW_WINNER_LIST_PREFIX(&quot;LOCK:DRAW_WINNER_LIST_&quot;),</span>
    +<span class="nc" id="L16">    DRAW_PARTICIPANT_COUNT_PREFIX(&quot;DRAW_PARTICIPANT_COUNT&quot;),</span>
    +
    +    // 사이트 방문자 수
    +<span class="nc" id="L19">    TOTAL_VISITORS_COUNT_PREFIX(&quot;TOTAL_VISITORS_COUNT_&quot;);</span>
    +
    +
    +    private final String prefix;
    +
    +<span class="nc" id="L24">    RedisKeyPrefix(String prefix) {</span>
    +<span class="nc" id="L25">        this.prefix = prefix;</span>
    +<span class="nc" id="L26">    }</span>
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/RoleType.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/RoleType.html
    new file mode 100644
    index 00000000..2ca41327
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/RoleType.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>RoleType</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.common.constant</a> &gt; <span class="el_class">RoleType</span></div><h1>RoleType</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">25 of 25</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">6</td><td class="ctr2">6</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="RoleType.java.html#L9" class="el_method">static {...}</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="17" alt="17"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">3</td><td class="ctr2" id="i0">3</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="RoleType.java.html#L18" class="el_method">RoleType(String, int, String)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="56" height="10" title="8" alt="8"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">3</td><td class="ctr2" id="i1">3</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/RoleType.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/RoleType.java.html
    new file mode 100644
    index 00000000..f8e98e78
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/RoleType.java.html
    @@ -0,0 +1,23 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>RoleType.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.common.constant</a> &gt; <span class="el_source">RoleType.java</span></div><h1>RoleType.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.common.constant;
    +
    +import lombok.Getter;
    +import lombok.RequiredArgsConstructor;
    +
    +/**
    + * 유저의 권한 정보
    + */
    +<span class="nc" id="L9">@Getter</span>
    +@RequiredArgsConstructor
    +public enum RoleType {
    +
    +<span class="nc" id="L13">    ROLE_USER(&quot;USER_&quot;), // 일반 유저</span>
    +<span class="nc" id="L14">    ROLE_ADMIN(&quot;ADMIN_&quot;); // 관리자 유저</span>
    +
    +    String redisKeyPrefix;
    +
    +<span class="nc" id="L18">    RoleType(String redisKeyPrefix) {</span>
    +<span class="nc" id="L19">        this.redisKeyPrefix = redisKeyPrefix;</span>
    +<span class="nc" id="L20">    }</span>
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/ValidationConstant.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/ValidationConstant.html
    new file mode 100644
    index 00000000..0f3c836c
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/ValidationConstant.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ValidationConstant</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.common.constant</a> &gt; <span class="el_class">ValidationConstant</span></div><h1>ValidationConstant</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">3 of 3</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="ValidationConstant.java.html#L5" class="el_method">ValidationConstant()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="3" alt="3"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">1</td><td class="ctr2" id="i0">1</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/ValidationConstant.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/ValidationConstant.java.html
    new file mode 100644
    index 00000000..5264e566
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/ValidationConstant.java.html
    @@ -0,0 +1,27 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ValidationConstant.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.common.constant</a> &gt; <span class="el_source">ValidationConstant.java</span></div><h1>ValidationConstant.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.common.constant;
    +
    +import lombok.Getter;
    +
    +<span class="nc" id="L5">public class ValidationConstant {</span>
    +    public static final String PHONE_NUMBER_REGEX = &quot;^01[016789]\\d{8}$&quot;;
    +    public static final String PHONE_NUMBER_MSG = &quot;잘못된 전화번호 형식입니다.&quot;;
    +
    +    public static final String VERIFICATION_CODE_REGEX = &quot;^[a-zA-Z0-9]{6}$&quot;;
    +    public static final String VERIFICATION_CODE_MSG = &quot;잘못된 인증코드 형식입니다.&quot;;
    +
    +    // 최소 4자에서 최대 20자까지 허용
    +    // 영어 대문자, 소문자, 숫자 허용
    +    public static final String ADMIN_ACCOUNT_REGEX = &quot;^[a-zA-Z0-9]{4,20}$&quot;;
    +    public static final String ADMIN_ACCOUNT_MSG = &quot;잘못된 아이디 형식입니다.&quot;;
    +
    +    // 최소 8자에서 최대 20자까지 허용
    +    // 적어도 하나의 대문자, 소문자, 숫자, 특수문자 포함
    +    // 허용할 특수문자: @, #, $, %, &amp;, *, !, ^
    +    public static final String ADMIN_PASSWORD_REGEX = &quot;^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[@#$%^&amp;*!])[A-Za-z\\d@#$%^&amp;*!]{8,20}$&quot;;
    +    public static final String ADMIN_PASSWORD_MSG = &quot;잘못된 비밀번호 형식입니다.&quot;;
    +
    +    public static final String MIN_VALUE_MSG = &quot;값은 최소 {value}이어야 합니다.&quot;;
    +    public static final String MAX_VALUE_MSG = &quot;값은 최대 {value}이어야 합니다.&quot;;
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/index.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/index.html
    new file mode 100644
    index 00000000..b342d38c
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.common.constant</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.common.constant</span></div><h1>com.softeer.backend.global.common.constant</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">95 of 95</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">19</td><td class="ctr2">19</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a0"><a href="RedisKeyPrefix.html" class="el_class">RedisKeyPrefix</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="67" alt="67"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">12</td><td class="ctr2" id="i0">12</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a1"><a href="RoleType.html" class="el_class">RoleType</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="44" height="10" title="25" alt="25"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">2</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h1">6</td><td class="ctr2" id="i1">6</td><td class="ctr1" id="j1">2</td><td class="ctr2" id="k1">2</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a2"><a href="ValidationConstant.html" class="el_class">ValidationConstant</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="5" height="10" title="3" alt="3"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/index.source.html
    new file mode 100644
    index 00000000..81c57535
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.common.constant</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.common.constant</span></div><h1>com.softeer.backend.global.common.constant</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">95 of 95</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">19</td><td class="ctr2">19</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a0"><a href="RedisKeyPrefix.java.html" class="el_source">RedisKeyPrefix.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="67" alt="67"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">12</td><td class="ctr2" id="i0">12</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a1"><a href="RoleType.java.html" class="el_source">RoleType.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="44" height="10" title="25" alt="25"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">2</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h1">6</td><td class="ctr2" id="i1">6</td><td class="ctr1" id="j1">2</td><td class="ctr2" id="k1">2</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a2"><a href="ValidationConstant.java.html" class="el_source">ValidationConstant.java</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="5" height="10" title="3" alt="3"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/ExceptionAdvice.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/ExceptionAdvice.html
    new file mode 100644
    index 00000000..afa4af82
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/ExceptionAdvice.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ExceptionAdvice</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.common.exception</a> &gt; <span class="el_class">ExceptionAdvice</span></div><h1>ExceptionAdvice</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">207 of 207</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">17</td><td class="ctr2">17</td><td class="ctr1">43</td><td class="ctr2">43</td><td class="ctr1">16</td><td class="ctr2">16</td></tr></tfoot><tbody><tr><td id="a5"><a href="ExceptionAdvice.java.html#L135" class="el_method">handleEventLockExceptionInternal(EventLockException, HttpHeaders, WebRequest)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="26" alt="26"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">7</td><td class="ctr2" id="i0">7</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a7"><a href="ExceptionAdvice.java.html#L119" class="el_method">handleGeneralExceptionInternal(Exception, ResponseDto.ErrorReasonDto, HttpHeaders, WebRequest)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="92" height="10" title="20" alt="20"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">4</td><td class="ctr2" id="i1">4</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="ExceptionAdvice.java.html#L158" class="el_method">handleConstraintExceptionInternal(Exception, ErrorStatus, HttpHeaders, WebRequest, List)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="92" height="10" title="20" alt="20"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">4</td><td class="ctr2" id="i2">4</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a1"><a href="ExceptionAdvice.java.html#L173" class="el_method">handleArgsExceptionInternal(Exception, HttpHeaders, ErrorStatus, WebRequest, Map)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="92" height="10" title="20" alt="20"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">4</td><td class="ctr2" id="i3">4</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a9"><a href="ExceptionAdvice.java.html#L188" class="el_method">handleGlobalExceptionInternal(Exception, ErrorStatus, HttpHeaders, HttpStatus, WebRequest, String)</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="87" height="10" title="19" alt="19"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h7">3</td><td class="ctr2" id="i7">3</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a10"><a href="ExceptionAdvice.java.html#L81" class="el_method">handleMethodArgumentNotValid(MethodArgumentNotValidException, HttpHeaders, HttpStatusCode, WebRequest)</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="83" height="10" title="18" alt="18"/></td><td class="ctr2" id="c5">0%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">1</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h4">4</td><td class="ctr2" id="i4">4</td><td class="ctr1" id="j5">1</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a13"><a href="ExceptionAdvice.java.html#L85" class="el_method">lambda$handleMethodArgumentNotValid$2(Map, FieldError)</a></td><td class="bar" id="b6"><img src="../jacoco-resources/redbar.gif" width="78" height="10" title="17" alt="17"/></td><td class="ctr2" id="c6">0%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">1</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h5">4</td><td class="ctr2" id="i5">4</td><td class="ctr1" id="j6">1</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a11"><a href="ExceptionAdvice.java.html#L57" class="el_method">handleValidationException(ConstraintViolationException, WebRequest)</a></td><td class="bar" id="b7"><img src="../jacoco-resources/redbar.gif" width="69" height="10" title="15" alt="15"/></td><td class="ctr2" id="c7">0%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">1</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h6">4</td><td class="ctr2" id="i6">4</td><td class="ctr1" id="j7">1</td><td class="ctr2" id="k7">1</td></tr><tr><td id="a8"><a href="ExceptionAdvice.java.html#L104" class="el_method">handleGlobalException(Exception, WebRequest)</a></td><td class="bar" id="b8"><img src="../jacoco-resources/redbar.gif" width="50" height="10" title="11" alt="11"/></td><td class="ctr2" id="c8">0%</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f8">1</td><td class="ctr2" id="g8">1</td><td class="ctr1" id="h10">1</td><td class="ctr2" id="i10">1</td><td class="ctr1" id="j8">1</td><td class="ctr2" id="k8">1</td></tr><tr><td id="a6"><a href="ExceptionAdvice.java.html#L38" class="el_method">handleGeneralException(GeneralException, WebRequest)</a></td><td class="bar" id="b9"><img src="../jacoco-resources/redbar.gif" width="46" height="10" title="10" alt="10"/></td><td class="ctr2" id="c9">0%</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f9">1</td><td class="ctr2" id="g9">1</td><td class="ctr1" id="h8">2</td><td class="ctr2" id="i8">2</td><td class="ctr1" id="j9">1</td><td class="ctr2" id="k9">1</td></tr><tr><td id="a3"><a href="ExceptionAdvice.java.html#L112" class="el_method">handleDataAccessException(DataAccessException)</a></td><td class="bar" id="b10"><img src="../jacoco-resources/redbar.gif" width="32" height="10" title="7" alt="7"/></td><td class="ctr2" id="c10">0%</td><td class="bar" id="d10"/><td class="ctr2" id="e10">n/a</td><td class="ctr1" id="f10">1</td><td class="ctr2" id="g10">1</td><td class="ctr1" id="h9">2</td><td class="ctr2" id="i9">2</td><td class="ctr1" id="j10">1</td><td class="ctr2" id="k10">1</td></tr><tr><td id="a14"><a href="ExceptionAdvice.java.html#L58" class="el_method">lambda$handleValidationException$0(ConstraintViolation)</a></td><td class="bar" id="b11"><img src="../jacoco-resources/redbar.gif" width="32" height="10" title="7" alt="7"/></td><td class="ctr2" id="c11">0%</td><td class="bar" id="d11"/><td class="ctr2" id="e11">n/a</td><td class="ctr1" id="f11">1</td><td class="ctr2" id="g11">1</td><td class="ctr1" id="h11">1</td><td class="ctr2" id="i11">1</td><td class="ctr1" id="j11">1</td><td class="ctr2" id="k11">1</td></tr><tr><td id="a4"><a href="ExceptionAdvice.java.html#L44" class="el_method">handleEventLockException(EventLockException, WebRequest)</a></td><td class="bar" id="b12"><img src="../jacoco-resources/redbar.gif" width="27" height="10" title="6" alt="6"/></td><td class="ctr2" id="c12">0%</td><td class="bar" id="d12"/><td class="ctr2" id="e12">n/a</td><td class="ctr1" id="f12">1</td><td class="ctr2" id="g12">1</td><td class="ctr1" id="h12">1</td><td class="ctr2" id="i12">1</td><td class="ctr1" id="j12">1</td><td class="ctr2" id="k12">1</td></tr><tr><td id="a12"><a href="ExceptionAdvice.java.html#L88" class="el_method">lambda$handleMethodArgumentNotValid$1(String, String)</a></td><td class="bar" id="b13"><img src="../jacoco-resources/redbar.gif" width="18" height="10" title="4" alt="4"/></td><td class="ctr2" id="c13">0%</td><td class="bar" id="d13"/><td class="ctr2" id="e13">n/a</td><td class="ctr1" id="f13">1</td><td class="ctr2" id="g13">1</td><td class="ctr1" id="h13">1</td><td class="ctr2" id="i13">1</td><td class="ctr1" id="j13">1</td><td class="ctr2" id="k13">1</td></tr><tr><td id="a15"><a href="ExceptionAdvice.java.html#L25" class="el_method">static {...}</a></td><td class="bar" id="b14"><img src="../jacoco-resources/redbar.gif" width="18" height="10" title="4" alt="4"/></td><td class="ctr2" id="c14">0%</td><td class="bar" id="d14"/><td class="ctr2" id="e14">n/a</td><td class="ctr1" id="f14">1</td><td class="ctr2" id="g14">1</td><td class="ctr1" id="h14">1</td><td class="ctr2" id="i14">1</td><td class="ctr1" id="j14">1</td><td class="ctr2" id="k14">1</td></tr><tr><td id="a0"><a href="ExceptionAdvice.java.html#L27" class="el_method">ExceptionAdvice()</a></td><td class="bar" id="b15"><img src="../jacoco-resources/redbar.gif" width="13" height="10" title="3" alt="3"/></td><td class="ctr2" id="c15">0%</td><td class="bar" id="d15"/><td class="ctr2" id="e15">n/a</td><td class="ctr1" id="f15">1</td><td class="ctr2" id="g15">1</td><td class="ctr1" id="h15">1</td><td class="ctr2" id="i15">1</td><td class="ctr1" id="j15">1</td><td class="ctr2" id="k15">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/ExceptionAdvice.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/ExceptionAdvice.java.html
    new file mode 100644
    index 00000000..80b4eb80
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/ExceptionAdvice.java.html
    @@ -0,0 +1,200 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ExceptionAdvice.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.common.exception</a> &gt; <span class="el_source">ExceptionAdvice.java</span></div><h1>ExceptionAdvice.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.common.exception;
    +
    +import com.softeer.backend.global.common.code.status.ErrorStatus;
    +import com.softeer.backend.global.common.response.ResponseDto;
    +import jakarta.validation.ConstraintViolationException;
    +import lombok.extern.slf4j.Slf4j;
    +import org.springframework.dao.DataAccessException;
    +import org.springframework.http.HttpHeaders;
    +import org.springframework.http.HttpStatus;
    +import org.springframework.http.HttpStatusCode;
    +import org.springframework.http.ResponseEntity;
    +import org.springframework.web.bind.MethodArgumentNotValidException;
    +import org.springframework.web.bind.annotation.ExceptionHandler;
    +import org.springframework.web.bind.annotation.RestControllerAdvice;
    +import org.springframework.web.context.request.WebRequest;
    +import org.springframework.web.servlet.ModelAndView;
    +import org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExceptionHandler;
    +
    +import java.util.*;
    +
    +
    +/**
    + * 예외를 한 곳에서 처리하는 클래스
    + */
    +<span class="nc" id="L25">@Slf4j</span>
    +@RestControllerAdvice
    +<span class="nc" id="L27">public class ExceptionAdvice extends ResponseEntityExceptionHandler {</span>
    +
    +    /**
    +     * GeneralException을 처리하는 메서드
    +     *
    +     * @param generalException 커스텀 예외의 최고 조상 클래스
    +     * @param webRequest       client 요청 객체
    +     * @return client 응답 객체
    +     */
    +    @ExceptionHandler
    +    public ResponseEntity&lt;Object&gt; handleGeneralException(GeneralException generalException, WebRequest webRequest) {
    +<span class="nc" id="L38">        ResponseDto.ErrorReasonDto errorReasonHttpStatus = generalException.getErrorReason();</span>
    +<span class="nc" id="L39">        return handleGeneralExceptionInternal(generalException, errorReasonHttpStatus, HttpHeaders.EMPTY, webRequest);</span>
    +    }
    +
    +    @ExceptionHandler
    +    public ModelAndView handleEventLockException(EventLockException eventLockException, WebRequest webRequest) {
    +<span class="nc" id="L44">        return handleEventLockExceptionInternal(eventLockException, HttpHeaders.EMPTY, webRequest);</span>
    +    }
    +
    +    /**
    +     * ConstraintViolationException을 처리하는 메서드
    +     *
    +     * @param constraintViolationException 검증 예외
    +     * @param request                      client 요청 객체
    +     * @return client 응답 객체
    +     */
    +    @ExceptionHandler
    +    public ResponseEntity&lt;Object&gt; handleValidationException(ConstraintViolationException constraintViolationException, WebRequest request) {
    +
    +<span class="nc" id="L57">        List&lt;String&gt; errorMessages = constraintViolationException.getConstraintViolations().stream()</span>
    +<span class="nc" id="L58">                .map(violation -&gt; Optional.ofNullable(violation.getMessage()).orElse(&quot;&quot;))</span>
    +<span class="nc" id="L59">                .toList();</span>
    +
    +<span class="nc" id="L61">        return handleConstraintExceptionInternal(constraintViolationException, ErrorStatus._VALIDATION_ERROR, HttpHeaders.EMPTY, request,</span>
    +                errorMessages);
    +    }
    +
    +    /**
    +     * MethodArgumentNotValidException을 처리하는 메서드
    +     * &lt;p&gt;
    +     * ResponseEntityExceptionHandler의 메서드를 오버라이딩하여 사용한다.
    +     *
    +     * @param methodArgumentNotValidException 컨트롤러 메서드의 파라미터 객체에 대한 검증 예외
    +     * @param headers                         헤더 객체
    +     * @param status                          HttpStatusCode 값
    +     * @param request                         client 요청 객체
    +     * @return client 응답 객체
    +     */
    +    @Override
    +    public ResponseEntity&lt;Object&gt; handleMethodArgumentNotValid(
    +            MethodArgumentNotValidException methodArgumentNotValidException,
    +            HttpHeaders headers, HttpStatusCode status, WebRequest request) {
    +
    +<span class="nc" id="L81">        Map&lt;String, String&gt; errors = new LinkedHashMap&lt;&gt;();</span>
    +
    +<span class="nc" id="L83">        methodArgumentNotValidException.getBindingResult().getFieldErrors()</span>
    +<span class="nc" id="L84">                .forEach(fieldError -&gt; {</span>
    +<span class="nc" id="L85">                    String fieldName = fieldError.getField();</span>
    +<span class="nc" id="L86">                    String errorMessage = Optional.ofNullable(fieldError.getDefaultMessage()).orElse(&quot;&quot;);</span>
    +<span class="nc" id="L87">                    errors.merge(fieldName, errorMessage, (existingErrorMessage, newErrorMessage)</span>
    +<span class="nc" id="L88">                            -&gt; existingErrorMessage + &quot;, &quot; + newErrorMessage);</span>
    +<span class="nc" id="L89">                });</span>
    +
    +<span class="nc" id="L91">        return handleArgsExceptionInternal(methodArgumentNotValidException, HttpHeaders.EMPTY, ErrorStatus._VALIDATION_ERROR, request, errors);</span>
    +    }
    +
    +    /**
    +     * 나머지 모든 예외들을 처리하는 메서드
    +     *
    +     * @param e       Exception을 상속한 예외 객체
    +     * @param request client 요청 객체
    +     * @return client 응답 객체
    +     */
    +    @ExceptionHandler
    +    public ResponseEntity&lt;Object&gt; handleGlobalException(Exception e, WebRequest request) {
    +
    +<span class="nc" id="L104">        return handleGlobalExceptionInternal(e, ErrorStatus._INTERNAL_SERVER_ERROR, HttpHeaders.EMPTY, ErrorStatus._INTERNAL_SERVER_ERROR.getHttpStatus(), request, e.getMessage());</span>
    +    }
    +
    +    /**
    +     * DB 관련 예외 처리
    +     */
    +    @ExceptionHandler
    +    public void handleDataAccessException(DataAccessException e) {
    +<span class="nc" id="L112">        log.error(&quot;DataAccessException occurred: {}&quot;, e.getMessage(), e);</span>
    +<span class="nc" id="L113">    }</span>
    +
    +    // GeneralException에 대한 client 응답 객체를 생성하는 메서드
    +    private ResponseEntity&lt;Object&gt; handleGeneralExceptionInternal(Exception e, ResponseDto.ErrorReasonDto reason,
    +                                                                  HttpHeaders headers, WebRequest webRequest) {
    +
    +<span class="nc" id="L119">        log.error(&quot;GeneralException captured in ExceptionAdvice&quot;, e);</span>
    +
    +<span class="nc" id="L121">        ResponseDto&lt;Object&gt; body = ResponseDto.onFailure(reason.getCode(), reason.getMessage(), null);</span>
    +
    +<span class="nc" id="L123">        return super.handleExceptionInternal(</span>
    +                e,
    +                body,
    +                headers,
    +<span class="nc" id="L127">                reason.getHttpStatus(),</span>
    +                webRequest
    +        );
    +    }
    +
    +    // EventLockException에 대한 client 응답 객체를 생성하는 메서드
    +    private ModelAndView handleEventLockExceptionInternal(EventLockException e, HttpHeaders headers, WebRequest webRequest) {
    +
    +<span class="nc" id="L135">        log.error(&quot;EventLockException captured in ExceptionAdvice&quot;, e);</span>
    +
    +<span class="nc" id="L137">        String redissonKeyName = e.getRedissonKeyName();</span>
    +
    +<span class="nc" id="L139">        ModelAndView modelAndView = new ModelAndView();</span>
    +
    +<span class="nc bnc" id="L141" title="All 2 branches missed.">        if (redissonKeyName.contains(&quot;FCFS&quot;)){</span>
    +
    +<span class="nc" id="L143">            modelAndView.setViewName(&quot;redirect:/fcfs/result&quot;);</span>
    +<span class="nc" id="L144">            modelAndView.addObject(&quot;fcfsWin&quot;, false);</span>
    +        }
    +
    +        //TODO
    +        // DRAW 관련 예외일 경우, body 구성하는 코드 필요
    +
    +<span class="nc" id="L150">        return modelAndView;</span>
    +    }
    +
    +    // ConstraintViolationException에 대한 client 응답 객체를 생성하는 메서드
    +    private ResponseEntity&lt;Object&gt; handleConstraintExceptionInternal(Exception e, ErrorStatus errorCommonStatus,
    +                                                                     HttpHeaders headers, WebRequest request,
    +                                                                     List&lt;String&gt; errorMessages) {
    +
    +<span class="nc" id="L158">        log.error(&quot;ConstraintViolationException captured in ExceptionAdvice&quot;, e);</span>
    +
    +<span class="nc" id="L160">        ResponseDto&lt;Object&gt; body = ResponseDto.onFailure(errorCommonStatus.getCode(), errorCommonStatus.getMessage(), errorMessages);</span>
    +<span class="nc" id="L161">        return super.handleExceptionInternal(</span>
    +                e,
    +                body,
    +                headers,
    +<span class="nc" id="L165">                errorCommonStatus.getHttpStatus(),</span>
    +                request
    +        );
    +    }
    +
    +    // MethodArgumentNotValidException에 대한 client 응답 객체를 생성하는 메서드
    +    private ResponseEntity&lt;Object&gt; handleArgsExceptionInternal(Exception e, HttpHeaders headers, ErrorStatus errorCommonStatus,
    +                                                               WebRequest request, Map&lt;String, String&gt; errorArgs) {
    +<span class="nc" id="L173">        log.error(&quot;MethodArgumentNotValidException captured in ExceptionAdvice&quot;, e);</span>
    +
    +<span class="nc" id="L175">        ResponseDto&lt;Object&gt; body = ResponseDto.onFailure(errorCommonStatus.getCode(), errorCommonStatus.getMessage(), errorArgs);</span>
    +<span class="nc" id="L176">        return super.handleExceptionInternal(</span>
    +                e,
    +                body,
    +                headers,
    +<span class="nc" id="L180">                errorCommonStatus.getHttpStatus(),</span>
    +                request
    +        );
    +    }
    +
    +    // 나머지 모든 예외에 대한 client 응답 객체를 생성하는 메서드
    +    private ResponseEntity&lt;Object&gt; handleGlobalExceptionInternal(Exception e, ErrorStatus errorCommonStatus,
    +                                                                 HttpHeaders headers, HttpStatus status, WebRequest request, String errorPoint) {
    +<span class="nc" id="L188">        log.error(&quot;Exception captured in ExceptionAdvice&quot;, e);</span>
    +
    +<span class="nc" id="L190">        ResponseDto&lt;Object&gt; body = ResponseDto.onFailure(errorCommonStatus.getCode(), errorCommonStatus.getMessage(), errorPoint);</span>
    +<span class="nc" id="L191">        return super.handleExceptionInternal(</span>
    +                e,
    +                body,
    +                headers,
    +                status,
    +                request
    +        );
    +    }
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/GeneralException.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/GeneralException.html
    new file mode 100644
    index 00000000..6e4f6702
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/GeneralException.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>GeneralException</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.common.exception</a> &gt; <span class="el_class">GeneralException</span></div><h1>GeneralException</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="GeneralException.java.html#L23" class="el_method">getErrorReason()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">1</td><td class="ctr2" id="i0">1</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/GeneralException.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/GeneralException.java.html
    new file mode 100644
    index 00000000..71e418ba
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/GeneralException.java.html
    @@ -0,0 +1,27 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>GeneralException.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.common.exception</a> &gt; <span class="el_source">GeneralException.java</span></div><h1>GeneralException.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.common.exception;
    +
    +import com.softeer.backend.global.common.code.BaseErrorCode;
    +import com.softeer.backend.global.common.response.ResponseDto;
    +import lombok.AllArgsConstructor;
    +import lombok.Getter;
    +
    +/**
    + * 커스텀 예외의 최고 조상 클래스
    + */
    +@Getter
    +@AllArgsConstructor
    +public class GeneralException extends RuntimeException {
    +
    +    private final BaseErrorCode code;
    +
    +    /**
    +     * Error 정보를 갖고있는 ErrorReasonDto를 반환하는 메서드
    +     *
    +     * @return ErrorReasonDto 객체
    +     */
    +    public ResponseDto.ErrorReasonDto getErrorReason() {
    +<span class="nc" id="L23">        return this.code.getReason();</span>
    +    }
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/JwtAuthenticationException.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/JwtAuthenticationException.html
    new file mode 100644
    index 00000000..ae54edd3
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/JwtAuthenticationException.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>JwtAuthenticationException</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.common.exception</a> &gt; <span class="el_class">JwtAuthenticationException</span></div><h1>JwtAuthenticationException</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="JwtAuthenticationException.java.html#L12" class="el_method">JwtAuthenticationException(BaseErrorCode)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/JwtAuthenticationException.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/JwtAuthenticationException.java.html
    new file mode 100644
    index 00000000..cf066fcb
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/JwtAuthenticationException.java.html
    @@ -0,0 +1,15 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>JwtAuthenticationException.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.common.exception</a> &gt; <span class="el_source">JwtAuthenticationException.java</span></div><h1>JwtAuthenticationException.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.common.exception;
    +
    +
    +import com.softeer.backend.global.common.code.BaseErrorCode;
    +
    +/**
    + * JWT 인증 예외 클래스
    + */
    +public class JwtAuthenticationException extends GeneralException {
    +
    +    public JwtAuthenticationException(BaseErrorCode code) {
    +<span class="nc" id="L12">        super(code);</span>
    +<span class="nc" id="L13">    }</span>
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/JwtAuthorizationException.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/JwtAuthorizationException.html
    new file mode 100644
    index 00000000..0f9203fe
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/JwtAuthorizationException.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>JwtAuthorizationException</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.common.exception</a> &gt; <span class="el_class">JwtAuthorizationException</span></div><h1>JwtAuthorizationException</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="JwtAuthorizationException.java.html#L11" class="el_method">JwtAuthorizationException(BaseErrorCode)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/JwtAuthorizationException.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/JwtAuthorizationException.java.html
    new file mode 100644
    index 00000000..6ebbb304
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/JwtAuthorizationException.java.html
    @@ -0,0 +1,14 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>JwtAuthorizationException.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.common.exception</a> &gt; <span class="el_source">JwtAuthorizationException.java</span></div><h1>JwtAuthorizationException.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.common.exception;
    +
    +import com.softeer.backend.global.common.code.BaseErrorCode;
    +
    +/**
    + * JWT 인가 예외 클래스
    + */
    +public class JwtAuthorizationException extends GeneralException {
    +
    +    public JwtAuthorizationException(BaseErrorCode code) {
    +<span class="nc" id="L11">        super(code);</span>
    +<span class="nc" id="L12">    }</span>
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/index.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/index.html
    new file mode 100644
    index 00000000..0494feb0
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.common.exception</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.common.exception</span></div><h1>com.softeer.backend.global.common.exception</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">219 of 219</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">20</td><td class="ctr2">20</td><td class="ctr1">48</td><td class="ctr2">48</td><td class="ctr1">19</td><td class="ctr2">19</td><td class="ctr1">4</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a0"><a href="ExceptionAdvice.html" class="el_class">ExceptionAdvice</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="207" alt="207"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">17</td><td class="ctr2" id="g0">17</td><td class="ctr1" id="h0">43</td><td class="ctr2" id="i0">43</td><td class="ctr1" id="j0">16</td><td class="ctr2" id="k0">16</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a3"><a href="JwtAuthorizationException.html" class="el_class">JwtAuthorizationException</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="2" height="10" title="4" alt="4"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a2"><a href="JwtAuthenticationException.html" class="el_class">JwtAuthenticationException</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="2" height="10" title="4" alt="4"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">2</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a1"><a href="GeneralException.html" class="el_class">GeneralException</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="2" height="10" title="4" alt="4"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">1</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td><td class="ctr1" id="l3">1</td><td class="ctr2" id="m3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/index.source.html
    new file mode 100644
    index 00000000..da825254
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.common.exception</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.common.exception</span></div><h1>com.softeer.backend.global.common.exception</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">219 of 219</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">20</td><td class="ctr2">20</td><td class="ctr1">48</td><td class="ctr2">48</td><td class="ctr1">19</td><td class="ctr2">19</td><td class="ctr1">4</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a0"><a href="ExceptionAdvice.java.html" class="el_source">ExceptionAdvice.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="207" alt="207"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">17</td><td class="ctr2" id="g0">17</td><td class="ctr1" id="h0">43</td><td class="ctr2" id="i0">43</td><td class="ctr1" id="j0">16</td><td class="ctr2" id="k0">16</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a2"><a href="JwtAuthenticationException.java.html" class="el_source">JwtAuthenticationException.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="2" height="10" title="4" alt="4"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a1"><a href="GeneralException.java.html" class="el_source">GeneralException.java</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="2" height="10" title="4" alt="4"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h3">1</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a3"><a href="JwtAuthorizationException.java.html" class="el_source">JwtAuthorizationException.java</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="2" height="10" title="4" alt="4"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h2">2</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td><td class="ctr1" id="l3">1</td><td class="ctr2" id="m3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.response/ResponseDto.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.response/ResponseDto.html
    new file mode 100644
    index 00000000..324293a9
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.common.response/ResponseDto.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ResponseDto</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.common.response</a> &gt; <span class="el_class">ResponseDto</span></div><h1>ResponseDto</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">53 of 53</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">5</td><td class="ctr2">5</td></tr></tfoot><tbody><tr><td id="a2"><a href="ResponseDto.java.html#L40" class="el_method">onSuccess()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="11" alt="11"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">1</td><td class="ctr2" id="i0">1</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a4"><a href="ResponseDto.java.html#L51" class="el_method">onSuccess(Object)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="11" alt="11"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a3"><a href="ResponseDto.java.html#L63" class="el_method">onSuccess(BaseCode, Object)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="11" alt="11"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a0"><a href="ResponseDto.java.html#L74" class="el_method">onFailure(BaseErrorCode)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="11" alt="11"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">1</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a1"><a href="ResponseDto.java.html#L87" class="el_method">onFailure(String, String, Object)</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="98" height="10" title="9" alt="9"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">1</td><td class="ctr2" id="i4">1</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.response/ResponseDto.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.response/ResponseDto.java.html
    new file mode 100644
    index 00000000..283df28c
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.common.response/ResponseDto.java.html
    @@ -0,0 +1,114 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ResponseDto.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.common.response</a> &gt; <span class="el_source">ResponseDto.java</span></div><h1>ResponseDto.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.common.response;
    +
    +import com.fasterxml.jackson.annotation.JsonInclude;
    +import com.fasterxml.jackson.annotation.JsonProperty;
    +import com.fasterxml.jackson.annotation.JsonPropertyOrder;
    +import com.softeer.backend.global.common.code.BaseCode;
    +import com.softeer.backend.global.common.code.BaseErrorCode;
    +import com.softeer.backend.global.common.code.status.SuccessStatus;
    +import lombok.AllArgsConstructor;
    +import lombok.Builder;
    +import lombok.Getter;
    +import org.springframework.http.HttpStatus;
    +
    +/**
    + * Client 응답 객체 클래스
    + *
    + * @param &lt;T&gt; 응답에 담을 객체 타입
    + */
    +@Getter
    +@AllArgsConstructor
    +@JsonPropertyOrder({&quot;isSuccess&quot;, &quot;code&quot;, &quot;message&quot;, &quot;result&quot;})
    +public class ResponseDto&lt;T&gt; {
    +
    +    // client 요청 처리 성공 여부값
    +    @JsonProperty(&quot;isSuccess&quot;)
    +    private final Boolean isSuccess;
    +    // 커스텀 상태 코드값
    +    private final String code;
    +    // 응답 메시지
    +    private final String message;
    +
    +    // 응답에 담을 객체
    +    @JsonInclude(JsonInclude.Include.NON_NULL)
    +    private final T result;
    +
    +    /**
    +     * 요청 처리에는 성공했지만, 보낼 데이터가 없을 경우 사용하는 메서드
    +     */
    +    public static &lt;T&gt; ResponseDto&lt;T&gt; onSuccess() {
    +<span class="nc" id="L40">        return new ResponseDto&lt;&gt;(true, SuccessStatus._OK.getCode(), SuccessStatus._OK.getMessage(), null);</span>
    +    }
    +
    +    /**
    +     * client 요청 처리 성공 시의 응답값을 생성하는 메서드
    +     *
    +     * @param result client 응답에 넣을 객체
    +     * @param &lt;T&gt;    응답에 담을 객체 타입
    +     * @return client 응답 객체
    +     */
    +    public static &lt;T&gt; ResponseDto&lt;T&gt; onSuccess(T result) {
    +<span class="nc" id="L51">        return new ResponseDto&lt;&gt;(true, SuccessStatus._OK.getCode(), SuccessStatus._OK.getMessage(), result);</span>
    +    }
    +
    +    /**
    +     * client 요청 처리 성공 시의 응답값을 생성하는 메서드
    +     *
    +     * @param code   성공 응답 코드
    +     * @param result client 응답에 넣을 객체
    +     * @param &lt;T&gt;    응답에 담을 객체 타입
    +     * @return client 응답 객체
    +     */
    +    public static &lt;T&gt; ResponseDto&lt;T&gt; onSuccess(BaseCode code, T result) {
    +<span class="nc" id="L63">        return new ResponseDto&lt;&gt;(true, code.getCode(), code.getMsg(), result);</span>
    +    }
    +
    +    /**
    +     * client 요청 처리 실패 시의 응답값을 생성하는 메서드
    +     *
    +     * @param code 실패 응답 코드
    +     * @param &lt;T&gt;  응답에 담을 객체 타입
    +     * @return client 응답 객체
    +     */
    +    public static &lt;T&gt; ResponseDto&lt;T&gt; onFailure(BaseErrorCode code) {
    +<span class="nc" id="L74">        return new ResponseDto&lt;&gt;(false, code.getCode(), code.getErrorMsg(), null);</span>
    +    }
    +
    +    /**
    +     * client 요청 처리 실패 시의 응답값을 생성하는 메서드
    +     *
    +     * @param code    code 실패 응답 코드
    +     * @param message 실패 응답 메시지
    +     * @param result  client 응답에 넣을 객체
    +     * @param &lt;T&gt;     응답에 담을 객체 타입
    +     * @return client 응답 객체
    +     */
    +    public static &lt;T&gt; ResponseDto&lt;T&gt; onFailure(String code, String message, T result) {
    +<span class="nc" id="L87">        return new ResponseDto&lt;&gt;(false, code, message, result);</span>
    +    }
    +
    +    /**
    +     * Error 정보를 갖고 있는 내부 클래스
    +     */
    +    @Getter
    +    @Builder
    +    public static class ErrorReasonDto {
    +        private HttpStatus httpStatus;
    +        private final boolean isSuccess;
    +        private final String code;
    +        private final String message;
    +    }
    +
    +    /**
    +     * 성공 응답 정보를 갖고 있는 내부 클래스
    +     */
    +    @Getter
    +    @Builder
    +    public static class ReasonDto {
    +        private HttpStatus httpStatus;
    +        private final boolean isSuccess;
    +        private final String code;
    +        private final String message;
    +    }
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.response/index.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.response/index.html
    new file mode 100644
    index 00000000..7781e211
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.common.response/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.common.response</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.common.response</span></div><h1>com.softeer.backend.global.common.response</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">53 of 53</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="ResponseDto.html" class="el_class">ResponseDto</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="53" alt="53"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">5</td><td class="ctr2" id="g0">5</td><td class="ctr1" id="h0">5</td><td class="ctr2" id="i0">5</td><td class="ctr1" id="j0">5</td><td class="ctr2" id="k0">5</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.response/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.response/index.source.html
    new file mode 100644
    index 00000000..486a0d3f
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.common.response/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.common.response</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.common.response</span></div><h1>com.softeer.backend.global.common.response</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">53 of 53</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="ResponseDto.java.html" class="el_source">ResponseDto.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="53" alt="53"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">5</td><td class="ctr2" id="g0">5</td><td class="ctr1" id="h0">5</td><td class="ctr2" id="i0">5</td><td class="ctr1" id="j0">5</td><td class="ctr2" id="k0">5</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.swagger/SwaggerController.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.swagger/SwaggerController.html
    new file mode 100644
    index 00000000..09fd055f
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.common.swagger/SwaggerController.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>SwaggerController</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.common.swagger</a> &gt; <span class="el_class">SwaggerController</span></div><h1>SwaggerController</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">5 of 5</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="SwaggerController.java.html#L7" class="el_method">SwaggerController()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="3" alt="3"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">1</td><td class="ctr2" id="i0">1</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="SwaggerController.java.html#L11" class="el_method">getRedirectUrl()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="80" height="10" title="2" alt="2"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.swagger/SwaggerController.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.swagger/SwaggerController.java.html
    new file mode 100644
    index 00000000..d7796586
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.common.swagger/SwaggerController.java.html
    @@ -0,0 +1,14 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>SwaggerController.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.common.swagger</a> &gt; <span class="el_source">SwaggerController.java</span></div><h1>SwaggerController.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.common.swagger;
    +
    +import org.springframework.stereotype.Controller;
    +import org.springframework.web.bind.annotation.RequestMapping;
    +
    +@Controller
    +<span class="nc" id="L7">public class SwaggerController {</span>
    +
    +    @RequestMapping(&quot;/swagger&quot;)
    +    public String getRedirectUrl() {
    +<span class="nc" id="L11">        return &quot;redirect:swagger-ui/index.html&quot;;</span>
    +    }
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.swagger/index.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.swagger/index.html
    new file mode 100644
    index 00000000..58308a40
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.common.swagger/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.common.swagger</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.common.swagger</span></div><h1>com.softeer.backend.global.common.swagger</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">5 of 5</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="SwaggerController.html" class="el_class">SwaggerController</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="5" alt="5"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.swagger/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.swagger/index.source.html
    new file mode 100644
    index 00000000..76234594
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.common.swagger/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.common.swagger</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.common.swagger</span></div><h1>com.softeer.backend.global.common.swagger</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">5 of 5</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="SwaggerController.java.html" class="el_source">SwaggerController.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="5" alt="5"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.cache/CacheConfig.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.cache/CacheConfig.html
    new file mode 100644
    index 00000000..04eb493b
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.config.cache/CacheConfig.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>CacheConfig</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.config.cache</a> &gt; <span class="el_class">CacheConfig</span></div><h1>CacheConfig</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">45 of 45</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">4</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a1"><a href="CacheConfig.java.html#L22" class="el_method">cacheManager()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="20" alt="20"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">10</td><td class="ctr2" id="i0">10</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="CacheConfig.java.html#L30" class="el_method">lambda$cacheManager$0(Object, Object, RemovalCause)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="108" height="10" title="18" alt="18"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a3"><a href="CacheConfig.java.html#L15" class="el_method">static {...}</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="24" height="10" title="4" alt="4"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a0"><a href="CacheConfig.java.html#L18" class="el_method">CacheConfig()</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="18" height="10" title="3" alt="3"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">1</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.cache/CacheConfig.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.cache/CacheConfig.java.html
    new file mode 100644
    index 00000000..89472093
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.config.cache/CacheConfig.java.html
    @@ -0,0 +1,35 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>CacheConfig.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.config.cache</a> &gt; <span class="el_source">CacheConfig.java</span></div><h1>CacheConfig.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.config.cache;
    +
    +import com.github.benmanes.caffeine.cache.Caffeine;
    +import lombok.extern.slf4j.Slf4j;
    +import org.springframework.cache.CacheManager;
    +import org.springframework.cache.annotation.EnableCaching;
    +import org.springframework.cache.caffeine.CaffeineCacheManager;
    +import org.springframework.cache.concurrent.ConcurrentMapCacheManager;
    +import org.springframework.context.annotation.Bean;
    +import org.springframework.context.annotation.Configuration;
    +
    +import java.util.List;
    +import java.util.concurrent.TimeUnit;
    +
    +<span class="nc" id="L15">@Slf4j</span>
    +@Configuration
    +@EnableCaching
    +<span class="nc" id="L18">public class CacheConfig {</span>
    +
    +    @Bean
    +    public CacheManager cacheManager() {
    +<span class="nc" id="L22">        CaffeineCacheManager cacheManager = new CaffeineCacheManager();</span>
    +<span class="nc" id="L23">        cacheManager.setCaffeine(</span>
    +<span class="nc" id="L24">                Caffeine.newBuilder()</span>
    +<span class="nc" id="L25">                        .expireAfterAccess(1, TimeUnit.DAYS) //첫 번재 접근 후 1일 경과 후, 제거</span>
    +<span class="nc" id="L26">                        .initialCapacity(200) //초기 크기 설정</span>
    +<span class="nc" id="L27">                        .softValues() // 값 객체에 대한 부드러움 참조: 메모리가 부족할 때만 GC가 일어남. GC가 수집 대상으로 판단하더라도 GC가 일어나지 않음</span>
    +<span class="nc" id="L28">                        .maximumSize(1000) // 최대 크기 설정</span>
    +<span class="nc" id="L29">                        .recordStats() // 캐시 지표 기록</span>
    +<span class="nc" id="L30">                        .removalListener((key ,value, cause) -&gt; log.debug(&quot;key: {}, value: {}가 제거 되었습니다. cause: {}&quot;, key, value, cause))</span>
    +        );
    +<span class="nc" id="L32">        return cacheManager;</span>
    +    }
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.cache/index.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.cache/index.html
    new file mode 100644
    index 00000000..5f673827
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.config.cache/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.config.cache</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.config.cache</span></div><h1>com.softeer.backend.global.config.cache</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">45 of 45</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="CacheConfig.html" class="el_class">CacheConfig</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="45" alt="45"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">12</td><td class="ctr2" id="i0">12</td><td class="ctr1" id="j0">4</td><td class="ctr2" id="k0">4</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.cache/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.cache/index.source.html
    new file mode 100644
    index 00000000..47612f26
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.config.cache/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.config.cache</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.config.cache</span></div><h1>com.softeer.backend.global.config.cache</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">45 of 45</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="CacheConfig.java.html" class="el_source">CacheConfig.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="45" alt="45"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">12</td><td class="ctr2" id="i0">12</td><td class="ctr1" id="j0">4</td><td class="ctr2" id="k0">4</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.docs/SwaggerConfig.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.docs/SwaggerConfig.html
    new file mode 100644
    index 00000000..6070f9cd
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.config.docs/SwaggerConfig.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>SwaggerConfig</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.config.docs</a> &gt; <span class="el_class">SwaggerConfig</span></div><h1>SwaggerConfig</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">70 of 70</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">24</td><td class="ctr2">24</td><td class="ctr1">4</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a3"><a href="SwaggerConfig.java.html#L46" class="el_method">getOpenApi()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="28" alt="28"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">9</td><td class="ctr2" id="i0">9</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="SwaggerConfig.java.html#L59" class="el_method">getJwtSecurityScheme()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="68" height="10" title="16" alt="16"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">6</td><td class="ctr2" id="i1">6</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="SwaggerConfig.java.html#L36" class="el_method">chatOpenApi()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="60" height="10" title="14" alt="14"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">5</td><td class="ctr2" id="i2">5</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a1"><a href="SwaggerConfig.java.html#L68" class="el_method">getJwtRefreshSecurityScheme()</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="51" height="10" title="12" alt="12"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">4</td><td class="ctr2" id="i3">4</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.docs/SwaggerConfig.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.docs/SwaggerConfig.java.html
    new file mode 100644
    index 00000000..c628de15
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.config.docs/SwaggerConfig.java.html
    @@ -0,0 +1,74 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>SwaggerConfig.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.config.docs</a> &gt; <span class="el_source">SwaggerConfig.java</span></div><h1>SwaggerConfig.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.config.docs;
    +
    +import com.softeer.backend.global.config.properties.JwtProperties;
    +import io.swagger.v3.oas.annotations.OpenAPIDefinition;
    +import io.swagger.v3.oas.annotations.info.Info;
    +import io.swagger.v3.oas.annotations.servers.Server;
    +import io.swagger.v3.oas.models.Components;
    +import io.swagger.v3.oas.models.OpenAPI;
    +import io.swagger.v3.oas.models.security.SecurityRequirement;
    +import io.swagger.v3.oas.models.security.SecurityScheme;
    +import lombok.RequiredArgsConstructor;
    +import org.springdoc.core.models.GroupedOpenApi;
    +import org.springframework.context.annotation.Bean;
    +import org.springframework.context.annotation.Configuration;
    +
    +/**
    + * Swagger 설정 클래스
    + */
    +@OpenAPIDefinition(
    +        info = @Info(title = &quot;T라미숙해&quot;,
    +                description = &quot;T라미숙해 api명세&quot;,
    +                version = &quot;v1&quot;),
    +        servers = {
    +                @Server(url = &quot;https://softeer.shop&quot;),
    +                @Server(url = &quot;http://localhost:5000&quot;)
    +        }
    +)
    +@RequiredArgsConstructor
    +@Configuration
    +public class SwaggerConfig {
    +
    +    private final JwtProperties jwtProperties;
    +
    +    @Bean
    +    public GroupedOpenApi chatOpenApi() {
    +<span class="nc" id="L36">        String[] paths = {&quot;/**&quot;};</span>
    +
    +<span class="nc" id="L38">        return GroupedOpenApi.builder()</span>
    +<span class="nc" id="L39">                .group(&quot;T라미숙해 API v1&quot;)</span>
    +<span class="nc" id="L40">                .pathsToMatch(paths)</span>
    +<span class="nc" id="L41">                .build();</span>
    +    }
    +
    +    @Bean
    +    public OpenAPI getOpenApi() {
    +<span class="nc" id="L46">        Components components = new Components()</span>
    +<span class="nc" id="L47">                .addSecuritySchemes(&quot;AccessToken&quot;, getJwtSecurityScheme())</span>
    +<span class="nc" id="L48">                .addSecuritySchemes(&quot;RefreshToken&quot;, getJwtRefreshSecurityScheme());</span>
    +<span class="nc" id="L49">        SecurityRequirement securityItem = new SecurityRequirement()</span>
    +<span class="nc" id="L50">                .addList(&quot;AccessToken&quot;)</span>
    +<span class="nc" id="L51">                .addList(&quot;RefreshToken&quot;);</span>
    +
    +<span class="nc" id="L53">        return new OpenAPI()</span>
    +<span class="nc" id="L54">                .components(components)</span>
    +<span class="nc" id="L55">                .addSecurityItem(securityItem);</span>
    +    }
    +
    +    private SecurityScheme getJwtSecurityScheme() {
    +<span class="nc" id="L59">        return new SecurityScheme()</span>
    +<span class="nc" id="L60">                .type(SecurityScheme.Type.HTTP)</span>
    +<span class="nc" id="L61">                .scheme(&quot;bearer&quot;)</span>
    +<span class="nc" id="L62">                .bearerFormat(&quot;JWT&quot;)</span>
    +<span class="nc" id="L63">                .in(SecurityScheme.In.HEADER)</span>
    +<span class="nc" id="L64">                .name(jwtProperties.getAccessHeader());</span>
    +    }
    +
    +    private SecurityScheme getJwtRefreshSecurityScheme() {
    +<span class="nc" id="L68">        return new SecurityScheme()</span>
    +<span class="nc" id="L69">                .type(SecurityScheme.Type.APIKEY)</span>
    +<span class="nc" id="L70">                .in(SecurityScheme.In.HEADER)</span>
    +<span class="nc" id="L71">                .name(jwtProperties.getRefreshHeader());</span>
    +    }
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.docs/index.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.docs/index.html
    new file mode 100644
    index 00000000..369ffe69
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.config.docs/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.config.docs</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.config.docs</span></div><h1>com.softeer.backend.global.config.docs</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">70 of 70</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">24</td><td class="ctr2">24</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="SwaggerConfig.html" class="el_class">SwaggerConfig</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="70" alt="70"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">24</td><td class="ctr2" id="i0">24</td><td class="ctr1" id="j0">4</td><td class="ctr2" id="k0">4</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.docs/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.docs/index.source.html
    new file mode 100644
    index 00000000..33948ed0
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.config.docs/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.config.docs</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.config.docs</span></div><h1>com.softeer.backend.global.config.docs</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">70 of 70</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">24</td><td class="ctr2">24</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="SwaggerConfig.java.html" class="el_source">SwaggerConfig.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="70" alt="70"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">24</td><td class="ctr2" id="i0">24</td><td class="ctr1" id="j0">4</td><td class="ctr2" id="k0">4</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.properties/JwtProperties.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.properties/JwtProperties.html
    new file mode 100644
    index 00000000..a2c42548
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.config.properties/JwtProperties.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>JwtProperties</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.config.properties</a> &gt; <span class="el_class">JwtProperties</span></div><h1>JwtProperties</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">21 of 21</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">8</td><td class="ctr2">8</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="JwtProperties.java.html#L29" class="el_method">JwtProperties(String, String, String, String, Long, Long)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="21" alt="21"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">8</td><td class="ctr2" id="i0">8</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.properties/JwtProperties.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.properties/JwtProperties.java.html
    new file mode 100644
    index 00000000..913c50df
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.config.properties/JwtProperties.java.html
    @@ -0,0 +1,38 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>JwtProperties.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.config.properties</a> &gt; <span class="el_source">JwtProperties.java</span></div><h1>JwtProperties.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.config.properties;
    +
    +import lombok.Getter;
    +import org.springframework.boot.context.properties.ConfigurationProperties;
    +import org.springframework.boot.context.properties.bind.ConstructorBinding;
    +
    +/**
    + * JWT 속성 관리 클래스
    + * &lt;p&gt;
    + * bearer: JWT 토큰 타입
    + * secret: JWT 비밀 키
    + * accessHeader: Access Token 헤더 이름
    + * refreshHeader: Refresh Token 헤더 이름
    + * accessExpiration: Access Token 유효 기간
    + * refreshExpiration: Refresh Token 유효 기간
    + */
    +@Getter
    +@ConfigurationProperties(&quot;jwt&quot;)
    +public class JwtProperties {
    +    private final String bearer;
    +    private final String secret;
    +    private final String accessHeader;
    +    private final String refreshHeader;
    +    private final Long accessExpiration;
    +    private final Long refreshExpiration;
    +
    +    @ConstructorBinding
    +    public JwtProperties(String bearer, String secret, String accessHeader, String refreshHeader,
    +<span class="nc" id="L29">                         Long accessExpiration, Long refreshExpiration) {</span>
    +<span class="nc" id="L30">        this.bearer = bearer;</span>
    +<span class="nc" id="L31">        this.secret = secret;</span>
    +<span class="nc" id="L32">        this.accessHeader = accessHeader;</span>
    +<span class="nc" id="L33">        this.refreshHeader = refreshHeader;</span>
    +<span class="nc" id="L34">        this.accessExpiration = accessExpiration;</span>
    +<span class="nc" id="L35">        this.refreshExpiration = refreshExpiration;</span>
    +<span class="nc" id="L36">    }</span>
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.properties/RedisProperties.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.properties/RedisProperties.html
    new file mode 100644
    index 00000000..3538406a
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.config.properties/RedisProperties.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>RedisProperties</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.config.properties</a> &gt; <span class="el_class">RedisProperties</span></div><h1>RedisProperties</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">9 of 9</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="RedisProperties.java.html#L20" class="el_method">RedisProperties(String, Integer)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="9" alt="9"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">4</td><td class="ctr2" id="i0">4</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.properties/RedisProperties.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.properties/RedisProperties.java.html
    new file mode 100644
    index 00000000..2740aac6
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.config.properties/RedisProperties.java.html
    @@ -0,0 +1,25 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>RedisProperties.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.config.properties</a> &gt; <span class="el_source">RedisProperties.java</span></div><h1>RedisProperties.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.config.properties;
    +
    +import lombok.Getter;
    +import org.springframework.boot.context.properties.ConfigurationProperties;
    +import org.springframework.boot.context.properties.bind.ConstructorBinding;
    +
    +/**
    + * Redis 속성 관리 클래스
    + * &lt;p&gt;
    + * host: Redis host 정보
    + * port: Redis 포트 정보
    + */
    +@Getter
    +@ConfigurationProperties(&quot;spring.data.redis&quot;)
    +public class RedisProperties {
    +    private final String host;
    +    private final Integer port;
    +
    +    @ConstructorBinding
    +<span class="nc" id="L20">    public RedisProperties(String host, Integer port) {</span>
    +<span class="nc" id="L21">        this.host = host;</span>
    +<span class="nc" id="L22">        this.port = port;</span>
    +<span class="nc" id="L23">    }</span>
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.properties/index.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.properties/index.html
    new file mode 100644
    index 00000000..1b6eea94
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.config.properties/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.config.properties</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.config.properties</span></div><h1>com.softeer.backend.global.config.properties</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">30 of 30</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="JwtProperties.html" class="el_class">JwtProperties</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="21" alt="21"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">8</td><td class="ctr2" id="i0">8</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a1"><a href="RedisProperties.html" class="el_class">RedisProperties</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="51" height="10" title="9" alt="9"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">4</td><td class="ctr2" id="i1">4</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.properties/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.properties/index.source.html
    new file mode 100644
    index 00000000..a99eb421
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.config.properties/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.config.properties</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.config.properties</span></div><h1>com.softeer.backend.global.config.properties</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">30 of 30</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="JwtProperties.java.html" class="el_source">JwtProperties.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="21" alt="21"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">8</td><td class="ctr2" id="i0">8</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a1"><a href="RedisProperties.java.html" class="el_source">RedisProperties.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="51" height="10" title="9" alt="9"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">4</td><td class="ctr2" id="i1">4</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.redis/RedisConfig.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.redis/RedisConfig.html
    new file mode 100644
    index 00000000..9e1b4667
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.config.redis/RedisConfig.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>RedisConfig</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.config.redis</a> &gt; <span class="el_class">RedisConfig</span></div><h1>RedisConfig</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">60 of 60</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a2"><a href="RedisConfig.java.html#L33" class="el_method">redisTemplateForInteger(RedisConnectionFactory)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="31" alt="31"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">7</td><td class="ctr2" id="i0">7</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="RedisConfig.java.html#L55" class="el_method">redissonClient()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="69" height="10" title="18" alt="18"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">4</td><td class="ctr2" id="i1">4</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="RedisConfig.java.html#L28" class="el_method">redisConnectionFactory()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="42" height="10" title="11" alt="11"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.redis/RedisConfig.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.redis/RedisConfig.java.html
    new file mode 100644
    index 00000000..40a50369
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.config.redis/RedisConfig.java.html
    @@ -0,0 +1,62 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>RedisConfig.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.config.redis</a> &gt; <span class="el_source">RedisConfig.java</span></div><h1>RedisConfig.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.config.redis;
    +
    +import com.softeer.backend.global.config.properties.RedisProperties;
    +import lombok.RequiredArgsConstructor;
    +import org.redisson.Redisson;
    +import org.redisson.api.RedissonClient;
    +import org.redisson.config.Config;
    +import org.springframework.context.annotation.Bean;
    +import org.springframework.context.annotation.Configuration;
    +import org.springframework.data.redis.connection.RedisConnectionFactory;
    +import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory;
    +import org.springframework.data.redis.core.RedisTemplate;
    +import org.springframework.data.redis.serializer.GenericToStringSerializer;
    +import org.springframework.data.redis.serializer.StringRedisSerializer;
    +
    +/**
    + * Redis 환경설정 클래스
    + */
    +@Configuration
    +@RequiredArgsConstructor
    +public class RedisConfig {
    +    private static final String REDISSON_HOST_PREFIX = &quot;redis://&quot;;
    +
    +    private final RedisProperties redisProperties;
    +
    +    @Bean
    +    public RedisConnectionFactory redisConnectionFactory() {
    +<span class="nc" id="L28">        return new LettuceConnectionFactory(redisProperties.getHost(), redisProperties.getPort());</span>
    +    }
    +
    +    @Bean
    +    public RedisTemplate&lt;String, Integer&gt; redisTemplateForInteger(RedisConnectionFactory connectionFactory) {
    +<span class="nc" id="L33">        RedisTemplate&lt;String, Integer&gt; template = new RedisTemplate&lt;&gt;();</span>
    +<span class="nc" id="L34">        template.setConnectionFactory(connectionFactory);</span>
    +
    +<span class="nc" id="L36">        template.setKeySerializer(new StringRedisSerializer());</span>
    +
    +<span class="nc" id="L38">        template.setValueSerializer(new GenericToStringSerializer&lt;&gt;(Integer.class));</span>
    +
    +<span class="nc" id="L40">        template.setHashKeySerializer(new StringRedisSerializer());</span>
    +
    +<span class="nc" id="L42">        template.setHashValueSerializer(new GenericToStringSerializer&lt;&gt;(Integer.class));</span>
    +
    +<span class="nc" id="L44">        return template;</span>
    +    }
    +
    +    /**
    +     * Redisson 설정
    +     *
    +     * @return RedissonClient 객체
    +     */
    +    @Bean
    +    public RedissonClient redissonClient() {
    +
    +<span class="nc" id="L55">        Config config = new Config();</span>
    +<span class="nc" id="L56">        config.useSingleServer().setAddress(</span>
    +<span class="nc" id="L57">                REDISSON_HOST_PREFIX + redisProperties.getHost() + &quot;:&quot; + redisProperties.getPort());</span>
    +
    +<span class="nc" id="L59">        return Redisson.create(config);</span>
    +    }
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.redis/index.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.redis/index.html
    new file mode 100644
    index 00000000..6f9b9d7e
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.config.redis/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.config.redis</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.config.redis</span></div><h1>com.softeer.backend.global.config.redis</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">60 of 60</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="RedisConfig.html" class="el_class">RedisConfig</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="60" alt="60"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">12</td><td class="ctr2" id="i0">12</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k0">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.redis/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.redis/index.source.html
    new file mode 100644
    index 00000000..b75b2cbf
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.config.redis/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.config.redis</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.config.redis</span></div><h1>com.softeer.backend.global.config.redis</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">60 of 60</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="RedisConfig.java.html" class="el_source">RedisConfig.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="60" alt="60"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">12</td><td class="ctr2" id="i0">12</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k0">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.schedular/SchedulerConfig.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.schedular/SchedulerConfig.html
    new file mode 100644
    index 00000000..fe2a97d9
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.config.schedular/SchedulerConfig.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>SchedulerConfig</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.config.schedular</a> &gt; <span class="el_class">SchedulerConfig</span></div><h1>SchedulerConfig</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">15 of 15</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="SchedulerConfig.java.html#L11" class="el_method">taskScheduler()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="12" alt="12"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">4</td><td class="ctr2" id="i0">4</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="SchedulerConfig.java.html#L8" class="el_method">SchedulerConfig()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="30" height="10" title="3" alt="3"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.schedular/SchedulerConfig.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.schedular/SchedulerConfig.java.html
    new file mode 100644
    index 00000000..b6766acc
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.config.schedular/SchedulerConfig.java.html
    @@ -0,0 +1,17 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>SchedulerConfig.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.config.schedular</a> &gt; <span class="el_source">SchedulerConfig.java</span></div><h1>SchedulerConfig.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.config.schedular;
    +
    +import org.springframework.context.annotation.Bean;
    +import org.springframework.context.annotation.Configuration;
    +import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
    +
    +@Configuration
    +<span class="nc" id="L8">public class SchedulerConfig {</span>
    +    @Bean
    +    public ThreadPoolTaskScheduler taskScheduler() {
    +<span class="nc" id="L11">        ThreadPoolTaskScheduler taskScheduler = new ThreadPoolTaskScheduler();</span>
    +<span class="nc" id="L12">        taskScheduler.setPoolSize(2);</span>
    +<span class="nc" id="L13">        taskScheduler.setThreadNamePrefix(&quot;Scheduler-&quot;);</span>
    +<span class="nc" id="L14">        return taskScheduler;</span>
    +    }
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.schedular/index.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.schedular/index.html
    new file mode 100644
    index 00000000..8a985653
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.config.schedular/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.config.schedular</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.config.schedular</span></div><h1>com.softeer.backend.global.config.schedular</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">15 of 15</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="SchedulerConfig.html" class="el_class">SchedulerConfig</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="15" alt="15"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">5</td><td class="ctr2" id="i0">5</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.schedular/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.schedular/index.source.html
    new file mode 100644
    index 00000000..0646f84f
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.config.schedular/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.config.schedular</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.config.schedular</span></div><h1>com.softeer.backend.global.config.schedular</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">15 of 15</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="SchedulerConfig.java.html" class="el_source">SchedulerConfig.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="15" alt="15"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">5</td><td class="ctr2" id="i0">5</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.web/WebMvcConfig.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.web/WebMvcConfig.html
    new file mode 100644
    index 00000000..f9970646
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.config.web/WebMvcConfig.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>WebMvcConfig</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.config.web</a> &gt; <span class="el_class">WebMvcConfig</span></div><h1>WebMvcConfig</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">206 of 206</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">7</td><td class="ctr2">7</td><td class="ctr1">33</td><td class="ctr2">33</td><td class="ctr1">7</td><td class="ctr2">7</td></tr></tfoot><tbody><tr><td id="a1"><a href="WebMvcConfig.java.html#L66" class="el_method">addCorsMappings(CorsRegistry)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="77" alt="77"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">8</td><td class="ctr2" id="i0">8</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a4"><a href="WebMvcConfig.java.html#L93" class="el_method">jwtAuthenticationFilter()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="43" height="10" title="28" alt="28"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">5</td><td class="ctr2" id="i1">5</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="WebMvcConfig.java.html#L51" class="el_method">addInterceptors(InterceptorRegistry)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="38" height="10" title="25" alt="25"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">5</td><td class="ctr2" id="i2">5</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a3"><a href="WebMvcConfig.java.html#L81" class="el_method">exceptionHandleFilter()</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="37" height="10" title="24" alt="24"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">5</td><td class="ctr2" id="i3">5</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a6"><a href="WebMvcConfig.java.html#L114" class="el_method">shallowEtagHeaderFilter()</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="35" height="10" title="23" alt="23"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h5">3</td><td class="ctr2" id="i5">3</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a5"><a href="WebMvcConfig.java.html#L105" class="el_method">jwtAuthorizationFilter()</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="34" height="10" title="22" alt="22"/></td><td class="ctr2" id="c5">0%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">1</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h4">5</td><td class="ctr2" id="i4">5</td><td class="ctr1" id="j5">1</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a0"><a href="WebMvcConfig.java.html#L46" class="el_method">addArgumentResolvers(List)</a></td><td class="bar" id="b6"><img src="../jacoco-resources/redbar.gif" width="10" height="10" title="7" alt="7"/></td><td class="ctr2" id="c6">0%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">1</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h6">2</td><td class="ctr2" id="i6">2</td><td class="ctr1" id="j6">1</td><td class="ctr2" id="k6">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.web/WebMvcConfig.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.web/WebMvcConfig.java.html
    new file mode 100644
    index 00000000..567e78ff
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.config.web/WebMvcConfig.java.html
    @@ -0,0 +1,121 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>WebMvcConfig.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.config.web</a> &gt; <span class="el_source">WebMvcConfig.java</span></div><h1>WebMvcConfig.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.config.web;
    +
    +import com.fasterxml.jackson.databind.ObjectMapper;
    +import com.softeer.backend.fo_domain.draw.interceptor.DrawTimeCheckInterceptor;
    +import com.softeer.backend.fo_domain.fcfs.interceptor.FcfsTimeCheckInterceptor;
    +import com.softeer.backend.global.annotation.argumentresolver.AuthInfoArgumentResolver;
    +import com.softeer.backend.global.config.properties.JwtProperties;
    +import com.softeer.backend.global.filter.ExceptionHandlingFilter;
    +import com.softeer.backend.global.filter.JwtAuthenticationFilter;
    +import com.softeer.backend.global.filter.JwtAuthorizationFilter;
    +import com.softeer.backend.global.util.JwtUtil;
    +import com.softeer.backend.global.util.StringRedisUtil;
    +import lombok.RequiredArgsConstructor;
    +import org.springframework.boot.web.servlet.FilterRegistrationBean;
    +import org.springframework.context.annotation.Bean;
    +import org.springframework.context.annotation.Configuration;
    +import org.springframework.web.filter.ShallowEtagHeaderFilter;
    +import org.springframework.web.method.support.HandlerMethodArgumentResolver;
    +import org.springframework.web.servlet.config.annotation.CorsRegistry;
    +import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
    +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
    +
    +import java.util.List;
    +
    +/**
    + * WebMvc 설정 클래스
    + */
    +@Configuration
    +@RequiredArgsConstructor
    +public class WebMvcConfig implements WebMvcConfigurer {
    +
    +    private final ObjectMapper objectMapper;
    +    private final JwtUtil jwtUtil;
    +    private final StringRedisUtil stringRedisUtil;
    +    private final JwtProperties jwtProperties;
    +
    +    private final FcfsTimeCheckInterceptor fcfsTimeCheckInterceptor;
    +    private final DrawTimeCheckInterceptor drawTimeCheckInterceptor;
    +
    +    /**
    +     * AuthInfo 애노테이션에 대한 Argument Resolver 등록
    +     *
    +     * @param resolvers
    +     */
    +    public void addArgumentResolvers(List&lt;HandlerMethodArgumentResolver&gt; resolvers) {
    +<span class="nc" id="L46">        resolvers.add(new AuthInfoArgumentResolver());</span>
    +<span class="nc" id="L47">    }</span>
    +
    +    @Override
    +    public void addInterceptors(InterceptorRegistry registry) {
    +<span class="nc" id="L51">        registry.addInterceptor(fcfsTimeCheckInterceptor)</span>
    +<span class="nc" id="L52">                .addPathPatterns(&quot;/fcfs&quot;);</span>
    +
    +<span class="nc" id="L54">        registry.addInterceptor(drawTimeCheckInterceptor)</span>
    +<span class="nc" id="L55">                .addPathPatterns(&quot;/event/draw&quot;);</span>
    +<span class="nc" id="L56">    }</span>
    +
    +    /**
    +     * CORS 설정 메서드
    +     *
    +     * @param registry Cors 등록 객체
    +     */
    +    @Override
    +    public void addCorsMappings(CorsRegistry registry) {
    +
    +<span class="nc" id="L66">        registry.addMapping(&quot;/**&quot;)</span>
    +<span class="nc" id="L67">                .allowedOrigins(&quot;https://softeer.site&quot;, &quot;http://localhost:5173&quot;, &quot;https://softeer.shop&quot;,</span>
    +                        &quot;https://d3qmq1ffhp5il9.cloudfront.net&quot;) // 허용할 도메인 설정
    +<span class="nc" id="L69">                .allowedMethods(&quot;OPTIONS&quot;, &quot;GET&quot;, &quot;POST&quot;, &quot;PUT&quot;, &quot;DELETE&quot;) // 허용할 HTTP 메서드 설정</span>
    +<span class="nc" id="L70">                .allowedHeaders(&quot;Content-Type&quot;, &quot;Authorization&quot;, &quot;Authorization-Refresh&quot;) // 허용할 헤더 설정</span>
    +<span class="nc" id="L71">                .exposedHeaders(&quot;Authorization&quot;, &quot;Authorization-Refresh&quot;) // 클라이언트에 노출할 헤더 설정</span>
    +<span class="nc" id="L72">                .allowCredentials(true) // 자격 증명 허용</span>
    +<span class="nc" id="L73">                .maxAge(3600); // preflight 요청의 캐시 시간 설정 (초 단위)</span>
    +<span class="nc" id="L74">    }</span>
    +
    +    /**
    +     * ExceptionHandlingFilter를 필터에 등록
    +     */
    +    @Bean
    +    public FilterRegistrationBean&lt;ExceptionHandlingFilter&gt; exceptionHandleFilter() {
    +<span class="nc" id="L81">        FilterRegistrationBean&lt;ExceptionHandlingFilter&gt; registrationBean = new FilterRegistrationBean&lt;&gt;();</span>
    +<span class="nc" id="L82">        registrationBean.setFilter(new ExceptionHandlingFilter(objectMapper));</span>
    +<span class="nc" id="L83">        registrationBean.addUrlPatterns(&quot;/*&quot;);</span>
    +<span class="nc" id="L84">        registrationBean.setOrder(1);</span>
    +<span class="nc" id="L85">        return registrationBean;</span>
    +    }
    +
    +    /**
    +     * JwtAuthenticationFilter를 필터에 등록
    +     */
    +    @Bean
    +    public FilterRegistrationBean&lt;JwtAuthenticationFilter&gt; jwtAuthenticationFilter() {
    +<span class="nc" id="L93">        FilterRegistrationBean&lt;JwtAuthenticationFilter&gt; registrationBean = new FilterRegistrationBean&lt;&gt;();</span>
    +<span class="nc" id="L94">        registrationBean.setFilter(new JwtAuthenticationFilter(jwtUtil, stringRedisUtil, jwtProperties));</span>
    +<span class="nc" id="L95">        registrationBean.addUrlPatterns(&quot;/*&quot;);</span>
    +<span class="nc" id="L96">        registrationBean.setOrder(2);</span>
    +<span class="nc" id="L97">        return registrationBean;</span>
    +    }
    +
    +    /**
    +     * JwtAuthorizationFilter를 필터에 등록
    +     */
    +    @Bean
    +    public FilterRegistrationBean&lt;JwtAuthorizationFilter&gt; jwtAuthorizationFilter() {
    +<span class="nc" id="L105">        FilterRegistrationBean&lt;JwtAuthorizationFilter&gt; registrationBean = new FilterRegistrationBean&lt;&gt;();</span>
    +<span class="nc" id="L106">        registrationBean.setFilter(new JwtAuthorizationFilter());</span>
    +<span class="nc" id="L107">        registrationBean.addUrlPatterns(&quot;/admin/*&quot;);</span>
    +<span class="nc" id="L108">        registrationBean.setOrder(3);</span>
    +<span class="nc" id="L109">        return registrationBean;</span>
    +    }
    +
    +    @Bean
    +    public FilterRegistrationBean&lt;ShallowEtagHeaderFilter&gt; shallowEtagHeaderFilter() {
    +<span class="nc" id="L114">        FilterRegistrationBean&lt;ShallowEtagHeaderFilter&gt; filterRegistrationBean</span>
    +                = new FilterRegistrationBean&lt;&gt;(new ShallowEtagHeaderFilter());
    +<span class="nc" id="L116">        filterRegistrationBean.addUrlPatterns(&quot;/main/event/static&quot;, &quot;/main/car&quot;);</span>
    +<span class="nc" id="L117">        return filterRegistrationBean;</span>
    +    }
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.web/index.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.web/index.html
    new file mode 100644
    index 00000000..7eaf93fa
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.config.web/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.config.web</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.config.web</span></div><h1>com.softeer.backend.global.config.web</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">206 of 206</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">7</td><td class="ctr2">7</td><td class="ctr1">33</td><td class="ctr2">33</td><td class="ctr1">7</td><td class="ctr2">7</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="WebMvcConfig.html" class="el_class">WebMvcConfig</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="206" alt="206"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">7</td><td class="ctr2" id="g0">7</td><td class="ctr1" id="h0">33</td><td class="ctr2" id="i0">33</td><td class="ctr1" id="j0">7</td><td class="ctr2" id="k0">7</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.web/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.web/index.source.html
    new file mode 100644
    index 00000000..02877261
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.config.web/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.config.web</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.config.web</span></div><h1>com.softeer.backend.global.config.web</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">206 of 206</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">7</td><td class="ctr2">7</td><td class="ctr1">33</td><td class="ctr2">33</td><td class="ctr1">7</td><td class="ctr2">7</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="WebMvcConfig.java.html" class="el_source">WebMvcConfig.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="206" alt="206"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">7</td><td class="ctr2" id="g0">7</td><td class="ctr1" id="h0">33</td><td class="ctr2" id="i0">33</td><td class="ctr1" id="j0">7</td><td class="ctr2" id="k0">7</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.filter/ExceptionHandlingFilter.html b/jacoco/jacocoHtml/com.softeer.backend.global.filter/ExceptionHandlingFilter.html
    new file mode 100644
    index 00000000..2f14de37
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.filter/ExceptionHandlingFilter.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ExceptionHandlingFilter</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.filter</a> &gt; <span class="el_class">ExceptionHandlingFilter</span></div><h1>ExceptionHandlingFilter</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">59 of 59</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">20</td><td class="ctr2">20</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a1"><a href="ExceptionHandlingFilter.java.html#L53" class="el_method">setErrorResponse(HttpServletResponse, BaseErrorCode)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="29" alt="29"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">10</td><td class="ctr2" id="i0">10</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="ExceptionHandlingFilter.java.html#L30" class="el_method">doFilterInternal(HttpServletRequest, HttpServletResponse, FilterChain)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="107" height="10" title="26" alt="26"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">9</td><td class="ctr2" id="i1">9</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="ExceptionHandlingFilter.java.html#L21" class="el_method">static {...}</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="16" height="10" title="4" alt="4"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.filter/ExceptionHandlingFilter.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.filter/ExceptionHandlingFilter.java.html
    new file mode 100644
    index 00000000..92151b3c
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.filter/ExceptionHandlingFilter.java.html
    @@ -0,0 +1,68 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ExceptionHandlingFilter.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.filter</a> &gt; <span class="el_source">ExceptionHandlingFilter.java</span></div><h1>ExceptionHandlingFilter.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.filter;
    +
    +import com.fasterxml.jackson.databind.ObjectMapper;
    +import com.softeer.backend.global.common.code.BaseErrorCode;
    +import com.softeer.backend.global.common.code.status.ErrorStatus;
    +import com.softeer.backend.global.common.exception.JwtAuthenticationException;
    +import com.softeer.backend.global.common.response.ResponseDto;
    +import jakarta.servlet.FilterChain;
    +import jakarta.servlet.http.HttpServletRequest;
    +import jakarta.servlet.http.HttpServletResponse;
    +import lombok.RequiredArgsConstructor;
    +import lombok.extern.slf4j.Slf4j;
    +import org.springframework.web.filter.OncePerRequestFilter;
    +
    +import java.io.IOException;
    +import java.io.OutputStream;
    +
    +/**
    + * Jwt 예외를 처리하는 필터 클래스
    + */
    +<span class="nc" id="L21">@Slf4j</span>
    +@RequiredArgsConstructor
    +public class ExceptionHandlingFilter extends OncePerRequestFilter {
    +
    +    private final ObjectMapper objectMapper;
    +
    +    @Override
    +    protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) {
    +        try {
    +<span class="nc" id="L30">            filterChain.doFilter(request, response);</span>
    +            // Jwt 인증 예외 처리
    +<span class="nc" id="L32">        } catch (JwtAuthenticationException jwtAuthenticationException) {</span>
    +
    +<span class="nc" id="L34">            log.error(&quot;JwtAuthenticationException occurs in ExceptionHandlingFilter&quot;,</span>
    +                    jwtAuthenticationException);
    +
    +<span class="nc" id="L37">            setErrorResponse(response, jwtAuthenticationException.getCode());</span>
    +
    +            // 나머지 예외 처리
    +<span class="nc" id="L40">        } catch (Exception e) {</span>
    +
    +<span class="nc" id="L42">            log.error(&quot;Exception occurs in ExceptionHandlingFilter&quot;, e);</span>
    +
    +<span class="nc" id="L44">            setErrorResponse(response, ErrorStatus._INTERNAL_SERVER_ERROR);</span>
    +<span class="nc" id="L45">        }</span>
    +<span class="nc" id="L46">    }</span>
    +
    +    // 인증 예외 처리 메서드
    +    private void setErrorResponse(HttpServletResponse response,
    +                                  BaseErrorCode errorCode) {
    +
    +
    +<span class="nc" id="L53">        response.setStatus(errorCode.getHttpStatus().value());</span>
    +<span class="nc" id="L54">        response.setContentType(&quot;application/json&quot;);</span>
    +<span class="nc" id="L55">        response.setCharacterEncoding(&quot;UTF-8&quot;);</span>
    +
    +<span class="nc" id="L57">        try (OutputStream os = response.getOutputStream()) {</span>
    +
    +<span class="nc" id="L59">            objectMapper.writeValue(os, ResponseDto.onFailure(errorCode));</span>
    +<span class="nc" id="L60">            os.flush();</span>
    +
    +<span class="nc" id="L62">        } catch (IOException e) {</span>
    +
    +<span class="nc" id="L64">            log.error(&quot;IOException occurs in ExceptionHandlingFilter&quot;, e);</span>
    +<span class="nc" id="L65">        }</span>
    +<span class="nc" id="L66">    }</span>
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.filter/JwtAuthenticationFilter.html b/jacoco/jacocoHtml/com.softeer.backend.global.filter/JwtAuthenticationFilter.html
    new file mode 100644
    index 00000000..7e534881
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.filter/JwtAuthenticationFilter.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>JwtAuthenticationFilter</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.filter</a> &gt; <span class="el_class">JwtAuthenticationFilter</span></div><h1>JwtAuthenticationFilter</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">298 of 298</td><td class="ctr2">0%</td><td class="bar">18 of 18</td><td class="ctr2">0%</td><td class="ctr1">25</td><td class="ctr2">25</td><td class="ctr1">74</td><td class="ctr2">74</td><td class="ctr1">16</td><td class="ctr2">16</td></tr></tfoot><tbody><tr><td id="a2"><a href="JwtAuthenticationFilter.java.html#L59" class="el_method">doFilterInternal(HttpServletRequest, HttpServletResponse, FilterChain)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="67" alt="67"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="10" alt="10"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">6</td><td class="ctr2" id="g0">6</td><td class="ctr1" id="h0">16</td><td class="ctr2" id="i0">16</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a3"><a href="JwtAuthenticationFilter.java.html#L145" class="el_method">isRefreshTokenMatch(String)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="57" height="10" title="32" alt="32"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="48" height="10" title="4" alt="4"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f1">3</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h3">6</td><td class="ctr2" id="i3">6</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a10"><a href="JwtAuthenticationFilter.java.html#L189" class="el_method">makeResultResponse(HttpServletResponse, JwtTokenResponseDto)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="55" height="10" title="31" alt="31"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h1">9</td><td class="ctr2" id="i1">9</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a12"><a href="JwtAuthenticationFilter.java.html#L162" class="el_method">reIssueRefreshToken(JwtClaimsDto)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="46" height="10" title="26" alt="26"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">1</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h6">4</td><td class="ctr2" id="i6">4</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a11"><a href="JwtAuthenticationFilter.java.html#L112" class="el_method">reissueAccessTokenAndRefreshToken(HttpServletResponse, String, String)</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="44" height="10" title="25" alt="25"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">1</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h4">5</td><td class="ctr2" id="i4">5</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a9"><a href="JwtAuthenticationFilter.java.html#L177" class="el_method">makeAndSendAccessTokenAndRefreshToken(HttpServletResponse, String, String)</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="41" height="10" title="23" alt="23"/></td><td class="ctr2" id="c5">0%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">1</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h2">8</td><td class="ctr2" id="i2">8</td><td class="ctr1" id="j5">1</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a0"><a href="JwtAuthenticationFilter.java.html#L203" class="el_method">checkAccessToken(HttpServletRequest)</a></td><td class="bar" id="b6"><img src="../jacoco-resources/redbar.gif" width="32" height="10" title="18" alt="18"/></td><td class="ctr2" id="c6">0%</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f8">1</td><td class="ctr2" id="g8">1</td><td class="ctr1" id="h5">5</td><td class="ctr2" id="i5">5</td><td class="ctr1" id="j6">1</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a14"><a href="JwtAuthenticationFilter.java.html#L131" class="el_method">validateAccessToken(String)</a></td><td class="bar" id="b7"><img src="../jacoco-resources/redbar.gif" width="25" height="10" title="14" alt="14"/></td><td class="ctr2" id="c7">0%</td><td class="bar" id="d2"><img src="../jacoco-resources/redbar.gif" width="24" height="10" title="2" alt="2"/></td><td class="ctr2" id="e2">0%</td><td class="ctr1" id="f2">2</td><td class="ctr2" id="g2">2</td><td class="ctr1" id="h7">4</td><td class="ctr2" id="i7">4</td><td class="ctr1" id="j7">1</td><td class="ctr2" id="k7">1</td></tr><tr><td id="a15"><a href="JwtAuthenticationFilter.java.html#L138" class="el_method">validateRefreshToken(String)</a></td><td class="bar" id="b8"><img src="../jacoco-resources/redbar.gif" width="25" height="10" title="14" alt="14"/></td><td class="ctr2" id="c8">0%</td><td class="bar" id="d3"><img src="../jacoco-resources/redbar.gif" width="24" height="10" title="2" alt="2"/></td><td class="ctr2" id="e3">0%</td><td class="ctr1" id="f3">2</td><td class="ctr2" id="g3">2</td><td class="ctr1" id="h8">4</td><td class="ctr2" id="i8">4</td><td class="ctr1" id="j8">1</td><td class="ctr2" id="k8">1</td></tr><tr><td id="a1"><a href="JwtAuthenticationFilter.java.html#L125" class="el_method">checkAllConditions(String, String)</a></td><td class="bar" id="b9"><img src="../jacoco-resources/redbar.gif" width="17" height="10" title="10" alt="10"/></td><td class="ctr2" id="c9">0%</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f9">1</td><td class="ctr2" id="g9">1</td><td class="ctr1" id="h9">4</td><td class="ctr2" id="i9">4</td><td class="ctr1" id="j9">1</td><td class="ctr2" id="k9">1</td></tr><tr><td id="a6"><a href="JwtAuthenticationFilter.java.html#L205" class="el_method">lambda$checkAccessToken$2()</a></td><td class="bar" id="b10"><img src="../jacoco-resources/redbar.gif" width="14" height="10" title="8" alt="8"/></td><td class="ctr2" id="c10">0%</td><td class="bar" id="d10"/><td class="ctr2" id="e10">n/a</td><td class="ctr1" id="f10">1</td><td class="ctr2" id="g10">1</td><td class="ctr1" id="h10">2</td><td class="ctr2" id="i10">2</td><td class="ctr1" id="j10">1</td><td class="ctr2" id="k10">1</td></tr><tr><td id="a8"><a href="JwtAuthenticationFilter.java.html#L80" class="el_method">lambda$doFilterInternal$1()</a></td><td class="bar" id="b11"><img src="../jacoco-resources/redbar.gif" width="14" height="10" title="8" alt="8"/></td><td class="ctr2" id="c11">0%</td><td class="bar" id="d11"/><td class="ctr2" id="e11">n/a</td><td class="ctr1" id="f11">1</td><td class="ctr2" id="g11">1</td><td class="ctr1" id="h11">2</td><td class="ctr2" id="i11">2</td><td class="ctr1" id="j11">1</td><td class="ctr2" id="k11">1</td></tr><tr><td id="a7"><a href="JwtAuthenticationFilter.java.html#L76" class="el_method">lambda$doFilterInternal$0()</a></td><td class="bar" id="b12"><img src="../jacoco-resources/redbar.gif" width="14" height="10" title="8" alt="8"/></td><td class="ctr2" id="c12">0%</td><td class="bar" id="d12"/><td class="ctr2" id="e12">n/a</td><td class="ctr1" id="f12">1</td><td class="ctr2" id="g12">1</td><td class="ctr1" id="h12">2</td><td class="ctr2" id="i12">2</td><td class="ctr1" id="j12">1</td><td class="ctr2" id="k12">1</td></tr><tr><td id="a5"><a href="JwtAuthenticationFilter.java.html#L98" class="el_method">isUriInWhiteList(String)</a></td><td class="bar" id="b13"><img src="../jacoco-resources/redbar.gif" width="8" height="10" title="5" alt="5"/></td><td class="ctr2" id="c13">0%</td><td class="bar" id="d13"/><td class="ctr2" id="e13">n/a</td><td class="ctr1" id="f13">1</td><td class="ctr2" id="g13">1</td><td class="ctr1" id="h13">1</td><td class="ctr2" id="i13">1</td><td class="ctr1" id="j13">1</td><td class="ctr2" id="k13">1</td></tr><tr><td id="a4"><a href="JwtAuthenticationFilter.java.html#L102" class="el_method">isUriInOptionalAuthList(String)</a></td><td class="bar" id="b14"><img src="../jacoco-resources/redbar.gif" width="8" height="10" title="5" alt="5"/></td><td class="ctr2" id="c14">0%</td><td class="bar" id="d14"/><td class="ctr2" id="e14">n/a</td><td class="ctr1" id="f14">1</td><td class="ctr2" id="g14">1</td><td class="ctr1" id="h14">1</td><td class="ctr2" id="i14">1</td><td class="ctr1" id="j14">1</td><td class="ctr2" id="k14">1</td></tr><tr><td id="a13"><a href="JwtAuthenticationFilter.java.html#L31" class="el_method">static {...}</a></td><td class="bar" id="b15"><img src="../jacoco-resources/redbar.gif" width="7" height="10" title="4" alt="4"/></td><td class="ctr2" id="c15">0%</td><td class="bar" id="d15"/><td class="ctr2" id="e15">n/a</td><td class="ctr1" id="f15">1</td><td class="ctr2" id="g15">1</td><td class="ctr1" id="h15">1</td><td class="ctr2" id="i15">1</td><td class="ctr1" id="j15">1</td><td class="ctr2" id="k15">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.filter/JwtAuthenticationFilter.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.filter/JwtAuthenticationFilter.java.html
    new file mode 100644
    index 00000000..362fae6a
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.filter/JwtAuthenticationFilter.java.html
    @@ -0,0 +1,215 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>JwtAuthenticationFilter.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.filter</a> &gt; <span class="el_source">JwtAuthenticationFilter.java</span></div><h1>JwtAuthenticationFilter.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.filter;
    +
    +import com.fasterxml.jackson.databind.ObjectMapper;
    +import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
    +import com.softeer.backend.global.common.code.status.ErrorStatus;
    +import com.softeer.backend.global.common.dto.JwtClaimsDto;
    +import com.softeer.backend.global.common.exception.JwtAuthenticationException;
    +import com.softeer.backend.global.common.response.ResponseDto;
    +import com.softeer.backend.global.config.properties.JwtProperties;
    +import com.softeer.backend.global.util.JwtUtil;
    +import com.softeer.backend.global.util.StringRedisUtil;
    +import com.softeer.backend.global.common.dto.JwtTokenResponseDto;
    +import jakarta.servlet.FilterChain;
    +import jakarta.servlet.ServletException;
    +import jakarta.servlet.http.HttpServletRequest;
    +import jakarta.servlet.http.HttpServletResponse;
    +import lombok.RequiredArgsConstructor;
    +import lombok.extern.slf4j.Slf4j;
    +import org.springframework.http.HttpStatus;
    +import org.springframework.util.PatternMatchUtils;
    +import org.springframework.web.cors.CorsUtils;
    +import org.springframework.web.filter.OncePerRequestFilter;
    +
    +import java.io.IOException;
    +import java.io.OutputStream;
    +import java.time.LocalDateTime;
    +
    +/**
    + * Jwt 인증을 처리하는 필터 클래스
    + */
    +<span class="nc" id="L31">@Slf4j</span>
    +@RequiredArgsConstructor
    +public class JwtAuthenticationFilter extends OncePerRequestFilter {
    +
    +    // 인증검사를 하지 않는 url 설정
    +    private final String[] whiteListUrls = {
    +            &quot;/swagger-ui/**&quot;, &quot;/swagger&quot;, &quot;/v3/**&quot;, &quot;/error/**&quot;,
    +            &quot;/verification/send&quot;, &quot;/verification/confirm&quot;, &quot;/verification/send/test&quot;,
    +            &quot;/login&quot;,
    +            &quot;/main/event/static&quot;, &quot;/main/event/info&quot;, &quot;/main/car&quot;,
    +            &quot;/admin/login&quot;, &quot;/admin/signup&quot;,
    +            &quot;/share/**&quot;
    +    };
    +
    +    // Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정
    +    private final String[] optionalAuthUrls = {
    +            &quot;/comment&quot;,
    +            &quot;/share-shorten-url&quot;
    +    };
    +
    +    private final JwtUtil jwtUtil;
    +    private final StringRedisUtil stringRedisUtil;
    +    private final JwtProperties jwtProperties;
    +
    +    @Override
    +    protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException {
    +
    +        // preflight 요청 또는 whitelist에 있는 요청은 인증 검사 x
    +<span class="nc bnc" id="L59" title="All 4 branches missed.">        if (CorsUtils.isPreFlightRequest(request) || isUriInWhiteList(request.getRequestURI())) {</span>
    +<span class="nc" id="L60">            filterChain.doFilter(request, response);</span>
    +<span class="nc" id="L61">            return;</span>
    +        }
    +
    +        // optionalAuthUrls에 등록된 url 중, access token이 header에 없으면 인증 x
    +<span class="nc bnc" id="L65" title="All 2 branches missed.">        if (isUriInOptionalAuthList(request.getRequestURI()) &amp;&amp;</span>
    +<span class="nc bnc" id="L66" title="All 2 branches missed.">                jwtUtil.extractAccessToken(request).isEmpty()) {</span>
    +
    +<span class="nc" id="L68">            filterChain.doFilter(request, response);</span>
    +<span class="nc" id="L69">            return;</span>
    +        }
    +
    +
    +        // Case 01) Access Token 재발급인 경우(Authorization Header Access Token 유효성 x)
    +<span class="nc bnc" id="L74" title="All 2 branches missed.">        if (request.getRequestURI().contains(&quot;/reissue&quot;)) {</span>
    +<span class="nc" id="L75">            String accessToken = jwtUtil.extractAccessToken(request).orElseThrow(() -&gt; {</span>
    +<span class="nc" id="L76">                log.error(&quot;Access Token is missing in the Authorization header during the '/reissue' process.&quot;);</span>
    +<span class="nc" id="L77">                return new JwtAuthenticationException(ErrorStatus._REISSUE_ERROR);</span>
    +            });
    +<span class="nc" id="L79">            String refreshToken = jwtUtil.extractRefreshToken(request).orElseThrow(() -&gt; {</span>
    +<span class="nc" id="L80">                log.error(&quot;Refresh Token is missing in the Authorization header during the '/reissue' process.&quot;);</span>
    +<span class="nc" id="L81">                return new JwtAuthenticationException(ErrorStatus._REISSUE_ERROR);</span>
    +            });
    +
    +<span class="nc" id="L84">            this.reissueAccessTokenAndRefreshToken(response, accessToken, refreshToken);</span>
    +<span class="nc" id="L85">        }</span>
    +        // Case 02) 일반 API 요청인 경우
    +        else {
    +<span class="nc" id="L88">            checkAccessToken(request);</span>
    +<span class="nc" id="L89">            log.info(&quot;jwtAuthentication filter is finished&quot;);</span>
    +
    +            // Authentication Exception 없이 정상 인증처리 된 경우
    +            // 기존 필터 체인 호출
    +<span class="nc" id="L93">            filterChain.doFilter(request, response);</span>
    +        }
    +<span class="nc" id="L95">    }</span>
    +
    +    private boolean isUriInWhiteList(String url) {
    +<span class="nc" id="L98">        return PatternMatchUtils.simpleMatch(whiteListUrls, url);</span>
    +    }
    +
    +    private boolean isUriInOptionalAuthList(String url) {
    +<span class="nc" id="L102">        return PatternMatchUtils.simpleMatch(optionalAuthUrls, url);</span>
    +    }
    +
    +    private void reissueAccessTokenAndRefreshToken(HttpServletResponse response,
    +                                                   String accessToken, String refreshToken) throws IOException {
    +        /**
    +         * 1. refresh token 유효성 검증
    +         * 2. access token 유효성 검증(유효하지 않아야 함)
    +         * 3. redis refresh 와 일치 여부 확인
    +         */
    +<span class="nc" id="L112">        checkAllConditions(accessToken, refreshToken);</span>
    +<span class="nc" id="L113">        String newAccessToken = jwtUtil.createAccessToken(jwtUtil.getJwtClaimsFromRefreshToken(refreshToken));</span>
    +<span class="nc" id="L114">        String newRefreshToken = reIssueRefreshToken(jwtUtil.getJwtClaimsFromRefreshToken(refreshToken));</span>
    +<span class="nc" id="L115">        makeAndSendAccessTokenAndRefreshToken(response, newAccessToken, newRefreshToken);</span>
    +<span class="nc" id="L116">    }</span>
    +
    +    // Access Token + Refresh Token 재발급 메소드
    +    private void checkAllConditions(String accessToken, String refreshToken) {
    +        /**
    +         * 1. access Token 유효하지 않은지 확인
    +         * 2. refresh Token 유효한지 확인
    +         * 3. refresh Token 일치하는지 확인
    +         **/
    +<span class="nc" id="L125">        validateAccessToken(accessToken);</span>
    +<span class="nc" id="L126">        validateRefreshToken(refreshToken);</span>
    +<span class="nc" id="L127">        isRefreshTokenMatch(refreshToken);</span>
    +<span class="nc" id="L128">    }</span>
    +
    +    private void validateAccessToken(String accessToken) {
    +<span class="nc bnc" id="L131" title="All 2 branches missed.">        if (jwtUtil.validateToken(accessToken)) {</span>
    +<span class="nc" id="L132">            log.error(&quot;JWT Access Token is valid during the '/reissue' process.&quot;);</span>
    +<span class="nc" id="L133">            throw new JwtAuthenticationException(ErrorStatus._REISSUE_ERROR);</span>
    +        }
    +<span class="nc" id="L135">    }</span>
    +
    +    private void validateRefreshToken(String refreshToken) {
    +<span class="nc bnc" id="L138" title="All 2 branches missed.">        if (!this.jwtUtil.validateToken(refreshToken)) {</span>
    +<span class="nc" id="L139">            log.error(&quot;JWT Refresh Token is invalid during the '/reissue' process.&quot;);</span>
    +<span class="nc" id="L140">            throw new JwtAuthenticationException(ErrorStatus._REISSUE_ERROR);</span>
    +        }
    +<span class="nc" id="L142">    }</span>
    +
    +    private void isRefreshTokenMatch(String refreshToken) {
    +<span class="nc" id="L145">        JwtClaimsDto jwtClaimsDto = jwtUtil.getJwtClaimsFromRefreshToken(refreshToken);</span>
    +
    +<span class="nc bnc" id="L147" title="All 2 branches missed.">        if (stringRedisUtil.getData(stringRedisUtil.getRedisKeyForJwt(jwtClaimsDto)) == null ||</span>
    +<span class="nc bnc" id="L148" title="All 2 branches missed.">                !refreshToken.equals(stringRedisUtil.getData(stringRedisUtil.getRedisKeyForJwt(jwtClaimsDto)))) {</span>
    +
    +<span class="nc" id="L150">            log.error(&quot;WT Refresh Token is either missing in Redis or does not match the token in Redis.&quot;);</span>
    +<span class="nc" id="L151">            throw new JwtAuthenticationException(ErrorStatus._REISSUE_ERROR);</span>
    +        }
    +<span class="nc" id="L153">    }</span>
    +
    +    /**
    +     * refresh token 재발급 하는 메소드
    +     * 1. 새로운 Refresh Token 발급
    +     * 2. 해당 Key 에 해당하는 Redis Value 업데이트
    +     **/
    +    private String reIssueRefreshToken(JwtClaimsDto jwtClaimsDto) {
    +        // 기존 refresh token 삭제
    +<span class="nc" id="L162">        stringRedisUtil.deleteData(stringRedisUtil.getRedisKeyForJwt(jwtClaimsDto));</span>
    +<span class="nc" id="L163">        String reIssuedRefreshToken = jwtUtil.createRefreshToken(jwtClaimsDto);</span>
    +        // refresh token 저장
    +<span class="nc" id="L165">        stringRedisUtil.setDataExpire(stringRedisUtil.getRedisKeyForJwt(jwtClaimsDto), reIssuedRefreshToken, jwtProperties.getRefreshExpiration());</span>
    +<span class="nc" id="L166">        return reIssuedRefreshToken;</span>
    +    }
    +
    +    /**
    +     * 재발급한 refresh &amp; access token 응답으로 보내는 메소드
    +     * 1. 상태 코드 설정
    +     * 2. 응답 헤더에 설정 (jwtProperties 에서 정보 가져옴)
    +     **/
    +    private void makeAndSendAccessTokenAndRefreshToken(HttpServletResponse response,
    +                                                       String accessToken,
    +                                                       String refreshToken) throws IOException {
    +<span class="nc" id="L177">        LocalDateTime expireTime = LocalDateTime.now().plusSeconds(this.jwtProperties.getAccessExpiration() / 1000);</span>
    +        // refresh token, access token 을 응답 본문에 넣어 응답
    +<span class="nc" id="L179">        JwtTokenResponseDto jwtTokenResponseDto = JwtTokenResponseDto.builder()</span>
    +<span class="nc" id="L180">                .accessToken(accessToken)</span>
    +<span class="nc" id="L181">                .refreshToken(refreshToken)</span>
    +<span class="nc" id="L182">                .expiredTime(expireTime)</span>
    +<span class="nc" id="L183">                .build();</span>
    +<span class="nc" id="L184">        makeResultResponse(response, jwtTokenResponseDto);</span>
    +<span class="nc" id="L185">    }</span>
    +
    +    private void makeResultResponse(HttpServletResponse response,
    +                                    JwtTokenResponseDto jwtTokenResponseDto) throws IOException {
    +<span class="nc" id="L189">        response.setStatus(HttpStatus.OK.value());</span>
    +<span class="nc" id="L190">        response.setContentType(&quot;application/json&quot;);</span>
    +<span class="nc" id="L191">        response.setCharacterEncoding(&quot;UTF-8&quot;);</span>
    +
    +<span class="nc" id="L193">        try (OutputStream os = response.getOutputStream()) {</span>
    +<span class="nc" id="L194">            ObjectMapper objectMapper = new ObjectMapper().registerModule(new JavaTimeModule());</span>
    +<span class="nc" id="L195">            ResponseDto&lt;JwtTokenResponseDto&gt; responseDto = ResponseDto.onSuccess(jwtTokenResponseDto);</span>
    +<span class="nc" id="L196">            objectMapper.writeValue(os, responseDto);</span>
    +<span class="nc" id="L197">            os.flush();</span>
    +        }
    +<span class="nc" id="L199">    }</span>
    +
    +    private void checkAccessToken(HttpServletRequest request) {
    +
    +<span class="nc" id="L203">        String accessToken = jwtUtil.extractAccessToken(request)</span>
    +<span class="nc" id="L204">                .orElseThrow(() -&gt; {</span>
    +<span class="nc" id="L205">                    log.error(&quot;Access Token is missing in the Authorization header.&quot;);</span>
    +<span class="nc" id="L206">                    return new JwtAuthenticationException(ErrorStatus._UNAUTHORIZED);</span>
    +                });
    +
    +<span class="nc" id="L209">        JwtClaimsDto jwtClaimsDto = jwtUtil.getJwtClaimsFromAccessToken(accessToken);</span>
    +
    +<span class="nc" id="L211">        request.setAttribute(&quot;jwtClaims&quot;, jwtClaimsDto);</span>
    +<span class="nc" id="L212">    }</span>
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.filter/JwtAuthorizationFilter.html b/jacoco/jacocoHtml/com.softeer.backend.global.filter/JwtAuthorizationFilter.html
    new file mode 100644
    index 00000000..13458218
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.filter/JwtAuthorizationFilter.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>JwtAuthorizationFilter</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.filter</a> &gt; <span class="el_class">JwtAuthorizationFilter</span></div><h1>JwtAuthorizationFilter</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">46 of 46</td><td class="ctr2">0%</td><td class="bar">8 of 8</td><td class="ctr2">0%</td><td class="ctr1">7</td><td class="ctr2">7</td><td class="ctr1">11</td><td class="ctr2">11</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a0"><a href="JwtAuthorizationFilter.java.html#L34" class="el_method">doFilterInternal(HttpServletRequest, HttpServletResponse, FilterChain)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="37" alt="37"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="8" alt="8"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">5</td><td class="ctr2" id="g0">5</td><td class="ctr1" id="h0">9</td><td class="ctr2" id="i0">9</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="JwtAuthorizationFilter.java.html#L52" class="el_method">isUriInWhiteList(String)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="16" height="10" title="5" alt="5"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="JwtAuthorizationFilter.java.html#L22" class="el_method">static {...}</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="12" height="10" title="4" alt="4"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.filter/JwtAuthorizationFilter.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.filter/JwtAuthorizationFilter.java.html
    new file mode 100644
    index 00000000..44c3045f
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.filter/JwtAuthorizationFilter.java.html
    @@ -0,0 +1,56 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>JwtAuthorizationFilter.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.filter</a> &gt; <span class="el_source">JwtAuthorizationFilter.java</span></div><h1>JwtAuthorizationFilter.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.filter;
    +
    +import com.softeer.backend.global.common.code.status.ErrorStatus;
    +import com.softeer.backend.global.common.constant.RoleType;
    +import com.softeer.backend.global.common.dto.JwtClaimsDto;
    +import com.softeer.backend.global.common.exception.JwtAuthorizationException;
    +import jakarta.servlet.FilterChain;
    +import jakarta.servlet.ServletException;
    +import jakarta.servlet.http.HttpServletRequest;
    +import jakarta.servlet.http.HttpServletResponse;
    +import lombok.NoArgsConstructor;
    +import lombok.extern.slf4j.Slf4j;
    +import org.springframework.util.PatternMatchUtils;
    +import org.springframework.web.cors.CorsUtils;
    +import org.springframework.web.filter.OncePerRequestFilter;
    +
    +import java.io.IOException;
    +
    +/**
    + * 유저의 권한을 검증하는 필터 클래스
    + */
    +<span class="nc" id="L22">@Slf4j</span>
    +@NoArgsConstructor
    +public class JwtAuthorizationFilter extends OncePerRequestFilter {
    +
    +    // 인가검사를 하지 않는 url 설정
    +    private final String[] whiteListUrls = {
    +            &quot;/admin/login&quot;, &quot;/admin/signup&quot;
    +    };
    +
    +    @Override
    +    protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException {
    +
    +<span class="nc bnc" id="L34" title="All 4 branches missed.">        if(CorsUtils.isPreFlightRequest(request) || isUriInWhiteList(request.getRequestURI())){</span>
    +<span class="nc" id="L35">            filterChain.doFilter(request, response);</span>
    +<span class="nc" id="L36">            return;</span>
    +        }
    +
    +
    +<span class="nc" id="L40">        JwtClaimsDto jwtClaimsDto = (JwtClaimsDto) request.getAttribute(&quot;jwtClaims&quot;);</span>
    +
    +<span class="nc bnc" id="L42" title="All 4 branches missed.">        if (jwtClaimsDto == null || jwtClaimsDto.getRoleType() != RoleType.ROLE_ADMIN) {</span>
    +
    +<span class="nc" id="L44">            log.error(&quot;JwtAuthorizationException has occurred&quot;);</span>
    +<span class="nc" id="L45">            throw new JwtAuthorizationException(ErrorStatus._FORBIDDEN);</span>
    +        }
    +
    +<span class="nc" id="L48">        filterChain.doFilter(request, response);</span>
    +<span class="nc" id="L49">    }</span>
    +
    +    private boolean isUriInWhiteList(String url) {
    +<span class="nc" id="L52">        return PatternMatchUtils.simpleMatch(whiteListUrls, url);</span>
    +    }
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.filter/index.html b/jacoco/jacocoHtml/com.softeer.backend.global.filter/index.html
    new file mode 100644
    index 00000000..cc7ab49a
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.filter/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.filter</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.filter</span></div><h1>com.softeer.backend.global.filter</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">403 of 403</td><td class="ctr2">0%</td><td class="bar">26 of 26</td><td class="ctr2">0%</td><td class="ctr1">35</td><td class="ctr2">35</td><td class="ctr1">105</td><td class="ctr2">105</td><td class="ctr1">22</td><td class="ctr2">22</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a1"><a href="JwtAuthenticationFilter.html" class="el_class">JwtAuthenticationFilter</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="298" alt="298"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="18" alt="18"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">25</td><td class="ctr2" id="g0">25</td><td class="ctr1" id="h0">74</td><td class="ctr2" id="i0">74</td><td class="ctr1" id="j0">16</td><td class="ctr2" id="k0">16</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="ExceptionHandlingFilter.html" class="el_class">ExceptionHandlingFilter</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="23" height="10" title="59" alt="59"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">3</td><td class="ctr2" id="g2">3</td><td class="ctr1" id="h1">20</td><td class="ctr2" id="i1">20</td><td class="ctr1" id="j1">3</td><td class="ctr2" id="k1">3</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a2"><a href="JwtAuthorizationFilter.html" class="el_class">JwtAuthorizationFilter</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="18" height="10" title="46" alt="46"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="53" height="10" title="8" alt="8"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f1">7</td><td class="ctr2" id="g1">7</td><td class="ctr1" id="h2">11</td><td class="ctr2" id="i2">11</td><td class="ctr1" id="j2">3</td><td class="ctr2" id="k2">3</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.filter/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.global.filter/index.source.html
    new file mode 100644
    index 00000000..396d3605
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.filter/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.filter</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.filter</span></div><h1>com.softeer.backend.global.filter</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">403 of 403</td><td class="ctr2">0%</td><td class="bar">26 of 26</td><td class="ctr2">0%</td><td class="ctr1">35</td><td class="ctr2">35</td><td class="ctr1">105</td><td class="ctr2">105</td><td class="ctr1">22</td><td class="ctr2">22</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a1"><a href="JwtAuthenticationFilter.java.html" class="el_source">JwtAuthenticationFilter.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="298" alt="298"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="18" alt="18"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">25</td><td class="ctr2" id="g0">25</td><td class="ctr1" id="h0">74</td><td class="ctr2" id="i0">74</td><td class="ctr1" id="j0">16</td><td class="ctr2" id="k0">16</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="ExceptionHandlingFilter.java.html" class="el_source">ExceptionHandlingFilter.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="23" height="10" title="59" alt="59"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">3</td><td class="ctr2" id="g2">3</td><td class="ctr1" id="h1">20</td><td class="ctr2" id="i1">20</td><td class="ctr1" id="j1">3</td><td class="ctr2" id="k1">3</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a2"><a href="JwtAuthorizationFilter.java.html" class="el_source">JwtAuthorizationFilter.java</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="18" height="10" title="46" alt="46"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="53" height="10" title="8" alt="8"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f1">7</td><td class="ctr2" id="g1">7</td><td class="ctr1" id="h2">11</td><td class="ctr2" id="i2">11</td><td class="ctr1" id="j2">3</td><td class="ctr2" id="k2">3</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.scheduler/DbInsertScheduler.html b/jacoco/jacocoHtml/com.softeer.backend.global.scheduler/DbInsertScheduler.html
    new file mode 100644
    index 00000000..b456b2a4
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.scheduler/DbInsertScheduler.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DbInsertScheduler</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.scheduler</a> &gt; <span class="el_class">DbInsertScheduler</span></div><h1>DbInsertScheduler</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">262 of 262</td><td class="ctr2">0%</td><td class="bar">14 of 14</td><td class="ctr2">0%</td><td class="ctr1">15</td><td class="ctr2">15</td><td class="ctr1">63</td><td class="ctr2">63</td><td class="ctr1">8</td><td class="ctr2">8</td></tr></tfoot><tbody><tr><td id="a1"><a href="DbInsertScheduler.java.html#L64" class="el_method">insertData()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="198" alt="198"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="12" alt="12"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">7</td><td class="ctr2" id="g0">7</td><td class="ctr1" id="h0">43</td><td class="ctr2" id="i0">43</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a3"><a href="DbInsertScheduler.java.html#L83" class="el_method">lambda$insertData$1(int, String, Integer)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="13" height="10" title="23" alt="23"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h1">9</td><td class="ctr2" id="i1">9</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a5"><a href="DbInsertScheduler.java.html#L59" class="el_method">scheduleTask()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="7" height="10" title="12" alt="12"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">2</td><td class="ctr2" id="i3">2</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a7"><a href="DbInsertScheduler.java.html#L150" class="el_method">stopScheduler()</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="5" height="10" title="9" alt="9"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="20" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f1">2</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h2">3</td><td class="ctr2" id="i2">3</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a2"><a href="DbInsertScheduler.java.html#L85" class="el_method">lambda$insertData$0()</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="4" height="10" title="8" alt="8"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">2</td><td class="ctr2" id="i4">2</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a4"><a href="DbInsertScheduler.java.html#L120" class="el_method">lambda$insertData$2()</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="3" height="10" title="5" alt="5"/></td><td class="ctr2" id="c5">0%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">1</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h6">1</td><td class="ctr2" id="i6">1</td><td class="ctr1" id="j5">1</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a6"><a href="DbInsertScheduler.java.html#L33" class="el_method">static {...}</a></td><td class="bar" id="b6"><img src="../jacoco-resources/redbar.gif" width="2" height="10" title="4" alt="4"/></td><td class="ctr2" id="c6">0%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">1</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h7">1</td><td class="ctr2" id="i7">1</td><td class="ctr1" id="j6">1</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a0"><a href="DbInsertScheduler.java.html#L54" class="el_method">init()</a></td><td class="bar" id="b7"><img src="../jacoco-resources/redbar.gif" width="1" height="10" title="3" alt="3"/></td><td class="ctr2" id="c7">0%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">1</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h5">2</td><td class="ctr2" id="i5">2</td><td class="ctr1" id="j7">1</td><td class="ctr2" id="k7">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.scheduler/DbInsertScheduler.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.scheduler/DbInsertScheduler.java.html
    new file mode 100644
    index 00000000..bd3dc99f
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.scheduler/DbInsertScheduler.java.html
    @@ -0,0 +1,155 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DbInsertScheduler.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.scheduler</a> &gt; <span class="el_source">DbInsertScheduler.java</span></div><h1>DbInsertScheduler.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.scheduler;
    +
    +import com.softeer.backend.bo_domain.eventparticipation.domain.EventParticipation;
    +import com.softeer.backend.bo_domain.eventparticipation.repository.EventParticipationRepository;
    +import com.softeer.backend.fo_domain.draw.domain.Draw;
    +import com.softeer.backend.fo_domain.draw.repository.DrawRepository;
    +import com.softeer.backend.fo_domain.draw.service.DrawSettingManager;
    +import com.softeer.backend.fo_domain.fcfs.domain.Fcfs;
    +import com.softeer.backend.fo_domain.fcfs.repository.FcfsRepository;
    +import com.softeer.backend.fo_domain.fcfs.service.FcfsSettingManager;
    +import com.softeer.backend.fo_domain.user.domain.User;
    +import com.softeer.backend.fo_domain.user.exception.UserException;
    +import com.softeer.backend.fo_domain.user.repository.UserRepository;
    +import com.softeer.backend.global.common.code.status.ErrorStatus;
    +import com.softeer.backend.global.common.constant.RedisKeyPrefix;
    +import com.softeer.backend.global.util.DrawRedisUtil;
    +import com.softeer.backend.global.util.EventLockRedisUtil;
    +import com.softeer.backend.global.util.FcfsRedisUtil;
    +import jakarta.annotation.PostConstruct;
    +import lombok.RequiredArgsConstructor;
    +import lombok.extern.slf4j.Slf4j;
    +import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
    +import org.springframework.scheduling.support.CronTrigger;
    +import org.springframework.stereotype.Component;
    +import org.springframework.transaction.annotation.Transactional;
    +
    +import java.time.LocalDate;
    +import java.time.LocalDateTime;
    +import java.util.Map;
    +import java.util.Set;
    +import java.util.concurrent.ScheduledFuture;
    +
    +<span class="nc" id="L33">@Slf4j</span>
    +@Component
    +@RequiredArgsConstructor
    +public class DbInsertScheduler {
    +
    +    private final ThreadPoolTaskScheduler taskScheduler;
    +    private final EventLockRedisUtil eventLockRedisUtil;
    +    private final FcfsRedisUtil fcfsRedisUtil;
    +    private final DrawRedisUtil drawRedisUtil;
    +    private final FcfsSettingManager fcfsSettingManager;
    +    private final DrawSettingManager drawSettingManager;
    +    private final EventParticipationRepository eventParticipationRepository;
    +    private final UserRepository userRepository;
    +    private final FcfsRepository fcfsRepository;
    +    private final DrawRepository drawRepository;
    +
    +
    +    private ScheduledFuture&lt;?&gt; scheduledFuture;
    +
    +    @PostConstruct
    +    public void init() {
    +<span class="nc" id="L54">        scheduleTask();</span>
    +
    +<span class="nc" id="L56">    }</span>
    +
    +    public void scheduleTask() {
    +<span class="nc" id="L59">        scheduledFuture = taskScheduler.schedule(this::insertData, new CronTrigger(&quot;0 0 2 * * *&quot;));</span>
    +<span class="nc" id="L60">    }</span>
    +
    +    @Transactional
    +    protected void insertData() {
    +<span class="nc" id="L64">        LocalDate now = LocalDate.now();</span>
    +<span class="nc bnc" id="L65" title="All 2 branches missed.">        if (now.isBefore(drawSettingManager.getStartDate().plusDays(1)))</span>
    +<span class="nc" id="L66">            return;</span>
    +
    +<span class="nc bnc" id="L68" title="All 2 branches missed.">        if (now.isAfter(drawSettingManager.getEndDate().plusDays(1)))</span>
    +<span class="nc" id="L69">            stopScheduler();</span>
    +
    +<span class="nc" id="L71">        int totalVisitorsCount = eventLockRedisUtil.getData(RedisKeyPrefix.TOTAL_VISITORS_COUNT_PREFIX.getPrefix());</span>
    +<span class="nc" id="L72">        eventLockRedisUtil.deleteData(RedisKeyPrefix.TOTAL_VISITORS_COUNT_PREFIX.getPrefix());</span>
    +
    +<span class="nc" id="L74">        int fcfsParticipantCount = 0;</span>
    +
    +<span class="nc bnc" id="L76" title="All 2 branches missed.">        if (fcfsSettingManager.getRoundForScheduler(now) != -1) {</span>
    +<span class="nc" id="L77">            fcfsSettingManager.setFcfsClosed(false);</span>
    +
    +<span class="nc" id="L79">            int round = fcfsSettingManager.getRoundForScheduler(now);</span>
    +
    +<span class="nc" id="L81">            Map&lt;String, Integer&gt; participantIds = fcfsRedisUtil.getHashEntries(RedisKeyPrefix.FCFS_CODE_USERID_PREFIX.getPrefix() + round);</span>
    +<span class="nc" id="L82">            participantIds.forEach((code, userId) -&gt; {</span>
    +<span class="nc" id="L83">                User user = userRepository.findById(userId)</span>
    +<span class="nc" id="L84">                        .orElseThrow(() -&gt; {</span>
    +<span class="nc" id="L85">                            log.error(&quot;user not found in saveFcfsWinners method.&quot;);</span>
    +<span class="nc" id="L86">                            return new UserException(ErrorStatus._NOT_FOUND);</span>
    +                        });
    +
    +<span class="nc" id="L89">                Fcfs fcfs = Fcfs.builder()</span>
    +<span class="nc" id="L90">                        .user(user)</span>
    +<span class="nc" id="L91">                        .round(round)</span>
    +<span class="nc" id="L92">                        .code(code)</span>
    +<span class="nc" id="L93">                        .build();</span>
    +<span class="nc" id="L94">                fcfsRepository.save(fcfs);</span>
    +<span class="nc" id="L95">            });</span>
    +
    +<span class="nc" id="L97">            fcfsParticipantCount += fcfsRedisUtil.getValue(RedisKeyPrefix.FCFS_PARTICIPANT_COUNT_PREFIX.getPrefix() + round);</span>
    +
    +<span class="nc" id="L99">            fcfsRedisUtil.clearValue(RedisKeyPrefix.FCFS_PARTICIPANT_COUNT_PREFIX.getPrefix() + round);</span>
    +<span class="nc" id="L100">            fcfsRedisUtil.clearIntegerSet(RedisKeyPrefix.FCFS_USERID_PREFIX.getPrefix() + round);</span>
    +<span class="nc" id="L101">            fcfsRedisUtil.clearStringSet(RedisKeyPrefix.FCFS_CODE_PREFIX.getPrefix() + round);</span>
    +<span class="nc" id="L102">            fcfsRedisUtil.clearHash(RedisKeyPrefix.FCFS_CODE_USERID_PREFIX.getPrefix() + round);</span>
    +        }
    +
    +        // drawParticipantCount에 추첨 이벤트 참가자 수 할당하기
    +<span class="nc" id="L106">        int drawParticipantCount = drawRedisUtil.getDrawParticipantCount();</span>
    +        // redis에서 추첨 참가자 수 삭제
    +<span class="nc" id="L108">        drawRedisUtil.deleteDrawParticipantCount();</span>
    +
    +        // 추첨 당첨자 DB에 insert
    +        String drawWinnerKey;
    +<span class="nc bnc" id="L112" title="All 2 branches missed.">        for (int ranking = 1; ranking &lt; 4; ranking++) {</span>
    +<span class="nc" id="L113">            drawWinnerKey = RedisKeyPrefix.DRAW_WINNER_LIST_PREFIX.getPrefix() + ranking;</span>
    +<span class="nc" id="L114">            Set&lt;Integer&gt; winnerSet = drawRedisUtil.getAllDataAsSet(drawWinnerKey);</span>
    +
    +<span class="nc" id="L116">            LocalDate winningDate = LocalDate.now().minusDays(1);</span>
    +
    +<span class="nc bnc" id="L118" title="All 2 branches missed.">            for (Integer userId : winnerSet) {</span>
    +<span class="nc" id="L119">                User user = userRepository.findById(userId).orElseThrow(</span>
    +<span class="nc" id="L120">                        () -&gt; new UserException(ErrorStatus._NOT_FOUND));</span>
    +
    +<span class="nc" id="L122">                Draw draw = Draw.builder()</span>
    +<span class="nc" id="L123">                        .user(user)</span>
    +<span class="nc" id="L124">                        .rank(ranking)</span>
    +<span class="nc" id="L125">                        .winningDate(winningDate)</span>
    +<span class="nc" id="L126">                        .build();</span>
    +
    +<span class="nc" id="L128">                drawRepository.save(draw);</span>
    +<span class="nc" id="L129">            }</span>
    +        }
    +
    +        // redis에서 추첨 당첨자 목록 삭제
    +<span class="nc bnc" id="L133" title="All 2 branches missed.">        for (int ranking = 1; ranking &lt; 4; ranking++) {</span>
    +<span class="nc" id="L134">            drawWinnerKey = RedisKeyPrefix.DRAW_WINNER_LIST_PREFIX.getPrefix() + ranking;</span>
    +<span class="nc" id="L135">            drawRedisUtil.deleteAllSetData(drawWinnerKey);</span>
    +        }
    +
    +<span class="nc" id="L138">        eventParticipationRepository.save(EventParticipation.builder()</span>
    +<span class="nc" id="L139">                .visitorCount(totalVisitorsCount)</span>
    +<span class="nc" id="L140">                .fcfsParticipantCount(fcfsParticipantCount)</span>
    +<span class="nc" id="L141">                .drawParticipantCount(drawParticipantCount)</span>
    +<span class="nc" id="L142">                .eventDate(now.minusDays(1))</span>
    +<span class="nc" id="L143">                .build());</span>
    +<span class="nc" id="L144">    }</span>
    +
    +    /**
    +     * Scheduler의 작업을 비활성화 시키는 메서드
    +     */
    +    public void stopScheduler() {
    +<span class="nc bnc" id="L150" title="All 2 branches missed.">        if (scheduledFuture != null) {</span>
    +<span class="nc" id="L151">            scheduledFuture.cancel(false);</span>
    +        }
    +<span class="nc" id="L153">    }</span>
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.scheduler/EventSettingScheduler.html b/jacoco/jacocoHtml/com.softeer.backend.global.scheduler/EventSettingScheduler.html
    new file mode 100644
    index 00000000..06cd23f8
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.scheduler/EventSettingScheduler.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>EventSettingScheduler</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.scheduler</a> &gt; <span class="el_class">EventSettingScheduler</span></div><h1>EventSettingScheduler</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">57 of 57</td><td class="ctr2">0%</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a2"><a href="EventSettingScheduler.java.html#L46" class="el_method">updateEventSetting()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="42" alt="42"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">8</td><td class="ctr2" id="i0">8</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="EventSettingScheduler.java.html#L41" class="el_method">scheduleTask()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="34" height="10" title="12" alt="12"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="EventSettingScheduler.java.html#L36" class="el_method">init()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="8" height="10" title="3" alt="3"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">2</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.scheduler/EventSettingScheduler.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.scheduler/EventSettingScheduler.java.html
    new file mode 100644
    index 00000000..36b4c90b
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.scheduler/EventSettingScheduler.java.html
    @@ -0,0 +1,59 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>EventSettingScheduler.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.scheduler</a> &gt; <span class="el_source">EventSettingScheduler.java</span></div><h1>EventSettingScheduler.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.scheduler;
    +
    +import com.softeer.backend.fo_domain.draw.domain.DrawSetting;
    +import com.softeer.backend.fo_domain.draw.repository.DrawSettingRepository;
    +import com.softeer.backend.fo_domain.draw.service.DrawSettingManager;
    +import com.softeer.backend.fo_domain.fcfs.domain.FcfsSetting;
    +import com.softeer.backend.fo_domain.fcfs.repository.FcfsSettingRepository;
    +import com.softeer.backend.fo_domain.fcfs.service.FcfsSettingManager;
    +import jakarta.annotation.PostConstruct;
    +import lombok.RequiredArgsConstructor;
    +import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
    +import org.springframework.scheduling.support.CronTrigger;
    +import org.springframework.stereotype.Component;
    +import org.springframework.transaction.annotation.Transactional;
    +
    +import java.time.LocalDate;
    +import java.time.LocalDateTime;
    +import java.util.List;
    +import java.util.concurrent.ScheduledFuture;
    +
    +@Component
    +@RequiredArgsConstructor
    +public class EventSettingScheduler {
    +
    +    private final ThreadPoolTaskScheduler taskScheduler;
    +
    +    private final FcfsSettingManager fcfsSettingManager;
    +    private final DrawSettingManager drawSettingManager;
    +    private final FcfsSettingRepository fcfsSettingRepository;
    +    private final DrawSettingRepository drawSettingRepository;
    +
    +    private ScheduledFuture&lt;?&gt; scheduledFuture;
    +
    +    @PostConstruct
    +    public void init() {
    +<span class="nc" id="L36">        scheduleTask();</span>
    +
    +<span class="nc" id="L38">    }</span>
    +
    +    public void scheduleTask() {
    +<span class="nc" id="L41">        scheduledFuture = taskScheduler.schedule(this::updateEventSetting, new CronTrigger(&quot;0 0 1 * * *&quot;));</span>
    +<span class="nc" id="L42">    }</span>
    +
    +    @Transactional(readOnly = true)
    +    protected void updateEventSetting() {
    +<span class="nc" id="L46">        LocalDateTime now = LocalDateTime.now();</span>
    +<span class="nc bnc" id="L47" title="All 2 branches missed.">        if (now.isBefore(LocalDateTime.of(drawSettingManager.getStartDate(), drawSettingManager.getStartTime()))</span>
    +<span class="nc bnc" id="L48" title="All 2 branches missed.">        || now.isAfter(LocalDateTime.of(drawSettingManager.getEndDate(), drawSettingManager.getEndTime()))){</span>
    +
    +<span class="nc" id="L50">            List&lt;FcfsSetting&gt; fcfsSettings = fcfsSettingRepository.findAll();</span>
    +<span class="nc" id="L51">            DrawSetting drawSetting = drawSettingRepository.findAll().get(0);</span>
    +
    +<span class="nc" id="L53">            fcfsSettingManager.setFcfsSettingList(fcfsSettings);</span>
    +<span class="nc" id="L54">            drawSettingManager.setDrawSetting(drawSetting);</span>
    +        }
    +<span class="nc" id="L56">    }</span>
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.scheduler/index.html b/jacoco/jacocoHtml/com.softeer.backend.global.scheduler/index.html
    new file mode 100644
    index 00000000..488a403c
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.scheduler/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.scheduler</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.scheduler</span></div><h1>com.softeer.backend.global.scheduler</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">319 of 319</td><td class="ctr2">0%</td><td class="bar">18 of 18</td><td class="ctr2">0%</td><td class="ctr1">20</td><td class="ctr2">20</td><td class="ctr1">75</td><td class="ctr2">75</td><td class="ctr1">11</td><td class="ctr2">11</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="DbInsertScheduler.html" class="el_class">DbInsertScheduler</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="262" alt="262"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="14" alt="14"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">15</td><td class="ctr2" id="g0">15</td><td class="ctr1" id="h0">63</td><td class="ctr2" id="i0">63</td><td class="ctr1" id="j0">8</td><td class="ctr2" id="k0">8</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a1"><a href="EventSettingScheduler.html" class="el_class">EventSettingScheduler</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="26" height="10" title="57" alt="57"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="34" height="10" title="4" alt="4"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f1">5</td><td class="ctr2" id="g1">5</td><td class="ctr1" id="h1">12</td><td class="ctr2" id="i1">12</td><td class="ctr1" id="j1">3</td><td class="ctr2" id="k1">3</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.scheduler/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.global.scheduler/index.source.html
    new file mode 100644
    index 00000000..ebd10184
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.scheduler/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.scheduler</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.scheduler</span></div><h1>com.softeer.backend.global.scheduler</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">319 of 319</td><td class="ctr2">0%</td><td class="bar">18 of 18</td><td class="ctr2">0%</td><td class="ctr1">20</td><td class="ctr2">20</td><td class="ctr1">75</td><td class="ctr2">75</td><td class="ctr1">11</td><td class="ctr2">11</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="DbInsertScheduler.java.html" class="el_source">DbInsertScheduler.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="262" alt="262"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="14" alt="14"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">15</td><td class="ctr2" id="g0">15</td><td class="ctr1" id="h0">63</td><td class="ctr2" id="i0">63</td><td class="ctr1" id="j0">8</td><td class="ctr2" id="k0">8</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a1"><a href="EventSettingScheduler.java.html" class="el_source">EventSettingScheduler.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="26" height="10" title="57" alt="57"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="34" height="10" title="4" alt="4"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f1">5</td><td class="ctr2" id="g1">5</td><td class="ctr1" id="h1">12</td><td class="ctr2" id="i1">12</td><td class="ctr1" id="j1">3</td><td class="ctr2" id="k1">3</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/S3FileName.html b/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/S3FileName.html
    new file mode 100644
    index 00000000..3728d3a5
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/S3FileName.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>S3FileName</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.staticresources.constant</a> &gt; <span class="el_class">S3FileName</span></div><h1>S3FileName</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">201 of 201</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">34</td><td class="ctr2">34</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="S3FileName.java.html#L3" class="el_method">static {...}</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="201" alt="201"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">34</td><td class="ctr2" id="i0">34</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/S3FileName.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/S3FileName.java.html
    new file mode 100644
    index 00000000..7c923784
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/S3FileName.java.html
    @@ -0,0 +1,38 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>S3FileName.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.staticresources.constant</a> &gt; <span class="el_source">S3FileName.java</span></div><h1>S3FileName.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.staticresources.constant;
    +
    +<span class="nc" id="L3">public enum S3FileName {</span>
    +<span class="nc" id="L4">    CHARGING_BACKGROUND_IMAGE,</span>
    +<span class="nc" id="L5">    CHARGING_FAST_IMAGE,</span>
    +<span class="nc" id="L6">    CHARGING_THUMBNAIL_IMAGE,</span>
    +<span class="nc" id="L7">    CHARGING_V2L_IMAGE,</span>
    +<span class="nc" id="L8">    DRAW_REWARD_IMAGE_1,</span>
    +<span class="nc" id="L9">    DRAW_REWARD_IMAGE_2,</span>
    +<span class="nc" id="L10">    DRAW_REWARD_IMAGE_3,</span>
    +<span class="nc" id="L11">    FCFS_REWARD_IMAGE_1,</span>
    +<span class="nc" id="L12">    FCFS_REWARD_IMAGE_2,</span>
    +<span class="nc" id="L13">    INTERIOR_BACKGROUND_IMAGE,</span>
    +<span class="nc" id="L14">    INTERIOR_OPENNESS_IMAGE,</span>
    +<span class="nc" id="L15">    INTERIOR_THUMBNAIL_IMAGE,</span>
    +<span class="nc" id="L16">    INTERIOR_WELLNESS_IMAGE,</span>
    +<span class="nc" id="L17">    IONIQ_VIDEO,</span>
    +<span class="nc" id="L18">    MAIN_BACKGROUND_IMAGE,</span>
    +<span class="nc" id="L19">    MAIN_THUMBNAIL_IMAGE,</span>
    +<span class="nc" id="L20">    PERFORMANCE_BACKGROUND_IMAGE,</span>
    +<span class="nc" id="L21">    PERFORMANCE_BRAKING_IMAGE,</span>
    +<span class="nc" id="L22">    PERFORMANCE_DRIVING_IMAGE,</span>
    +<span class="nc" id="L23">    PERFORMANCE_THUMBNAIL_IMAGE,</span>
    +<span class="nc" id="L24">    SAFE_ADVANCED_IMAGE,</span>
    +<span class="nc" id="L25">    SAFE_BACKGROUND_IMAGE,</span>
    +<span class="nc" id="L26">    SAFE_DRIVING_IMAGE,</span>
    +<span class="nc" id="L27">    SAFE_THUMBNAIL_IMAGE,</span>
    +<span class="nc" id="L28">    BARCODE_IMAGE,</span>
    +<span class="nc" id="L29">    SEVENTH_COMPLETE_IMAGE,</span>
    +<span class="nc" id="L30">    SEVENTH_NOT_YET_IMAGE,</span>
    +<span class="nc" id="L31">    ATTENDANCE_REWARD_IMAGE,</span>
    +<span class="nc" id="L32">    DRAW_BLOCK_DOWN_IMAGE,</span>
    +<span class="nc" id="L33">    DRAW_BLOCK_LEFT_IMAGE,</span>
    +<span class="nc" id="L34">    DRAW_BLOCK_RIGHT_IMAGE,</span>
    +<span class="nc" id="L35">    DRAW_BLOCK_UP_IMAGE,</span>
    +<span class="nc" id="L36">    DRAW_REWARD_IMAGE_2_3</span>
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/StaticTextName.html b/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/StaticTextName.html
    new file mode 100644
    index 00000000..0b2625e2
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/StaticTextName.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>StaticTextName</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.staticresources.constant</a> &gt; <span class="el_class">StaticTextName</span></div><h1>StaticTextName</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">423 of 423</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">71</td><td class="ctr2">71</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="StaticTextName.java.html#L5" class="el_method">static {...}</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="423" alt="423"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">71</td><td class="ctr2" id="i0">71</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/StaticTextName.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/StaticTextName.java.html
    new file mode 100644
    index 00000000..054656eb
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/StaticTextName.java.html
    @@ -0,0 +1,99 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>StaticTextName.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.staticresources.constant</a> &gt; <span class="el_source">StaticTextName.java</span></div><h1>StaticTextName.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.staticresources.constant;
    +
    +import lombok.Getter;
    +
    +<span class="nc" id="L5">public enum StaticTextName {</span>
    +<span class="nc" id="L6">    EVENT_TITLE,</span>
    +<span class="nc" id="L7">    EVENT_DESCRIPTION,</span>
    +
    +<span class="nc" id="L9">    FCFS_INFO,</span>
    +<span class="nc" id="L10">    FCFS_TITLE,</span>
    +<span class="nc" id="L11">    FCFS_CONTENT,</span>
    +
    +<span class="nc" id="L13">    TOTAL_DRAW_WINNER,</span>
    +<span class="nc" id="L14">    REMAIN_DRAW_COUNT,</span>
    +<span class="nc" id="L15">    DRAW_TITLE,</span>
    +<span class="nc" id="L16">    DRAW_CONTENT,</span>
    +
    +<span class="nc" id="L18">    MAIN_TITLE,</span>
    +<span class="nc" id="L19">    MAIN_SUBTITLE,</span>
    +
    +<span class="nc" id="L21">    INTERIOR_TITLE,</span>
    +<span class="nc" id="L22">    INTERIOR_SUBTITLE,</span>
    +<span class="nc" id="L23">    INTERIOR_IMAGE_TITLE,</span>
    +<span class="nc" id="L24">    INTERIOR_IMAGE_CONTENT,</span>
    +<span class="nc" id="L25">    INTERIOR_OPENNESS_TITLE,</span>
    +<span class="nc" id="L26">    INTERIOR_OPENNESS_SUBTITLE,</span>
    +<span class="nc" id="L27">    INTERIOR_OPENNESS_CONTENT,</span>
    +
    +<span class="nc" id="L29">    INTERIOR_WELLNESS_TITLE,</span>
    +<span class="nc" id="L30">    INTERIOR_WELLNESS_SUBTITLE,</span>
    +<span class="nc" id="L31">    INTERIOR_WELLNESS_CONTENT,</span>
    +
    +<span class="nc" id="L33">    PERFORMANCE_TITLE,</span>
    +<span class="nc" id="L34">    PERFORMANCE_SUBTITLE,</span>
    +<span class="nc" id="L35">    PERFORMANCE_IMAGE_TITLE,</span>
    +<span class="nc" id="L36">    PERFORMANCE_IMAGE_CONTENT,</span>
    +<span class="nc" id="L37">    PERFORMANCE_BRAKING_TITLE,</span>
    +<span class="nc" id="L38">    PERFORMANCE_BRAKING_SUBTITLE,</span>
    +<span class="nc" id="L39">    PERFORMANCE_BRAKING_CONTENT,</span>
    +
    +<span class="nc" id="L41">    PERFORMANCE_DRIVING_TITLE,</span>
    +<span class="nc" id="L42">    PERFORMANCE_DRIVING_SUBTITLE,</span>
    +<span class="nc" id="L43">    PERFORMANCE_DRIVING_CONTENT,</span>
    +
    +<span class="nc" id="L45">    CHARGING_TITLE,</span>
    +<span class="nc" id="L46">    CHARGING_SUBTITLE,</span>
    +<span class="nc" id="L47">    CHARGING_IMAGE_TITLE,</span>
    +<span class="nc" id="L48">    CHARGING_IMAGE_CONTENT,</span>
    +<span class="nc" id="L49">    CHARGING_FAST_TITLE,</span>
    +<span class="nc" id="L50">    CHARGING_FAST_SUBTITLE,</span>
    +<span class="nc" id="L51">    CHARGING_FAST_CONTENT,</span>
    +
    +<span class="nc" id="L53">    CHARGING_V2L_TITLE,</span>
    +<span class="nc" id="L54">    CHARGING_V2L_SUBTITLE,</span>
    +<span class="nc" id="L55">    CHARGING_V2L_CONTENT,</span>
    +
    +<span class="nc" id="L57">    SAFE_TITLE,</span>
    +<span class="nc" id="L58">    SAFE_SUBTITLE,</span>
    +<span class="nc" id="L59">    SAFE_IMAGE_TITLE,</span>
    +<span class="nc" id="L60">    SAFE_IMAGE_CONTENT,</span>
    +<span class="nc" id="L61">    SAFE_DRIVING_TITLE,</span>
    +<span class="nc" id="L62">    SAFE_DRIVING_SUBTITLE,</span>
    +<span class="nc" id="L63">    SAFE_DRIVING_CONTENT,</span>
    +
    +<span class="nc" id="L65">    SAFE_ADVANCED_TITLE,</span>
    +<span class="nc" id="L66">    SAFE_ADVANCED_SUBTITLE,</span>
    +<span class="nc" id="L67">    SAFE_ADVANCED_CONTENT,</span>
    +
    +    // 7일 연속 출석 모달
    +<span class="nc" id="L70">    FULL_ATTEND_MODAL_TITLE,</span>
    +<span class="nc" id="L71">    FULL_ATTEND_MODAL_SUBTITLE,</span>
    +<span class="nc" id="L72">    FULL_ATTEND_MODAL_DESCRIPTION,</span>
    +
    +    // 추첨 당첨 모달
    +<span class="nc" id="L75">    DRAW_WINNER_MODAL_TITLE,</span>
    +<span class="nc" id="L76">    DRAW_FIRST_WINNER_SUBTITLE,</span>
    +<span class="nc" id="L77">    DRAW_SECOND_WINNER_SUBTITLE,</span>
    +<span class="nc" id="L78">    DRAW_THIRD_WINNER_SUBTITLE,</span>
    +<span class="nc" id="L79">    DRAW_WINNER_MODAL_DESCRIPTION,</span>
    +
    +    // 공유 url
    +<span class="nc" id="L82">    BASE_URL,</span>
    +<span class="nc" id="L83">    NON_USER_SHARE_URL,</span>
    +
    +    // 선착순
    +<span class="nc" id="L86">    FCFS_QUIZ_DESCRIPTION,</span>
    +
    +<span class="nc" id="L88">    FCFS_WINNER_TITLE,</span>
    +<span class="nc" id="L89">    FCFS_WINNER_SUBTITLE,</span>
    +<span class="nc" id="L90">    FCFS_WINNER_CODE_WORD,</span>
    +<span class="nc" id="L91">    FCFS_WINNER_EXPIRY_DATE,</span>
    +<span class="nc" id="L92">    FCFS_WINNER_CAUTION,</span>
    +
    +<span class="nc" id="L94">    FCFS_LOSER_TITLE,</span>
    +<span class="nc" id="L95">    FCFS_LOSER_SUBTITLE,</span>
    +<span class="nc" id="L96">    FCFS_LOSER_CAUTION;</span>
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/index.html b/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/index.html
    new file mode 100644
    index 00000000..653e0f84
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.staticresources.constant</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.staticresources.constant</span></div><h1>com.softeer.backend.global.staticresources.constant</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">624 of 624</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">105</td><td class="ctr2">105</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="StaticTextName.html" class="el_class">StaticTextName</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="423" alt="423"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">71</td><td class="ctr2" id="i0">71</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="S3FileName.html" class="el_class">S3FileName</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="57" height="10" title="201" alt="201"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">34</td><td class="ctr2" id="i1">34</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/index.source.html
    new file mode 100644
    index 00000000..379437d2
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.staticresources.constant</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.staticresources.constant</span></div><h1>com.softeer.backend.global.staticresources.constant</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">624 of 624</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">105</td><td class="ctr2">105</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="StaticTextName.java.html" class="el_source">StaticTextName.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="423" alt="423"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">71</td><td class="ctr2" id="i0">71</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="S3FileName.java.html" class="el_source">S3FileName.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="57" height="10" title="201" alt="201"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">34</td><td class="ctr2" id="i1">34</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.util/StaticResourceUtil.html b/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.util/StaticResourceUtil.html
    new file mode 100644
    index 00000000..b8222e17
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.util/StaticResourceUtil.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>StaticResourceUtil</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.staticresources.util</a> &gt; <span class="el_class">StaticResourceUtil</span></div><h1>StaticResourceUtil</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">61 of 61</td><td class="ctr2">0%</td><td class="bar">8 of 8</td><td class="ctr2">0%</td><td class="ctr1">13</td><td class="ctr2">13</td><td class="ctr1">17</td><td class="ctr2">17</td><td class="ctr1">6</td><td class="ctr2">6</td></tr></tfoot><tbody><tr><td id="a1"><a href="StaticResourceUtil.java.html#L41" class="el_method">getKoreanDayOfWeek(DayOfWeek)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="27" alt="27"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="8" alt="8"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">8</td><td class="ctr2" id="g0">8</td><td class="ctr1" id="h0">10</td><td class="ctr2" id="i0">10</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a3"><a href="StaticResourceUtil.java.html#L26" class="el_method">getTextContentMap()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="44" height="10" title="10" alt="10"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="StaticResourceUtil.java.html#L32" class="el_method">getS3ContentMap()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="44" height="10" title="10" alt="10"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">2</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a4"><a href="StaticResourceUtil.java.html#L28" class="el_method">lambda$getTextContentMap$0(TextContent)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="26" height="10" title="6" alt="6"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">1</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a0"><a href="StaticResourceUtil.java.html#L37" class="el_method">format(String, Object[])</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="17" height="10" title="4" alt="4"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">1</td><td class="ctr2" id="i4">1</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a5"><a href="StaticResourceUtil.java.html#L17" class="el_method">static {...}</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="17" height="10" title="4" alt="4"/></td><td class="ctr2" id="c5">0%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">1</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">1</td><td class="ctr2" id="i5">1</td><td class="ctr1" id="j5">1</td><td class="ctr2" id="k5">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.util/StaticResourceUtil.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.util/StaticResourceUtil.java.html
    new file mode 100644
    index 00000000..dbec07db
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.util/StaticResourceUtil.java.html
    @@ -0,0 +1,62 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>StaticResourceUtil.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.staticresources.util</a> &gt; <span class="el_source">StaticResourceUtil.java</span></div><h1>StaticResourceUtil.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.staticresources.util;
    +
    +import com.softeer.backend.global.common.code.status.ErrorStatus;
    +import com.softeer.backend.global.common.exception.GeneralException;
    +import com.softeer.backend.global.staticresources.domain.S3Content;
    +import com.softeer.backend.global.staticresources.domain.TextContent;
    +import com.softeer.backend.global.staticresources.repository.S3ContentRepository;
    +import com.softeer.backend.global.staticresources.repository.TextContentRepository;
    +import lombok.RequiredArgsConstructor;
    +import lombok.extern.slf4j.Slf4j;
    +import org.springframework.stereotype.Component;
    +
    +import java.time.DayOfWeek;
    +import java.util.Map;
    +import java.util.stream.Collectors;
    +
    +<span class="nc" id="L17">@Slf4j</span>
    +@Component
    +@RequiredArgsConstructor
    +public class StaticResourceUtil {
    +
    +    private final TextContentRepository textContentRepository;
    +    private final S3ContentRepository s3ContentRepository;
    +
    +    public Map&lt;String, String&gt; getTextContentMap() {
    +<span class="nc" id="L26">        return textContentRepository.findAll().stream()</span>
    +<span class="nc" id="L27">                .collect(Collectors.toMap(TextContent::getTextName,</span>
    +<span class="nc" id="L28">                        textContent -&gt; textContent.getContent().replace(&quot;\\n&quot;, &quot;\n&quot;)));</span>
    +    }
    +
    +    public Map&lt;String, String&gt; getS3ContentMap() {
    +<span class="nc" id="L32">        return s3ContentRepository.findAll().stream()</span>
    +<span class="nc" id="L33">                .collect(Collectors.toMap(S3Content::getFileName, S3Content::getFileUrl));</span>
    +    }
    +
    +    public String format(String text, Object... args) {
    +<span class="nc" id="L37">        return String.format(text, args);</span>
    +    }
    +
    +    public String getKoreanDayOfWeek(DayOfWeek dayOfWeek) {
    +<span class="nc bnc" id="L41" title="All 8 branches missed.">        switch (dayOfWeek) {</span>
    +            case MONDAY:
    +<span class="nc" id="L43">                return &quot;월&quot;;</span>
    +            case TUESDAY:
    +<span class="nc" id="L45">                return &quot;화&quot;;</span>
    +            case WEDNESDAY:
    +<span class="nc" id="L47">                return &quot;수&quot;;</span>
    +            case THURSDAY:
    +<span class="nc" id="L49">                return &quot;목&quot;;</span>
    +            case FRIDAY:
    +<span class="nc" id="L51">                return &quot;금&quot;;</span>
    +            case SATURDAY:
    +<span class="nc" id="L53">                return &quot;토&quot;;</span>
    +            case SUNDAY:
    +<span class="nc" id="L55">                return &quot;일&quot;;</span>
    +            default:
    +<span class="nc" id="L57">                log.error(&quot;Korean day of week is not supported&quot;);</span>
    +<span class="nc" id="L58">                throw new GeneralException(ErrorStatus._INTERNAL_SERVER_ERROR);</span>
    +        }
    +    }
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.util/index.html b/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.util/index.html
    new file mode 100644
    index 00000000..19048181
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.util/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.staticresources.util</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.staticresources.util</span></div><h1>com.softeer.backend.global.staticresources.util</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">61 of 61</td><td class="ctr2">0%</td><td class="bar">8 of 8</td><td class="ctr2">0%</td><td class="ctr1">13</td><td class="ctr2">13</td><td class="ctr1">17</td><td class="ctr2">17</td><td class="ctr1">6</td><td class="ctr2">6</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="StaticResourceUtil.html" class="el_class">StaticResourceUtil</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="61" alt="61"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="8" alt="8"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">13</td><td class="ctr2" id="g0">13</td><td class="ctr1" id="h0">17</td><td class="ctr2" id="i0">17</td><td class="ctr1" id="j0">6</td><td class="ctr2" id="k0">6</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.util/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.util/index.source.html
    new file mode 100644
    index 00000000..4f7520c0
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.util/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.staticresources.util</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.staticresources.util</span></div><h1>com.softeer.backend.global.staticresources.util</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">61 of 61</td><td class="ctr2">0%</td><td class="bar">8 of 8</td><td class="ctr2">0%</td><td class="ctr1">13</td><td class="ctr2">13</td><td class="ctr1">17</td><td class="ctr2">17</td><td class="ctr1">6</td><td class="ctr2">6</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="StaticResourceUtil.java.html" class="el_source">StaticResourceUtil.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="61" alt="61"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="8" alt="8"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">13</td><td class="ctr2" id="g0">13</td><td class="ctr1" id="h0">17</td><td class="ctr2" id="i0">17</td><td class="ctr1" id="j0">6</td><td class="ctr2" id="k0">6</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.util/DrawRedisUtil.html b/jacoco/jacocoHtml/com.softeer.backend.global.util/DrawRedisUtil.html
    new file mode 100644
    index 00000000..50de1d63
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.util/DrawRedisUtil.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DrawRedisUtil</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.util</a> &gt; <span class="el_class">DrawRedisUtil</span></div><h1>DrawRedisUtil</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">101 of 101</td><td class="ctr2">0%</td><td class="bar">6 of 6</td><td class="ctr2">0%</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">23</td><td class="ctr2">23</td><td class="ctr1">9</td><td class="ctr2">9</td></tr></tfoot><tbody><tr><td id="a5"><a href="DrawRedisUtil.java.html#L48" class="el_method">getRankingIfWinner(Integer)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="24" alt="24"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">6</td><td class="ctr2" id="i0">6</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a7"><a href="DrawRedisUtil.java.html#L60" class="el_method">isWinner(Integer, int, int)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="115" height="10" title="23" alt="23"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="60" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f1">2</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h1">6</td><td class="ctr2" id="i1">6</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a8"><a href="DrawRedisUtil.java.html#L33" class="el_method">setIntegerValueToSet(String, Integer)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="65" height="10" title="13" alt="13"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">2</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a6"><a href="DrawRedisUtil.java.html#L76" class="el_method">increaseDrawParticipationCount()</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="40" height="10" title="8" alt="8"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">2</td><td class="ctr2" id="i3">2</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a3"><a href="DrawRedisUtil.java.html#L81" class="el_method">getDrawParticipantCount()</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="40" height="10" title="8" alt="8"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h6">1</td><td class="ctr2" id="i6">1</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a1"><a href="DrawRedisUtil.java.html#L86" class="el_method">deleteDrawParticipantCount()</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="35" height="10" title="7" alt="7"/></td><td class="ctr2" id="c5">0%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">1</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h4">2</td><td class="ctr2" id="i4">2</td><td class="ctr1" id="j5">1</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a2"><a href="DrawRedisUtil.java.html#L24" class="el_method">getAllDataAsSet(String)</a></td><td class="bar" id="b6"><img src="../jacoco-resources/redbar.gif" width="30" height="10" title="6" alt="6"/></td><td class="ctr2" id="c6">0%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">1</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h7">1</td><td class="ctr2" id="i7">1</td><td class="ctr1" id="j6">1</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a4"><a href="DrawRedisUtil.java.html#L28" class="el_method">getIntegerSetSize(String)</a></td><td class="bar" id="b7"><img src="../jacoco-resources/redbar.gif" width="30" height="10" title="6" alt="6"/></td><td class="ctr2" id="c7">0%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">1</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h8">1</td><td class="ctr2" id="i8">1</td><td class="ctr1" id="j7">1</td><td class="ctr2" id="k7">1</td></tr><tr><td id="a0"><a href="DrawRedisUtil.java.html#L38" class="el_method">deleteAllSetData(String)</a></td><td class="bar" id="b8"><img src="../jacoco-resources/redbar.gif" width="30" height="10" title="6" alt="6"/></td><td class="ctr2" id="c8">0%</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f8">1</td><td class="ctr2" id="g8">1</td><td class="ctr1" id="h5">2</td><td class="ctr2" id="i5">2</td><td class="ctr1" id="j8">1</td><td class="ctr2" id="k8">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.util/DrawRedisUtil.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.util/DrawRedisUtil.java.html
    new file mode 100644
    index 00000000..fd74bfae
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.util/DrawRedisUtil.java.html
    @@ -0,0 +1,89 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DrawRedisUtil.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.util</a> &gt; <span class="el_source">DrawRedisUtil.java</span></div><h1>DrawRedisUtil.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.util;
    +
    +import com.softeer.backend.global.annotation.EventLock;
    +import com.softeer.backend.global.common.constant.RedisKeyPrefix;
    +import lombok.RequiredArgsConstructor;
    +import org.springframework.data.redis.core.RedisTemplate;
    +import org.springframework.stereotype.Component;
    +
    +import java.util.Set;
    +
    +/**
    + * 추첨 이벤트에서 사용할 레디스
    + */
    +@Component
    +@RequiredArgsConstructor
    +public class DrawRedisUtil {
    +    private final RedisTemplate&lt;String, Integer&gt; integerRedisTemplate;
    +
    +    // 추첨 당첨자 목록: DRAW_WINNER_LIST_{ranking}, Set&lt;Integer&gt;
    +    // 추첨 참여자 수:  DRAW_PARTICIPANT_COUNT, Integer
    +
    +    // ranking의 추첨 당첨자 목록 반환
    +    public Set&lt;Integer&gt; getAllDataAsSet(String key) {
    +<span class="nc" id="L24">        return integerRedisTemplate.opsForSet().members(key);</span>
    +    }
    +
    +    private Long getIntegerSetSize(String key) {
    +<span class="nc" id="L28">        return integerRedisTemplate.opsForSet().size(key);</span>
    +    }
    +
    +    // ranking의 당첨자 목록 업데이트
    +    public void setIntegerValueToSet(String key, Integer userId) {
    +<span class="nc" id="L33">        integerRedisTemplate.opsForSet().add(key, userId);</span>
    +<span class="nc" id="L34">    }</span>
    +
    +    // ranking의 Set 값 모두 삭제
    +    public void deleteAllSetData(String key) {
    +<span class="nc" id="L38">        integerRedisTemplate.delete(key);</span>
    +<span class="nc" id="L39">    }</span>
    +
    +    /**
    +     * userId가 당첨자 목록에 있으면 등수, 없으면 0 반환
    +     *
    +     * @param userId 사용자 아이디
    +     */
    +    public int getRankingIfWinner(Integer userId) {
    +        String drawWinnerKey;
    +<span class="nc bnc" id="L48" title="All 2 branches missed.">        for (int ranking = 1; ranking &lt; 4; ranking++) {</span>
    +<span class="nc" id="L49">            drawWinnerKey = RedisKeyPrefix.DRAW_WINNER_LIST_PREFIX.getPrefix() + ranking;</span>
    +<span class="nc" id="L50">            Set&lt;Integer&gt; drawTempSet = getAllDataAsSet(drawWinnerKey);</span>
    +<span class="nc bnc" id="L51" title="All 2 branches missed.">            if (drawTempSet.contains(userId)) {</span>
    +<span class="nc" id="L52">                return ranking;</span>
    +            }
    +        }
    +<span class="nc" id="L55">        return 0;</span>
    +    }
    +
    +    @EventLock(key = &quot;LOCK:DRAW_WINNER_LIST_#{#ranking}&quot;)
    +    public boolean isWinner(Integer userId, int ranking, int winnerNum) {
    +<span class="nc" id="L60">        String drawWinnerKey = RedisKeyPrefix.DRAW_WINNER_LIST_PREFIX.getPrefix() + ranking;</span>
    +<span class="nc" id="L61">        Long winnerSetSize = getIntegerSetSize(drawWinnerKey);</span>
    +
    +        // 레디스에서 해당 랭킹에 자리가 있는지 확인
    +<span class="nc bnc" id="L64" title="All 2 branches missed.">        if (winnerSetSize &lt; winnerNum) {</span>
    +            // 자리가 있다면 당첨 성공. 당첨자 리스트에 추가
    +<span class="nc" id="L66">            setIntegerValueToSet(drawWinnerKey, userId);</span>
    +<span class="nc" id="L67">            return true;</span>
    +        } else {
    +            // 이미 자리가 가득 차서 당첨 실패
    +<span class="nc" id="L70">            return false;</span>
    +        }
    +    }
    +
    +    // 추첨 참여자수 증가
    +    public void increaseDrawParticipationCount() {
    +<span class="nc" id="L76">        integerRedisTemplate.opsForValue().increment(RedisKeyPrefix.DRAW_PARTICIPANT_COUNT_PREFIX.getPrefix());</span>
    +<span class="nc" id="L77">    }</span>
    +
    +    // 추첨 참여인원수 조회
    +    public Integer getDrawParticipantCount() {
    +<span class="nc" id="L81">        return integerRedisTemplate.opsForValue().get(RedisKeyPrefix.DRAW_PARTICIPANT_COUNT_PREFIX.getPrefix());</span>
    +    }
    +
    +    // 추첨 참여인원수 삭제
    +    public void deleteDrawParticipantCount() {
    +<span class="nc" id="L86">        integerRedisTemplate.delete(RedisKeyPrefix.DRAW_PARTICIPANT_COUNT_PREFIX.getPrefix());</span>
    +<span class="nc" id="L87">    }</span>
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.util/EventLockRedisUtil.html b/jacoco/jacocoHtml/com.softeer.backend.global.util/EventLockRedisUtil.html
    new file mode 100644
    index 00000000..1253f0db
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.util/EventLockRedisUtil.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>EventLockRedisUtil</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.util</a> &gt; <span class="el_class">EventLockRedisUtil</span></div><h1>EventLockRedisUtil</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">85 of 85</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">19</td><td class="ctr2">19</td><td class="ctr1">12</td><td class="ctr2">12</td></tr></tfoot><tbody><tr><td id="a0"><a href="EventLockRedisUtil.java.html#L31" class="el_method">addValueToSet(String, Integer)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="12" alt="12"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a9"><a href="EventLockRedisUtil.java.html#L54" class="el_method">removeParticipantId(String, Integer)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="12" alt="12"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a11"><a href="EventLockRedisUtil.java.html#L36" class="el_method">setTTL(String, long)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="80" height="10" title="8" alt="8"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">2</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a8"><a href="EventLockRedisUtil.java.html#L50" class="el_method">isParticipantExists(String, Integer)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="80" height="10" title="8" alt="8"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h7">1</td><td class="ctr2" id="i7">1</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a10"><a href="EventLockRedisUtil.java.html#L26" class="el_method">setData(String, int)</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="70" height="10" title="7" alt="7"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h3">2</td><td class="ctr2" id="i3">2</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a7"><a href="EventLockRedisUtil.java.html#L42" class="el_method">incrementData(String)</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="70" height="10" title="7" alt="7"/></td><td class="ctr2" id="c5">0%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">1</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h4">2</td><td class="ctr2" id="i4">2</td><td class="ctr1" id="j5">1</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a4"><a href="EventLockRedisUtil.java.html#L21" class="el_method">getData(String)</a></td><td class="bar" id="b6"><img src="../jacoco-resources/redbar.gif" width="60" height="10" title="6" alt="6"/></td><td class="ctr2" id="c6">0%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">1</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h8">1</td><td class="ctr2" id="i8">1</td><td class="ctr1" id="j6">1</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a1"><a href="EventLockRedisUtil.java.html#L46" class="el_method">deleteData(String)</a></td><td class="bar" id="b7"><img src="../jacoco-resources/redbar.gif" width="60" height="10" title="6" alt="6"/></td><td class="ctr2" id="c7">0%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">1</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h5">2</td><td class="ctr2" id="i5">2</td><td class="ctr1" id="j7">1</td><td class="ctr2" id="k7">1</td></tr><tr><td id="a2"><a href="EventLockRedisUtil.java.html#L62" class="el_method">deleteTempWinnerList(String)</a></td><td class="bar" id="b8"><img src="../jacoco-resources/redbar.gif" width="60" height="10" title="6" alt="6"/></td><td class="ctr2" id="c8">0%</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f8">1</td><td class="ctr2" id="g8">1</td><td class="ctr1" id="h6">2</td><td class="ctr2" id="i6">2</td><td class="ctr1" id="j8">1</td><td class="ctr2" id="k8">1</td></tr><tr><td id="a3"><a href="EventLockRedisUtil.java.html#L58" class="el_method">getAllDataAsSet(String)</a></td><td class="bar" id="b9"><img src="../jacoco-resources/redbar.gif" width="50" height="10" title="5" alt="5"/></td><td class="ctr2" id="c9">0%</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f9">1</td><td class="ctr2" id="g9">1</td><td class="ctr1" id="h9">1</td><td class="ctr2" id="i9">1</td><td class="ctr1" id="j9">1</td><td class="ctr2" id="k9">1</td></tr><tr><td id="a5"><a href="EventLockRedisUtil.java.html#L68" class="el_method">getStringIntegerValueOperations()</a></td><td class="bar" id="b10"><img src="../jacoco-resources/redbar.gif" width="40" height="10" title="4" alt="4"/></td><td class="ctr2" id="c10">0%</td><td class="bar" id="d10"/><td class="ctr2" id="e10">n/a</td><td class="ctr1" id="f10">1</td><td class="ctr2" id="g10">1</td><td class="ctr1" id="h10">1</td><td class="ctr2" id="i10">1</td><td class="ctr1" id="j10">1</td><td class="ctr2" id="k10">1</td></tr><tr><td id="a6"><a href="EventLockRedisUtil.java.html#L72" class="el_method">getStringSetIntegerValueOperations()</a></td><td class="bar" id="b11"><img src="../jacoco-resources/redbar.gif" width="40" height="10" title="4" alt="4"/></td><td class="ctr2" id="c11">0%</td><td class="bar" id="d11"/><td class="ctr2" id="e11">n/a</td><td class="ctr1" id="f11">1</td><td class="ctr2" id="g11">1</td><td class="ctr1" id="h11">1</td><td class="ctr2" id="i11">1</td><td class="ctr1" id="j11">1</td><td class="ctr2" id="k11">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.util/EventLockRedisUtil.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.util/EventLockRedisUtil.java.html
    new file mode 100644
    index 00000000..2fd3778b
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.util/EventLockRedisUtil.java.html
    @@ -0,0 +1,75 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>EventLockRedisUtil.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.util</a> &gt; <span class="el_source">EventLockRedisUtil.java</span></div><h1>EventLockRedisUtil.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.util;
    +
    +import lombok.RequiredArgsConstructor;
    +import org.springframework.data.redis.core.*;
    +import org.springframework.stereotype.Component;
    +
    +import java.time.Duration;
    +import java.util.Set;
    +
    +/**
    + * 선착순, 추첨 이벤트의 동기화를 위해 사용되는 RedisUtil 클래스
    + */
    +@Component
    +@RequiredArgsConstructor
    +public class EventLockRedisUtil {
    +
    +    private final RedisTemplate&lt;String, Integer&gt; integerRedisTemplate;
    +
    +    // key 에 해당하는 데이터 얻어오는 메서드
    +    public Integer getData(String key) {
    +<span class="nc" id="L21">        return getStringIntegerValueOperations().get(key);</span>
    +    }
    +
    +    // key - value 데이터 설정하는 메서드
    +    public void setData(String key, int value) {
    +<span class="nc" id="L26">        getStringIntegerValueOperations().set(key, value);</span>
    +<span class="nc" id="L27">    }</span>
    +
    +    // 참가자의 ID를 Set으로 저장하고 관리하는 메서드
    +    public void addValueToSet(String key, Integer userId) {
    +<span class="nc" id="L31">        getStringSetIntegerValueOperations().add(key, userId);</span>
    +<span class="nc" id="L32">    }</span>
    +
    +    // TTL 설정하는 메서드
    +    public void setTTL(String key, long seconds) {
    +<span class="nc" id="L36">        integerRedisTemplate.expire(key, Duration.ofSeconds(seconds));</span>
    +<span class="nc" id="L37">    }</span>
    +
    +    // key에 해당하는 데이터의 값을 1 더하는 메서드
    +    // 원자적으로 값을 증가시킨다.
    +    public void incrementData(String key) {
    +<span class="nc" id="L42">        getStringIntegerValueOperations().increment(key, 1);</span>
    +<span class="nc" id="L43">    }</span>
    +
    +    public void deleteData(String key) {
    +<span class="nc" id="L46">        integerRedisTemplate.delete(key);</span>
    +<span class="nc" id="L47">    }</span>
    +
    +    public boolean isParticipantExists(String key, Integer participantId) {
    +<span class="nc" id="L50">        return Boolean.TRUE.equals(getStringSetIntegerValueOperations().isMember(key, participantId));</span>
    +    }
    +
    +    public void removeParticipantId(String key, Integer participantId) {
    +<span class="nc" id="L54">        getStringSetIntegerValueOperations().remove(key, participantId);</span>
    +<span class="nc" id="L55">    }</span>
    +
    +    public Set&lt;Integer&gt; getAllDataAsSet(String key) {
    +<span class="nc" id="L58">        return getStringSetIntegerValueOperations().members(key);</span>
    +    }
    +
    +    public void deleteTempWinnerList(String key) {
    +<span class="nc" id="L62">        integerRedisTemplate.delete(key);</span>
    +<span class="nc" id="L63">    }</span>
    +
    +
    +
    +    private ValueOperations&lt;String, Integer&gt; getStringIntegerValueOperations() {
    +<span class="nc" id="L68">        return integerRedisTemplate.opsForValue();</span>
    +    }
    +
    +    private SetOperations&lt;String, Integer&gt; getStringSetIntegerValueOperations() {
    +<span class="nc" id="L72">        return integerRedisTemplate.opsForSet();</span>
    +    }
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.util/FcfsRedisUtil.html b/jacoco/jacocoHtml/com.softeer.backend.global.util/FcfsRedisUtil.html
    new file mode 100644
    index 00000000..4a7b498b
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.util/FcfsRedisUtil.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>FcfsRedisUtil</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.util</a> &gt; <span class="el_class">FcfsRedisUtil</span></div><h1>FcfsRedisUtil</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">133 of 133</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">14</td><td class="ctr2">14</td><td class="ctr1">28</td><td class="ctr2">28</td><td class="ctr1">13</td><td class="ctr2">13</td></tr></tfoot><tbody><tr><td id="a7"><a href="FcfsRedisUtil.java.html#L46" class="el_method">getHashEntries(String)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="37" alt="37"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">8</td><td class="ctr2" id="i0">8</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="FcfsRedisUtil.java.html#L18" class="el_method">addToIntegerSet(String, Integer)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="42" height="10" title="13" alt="13"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="FcfsRedisUtil.java.html#L22" class="el_method">addToStringSet(String, String)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="42" height="10" title="13" alt="13"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">2</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a11"><a href="FcfsRedisUtil.java.html#L38" class="el_method">isValueInIntegerSet(String, Integer)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="29" height="10" title="9" alt="9"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h9">1</td><td class="ctr2" id="i9">1</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a12"><a href="FcfsRedisUtil.java.html#L42" class="el_method">isValueInStringSet(String, String)</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="29" height="10" title="9" alt="9"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h10">1</td><td class="ctr2" id="i10">1</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a0"><a href="FcfsRedisUtil.java.html#L26" class="el_method">addToHash(String, String, Integer)</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="25" height="10" title="8" alt="8"/></td><td class="ctr2" id="c5">0%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">1</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h3">2</td><td class="ctr2" id="i3">2</td><td class="ctr1" id="j5">1</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a10"><a href="FcfsRedisUtil.java.html#L30" class="el_method">incrementValue(String)</a></td><td class="bar" id="b6"><img src="../jacoco-resources/redbar.gif" width="22" height="10" title="7" alt="7"/></td><td class="ctr2" id="c6">0%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">1</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h4">2</td><td class="ctr2" id="i4">2</td><td class="ctr1" id="j6">1</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a9"><a href="FcfsRedisUtil.java.html#L59" class="el_method">getValue(String)</a></td><td class="bar" id="b7"><img src="../jacoco-resources/redbar.gif" width="22" height="10" title="7" alt="7"/></td><td class="ctr2" id="c7">0%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">1</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h11">1</td><td class="ctr2" id="i11">1</td><td class="ctr1" id="j7">1</td><td class="ctr2" id="k7">1</td></tr><tr><td id="a8"><a href="FcfsRedisUtil.java.html#L34" class="el_method">getIntegerSetSize(String)</a></td><td class="bar" id="b8"><img src="../jacoco-resources/redbar.gif" width="19" height="10" title="6" alt="6"/></td><td class="ctr2" id="c8">0%</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f8">1</td><td class="ctr2" id="g8">1</td><td class="ctr1" id="h12">1</td><td class="ctr2" id="i12">1</td><td class="ctr1" id="j8">1</td><td class="ctr2" id="k8">1</td></tr><tr><td id="a4"><a href="FcfsRedisUtil.java.html#L63" class="el_method">clearIntegerSet(String)</a></td><td class="bar" id="b9"><img src="../jacoco-resources/redbar.gif" width="19" height="10" title="6" alt="6"/></td><td class="ctr2" id="c9">0%</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f9">1</td><td class="ctr2" id="g9">1</td><td class="ctr1" id="h5">2</td><td class="ctr2" id="i5">2</td><td class="ctr1" id="j9">1</td><td class="ctr2" id="k9">1</td></tr><tr><td id="a5"><a href="FcfsRedisUtil.java.html#L67" class="el_method">clearStringSet(String)</a></td><td class="bar" id="b10"><img src="../jacoco-resources/redbar.gif" width="19" height="10" title="6" alt="6"/></td><td class="ctr2" id="c10">0%</td><td class="bar" id="d10"/><td class="ctr2" id="e10">n/a</td><td class="ctr1" id="f10">1</td><td class="ctr2" id="g10">1</td><td class="ctr1" id="h6">2</td><td class="ctr2" id="i6">2</td><td class="ctr1" id="j10">1</td><td class="ctr2" id="k10">1</td></tr><tr><td id="a3"><a href="FcfsRedisUtil.java.html#L71" class="el_method">clearHash(String)</a></td><td class="bar" id="b11"><img src="../jacoco-resources/redbar.gif" width="19" height="10" title="6" alt="6"/></td><td class="ctr2" id="c11">0%</td><td class="bar" id="d11"/><td class="ctr2" id="e11">n/a</td><td class="ctr1" id="f11">1</td><td class="ctr2" id="g11">1</td><td class="ctr1" id="h7">2</td><td class="ctr2" id="i7">2</td><td class="ctr1" id="j11">1</td><td class="ctr2" id="k11">1</td></tr><tr><td id="a6"><a href="FcfsRedisUtil.java.html#L75" class="el_method">clearValue(String)</a></td><td class="bar" id="b12"><img src="../jacoco-resources/redbar.gif" width="19" height="10" title="6" alt="6"/></td><td class="ctr2" id="c12">0%</td><td class="bar" id="d12"/><td class="ctr2" id="e12">n/a</td><td class="ctr1" id="f12">1</td><td class="ctr2" id="g12">1</td><td class="ctr1" id="h8">2</td><td class="ctr2" id="i8">2</td><td class="ctr1" id="j12">1</td><td class="ctr2" id="k12">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.util/FcfsRedisUtil.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.util/FcfsRedisUtil.java.html
    new file mode 100644
    index 00000000..4b4586a1
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.util/FcfsRedisUtil.java.html
    @@ -0,0 +1,81 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>FcfsRedisUtil.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.util</a> &gt; <span class="el_source">FcfsRedisUtil.java</span></div><h1>FcfsRedisUtil.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.util;
    +
    +import lombok.RequiredArgsConstructor;
    +import org.springframework.data.redis.core.*;
    +import org.springframework.stereotype.Component;
    +
    +import java.util.HashMap;
    +import java.util.Map;
    +
    +@Component
    +@RequiredArgsConstructor
    +public class FcfsRedisUtil {
    +
    +    private final StringRedisTemplate stringRedisTemplate;
    +    private final RedisTemplate&lt;String, Integer&gt; integerRedisTemplate;
    +
    +    public void addToIntegerSet(String key, Integer value) {
    +<span class="nc" id="L18">        integerRedisTemplate.opsForSet().add(key, value);</span>
    +<span class="nc" id="L19">    }</span>
    +
    +    public void addToStringSet(String key, String value) {
    +<span class="nc" id="L22">        stringRedisTemplate.opsForSet().add(key, value);</span>
    +<span class="nc" id="L23">    }</span>
    +
    +    public void addToHash(String key, String field, Integer value) {
    +<span class="nc" id="L26">        integerRedisTemplate.opsForHash().put(key, field, value);</span>
    +<span class="nc" id="L27">    }</span>
    +
    +    public void incrementValue(String key){
    +<span class="nc" id="L30">        integerRedisTemplate.opsForValue().increment(key);</span>
    +<span class="nc" id="L31">    }</span>
    +
    +    public Long getIntegerSetSize(String key) {
    +<span class="nc" id="L34">        return integerRedisTemplate.opsForSet().size(key);</span>
    +    }
    +
    +    public boolean isValueInIntegerSet(String key, Integer value) {
    +<span class="nc" id="L38">        return Boolean.TRUE.equals(integerRedisTemplate.opsForSet().isMember(key, value));</span>
    +    }
    +
    +    public boolean isValueInStringSet(String key, String value) {
    +<span class="nc" id="L42">        return Boolean.TRUE.equals(stringRedisTemplate.opsForSet().isMember(key, value));</span>
    +    }
    +
    +    public Map&lt;String, Integer&gt; getHashEntries(String key) {
    +<span class="nc" id="L46">        Map&lt;Object, Object&gt; entries = integerRedisTemplate.opsForHash().entries(key);</span>
    +<span class="nc" id="L47">        Map&lt;String, Integer&gt; result = new HashMap&lt;&gt;();</span>
    +
    +<span class="nc bnc" id="L49" title="All 2 branches missed.">        for (Map.Entry&lt;Object, Object&gt; entry : entries.entrySet()) {</span>
    +<span class="nc" id="L50">            String mapKey = (String) entry.getKey();</span>
    +<span class="nc" id="L51">            Integer mapValue = (Integer) entry.getValue();</span>
    +<span class="nc" id="L52">            result.put(mapKey, mapValue);</span>
    +<span class="nc" id="L53">        }</span>
    +
    +<span class="nc" id="L55">        return result;</span>
    +    }
    +
    +    public Integer getValue(String key) {
    +<span class="nc" id="L59">        return integerRedisTemplate.opsForValue().get(key);</span>
    +    }
    +
    +    public void clearIntegerSet(String key) {
    +<span class="nc" id="L63">        integerRedisTemplate.delete(key);</span>
    +<span class="nc" id="L64">    }</span>
    +
    +    public void clearStringSet(String key) {
    +<span class="nc" id="L67">        stringRedisTemplate.delete(key);</span>
    +<span class="nc" id="L68">    }</span>
    +
    +    public void clearHash(String key) {
    +<span class="nc" id="L71">        integerRedisTemplate.delete(key);</span>
    +<span class="nc" id="L72">    }</span>
    +
    +    public void clearValue(String key) {
    +<span class="nc" id="L75">        stringRedisTemplate.delete(key);</span>
    +<span class="nc" id="L76">    }</span>
    +
    +
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.util/JwtUtil.html b/jacoco/jacocoHtml/com.softeer.backend.global.util/JwtUtil.html
    new file mode 100644
    index 00000000..c41b0a17
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.util/JwtUtil.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>JwtUtil</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.util</a> &gt; <span class="el_class">JwtUtil</span></div><h1>JwtUtil</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">254 of 254</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">14</td><td class="ctr2">14</td><td class="ctr1">64</td><td class="ctr2">64</td><td class="ctr1">13</td><td class="ctr2">13</td></tr></tfoot><tbody><tr><td id="a12"><a href="JwtUtil.java.html#L117" class="el_method">validateToken(String)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="47" alt="47"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">16</td><td class="ctr2" id="i0">16</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="JwtUtil.java.html#L96" class="el_method">createServiceToken(JwtClaimsDto)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="117" height="10" title="46" alt="46"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">11</td><td class="ctr2" id="i1">11</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a3"><a href="JwtUtil.java.html#L137" class="el_method">createToken(JwtClaimsDto, Long)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="109" height="10" title="43" alt="43"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">10</td><td class="ctr2" id="i2">10</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a6"><a href="JwtUtil.java.html#L80" class="el_method">getAuthInfoFromToken(String)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="79" height="10" title="31" alt="31"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">10</td><td class="ctr2" id="i3">10</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a4"><a href="JwtUtil.java.html#L30" class="el_method">extractAccessToken(HttpServletRequest)</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="53" height="10" title="21" alt="21"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">5</td><td class="ctr2" id="i4">5</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a7"><a href="JwtUtil.java.html#L58" class="el_method">getJwtClaimsFromAccessToken(String)</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="33" height="10" title="13" alt="13"/></td><td class="ctr2" id="c5">0%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">1</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">4</td><td class="ctr2" id="i5">4</td><td class="ctr1" id="j5">1</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a8"><a href="JwtUtil.java.html#L70" class="el_method">getJwtClaimsFromRefreshToken(String)</a></td><td class="bar" id="b6"><img src="../jacoco-resources/redbar.gif" width="33" height="10" title="13" alt="13"/></td><td class="ctr2" id="c6">0%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">1</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h6">4</td><td class="ctr2" id="i6">4</td><td class="ctr1" id="j6">1</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a10"><a href="JwtUtil.java.html#L35" class="el_method">lambda$extractAccessToken$1(String)</a></td><td class="bar" id="b7"><img src="../jacoco-resources/redbar.gif" width="22" height="10" title="9" alt="9"/></td><td class="ctr2" id="c7">0%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">1</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h7">1</td><td class="ctr2" id="i7">1</td><td class="ctr1" id="j7">1</td><td class="ctr2" id="k7">1</td></tr><tr><td id="a5"><a href="JwtUtil.java.html#L40" class="el_method">extractRefreshToken(HttpServletRequest)</a></td><td class="bar" id="b8"><img src="../jacoco-resources/redbar.gif" width="17" height="10" title="7" alt="7"/></td><td class="ctr2" id="c8">0%</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f8">1</td><td class="ctr2" id="g8">1</td><td class="ctr1" id="h8">1</td><td class="ctr2" id="i8">1</td><td class="ctr1" id="j8">1</td><td class="ctr2" id="k8">1</td></tr><tr><td id="a0"><a href="JwtUtil.java.html#L45" class="el_method">createAccessToken(JwtClaimsDto)</a></td><td class="bar" id="b9"><img src="../jacoco-resources/redbar.gif" width="17" height="10" title="7" alt="7"/></td><td class="ctr2" id="c9">0%</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f9">1</td><td class="ctr2" id="g9">1</td><td class="ctr1" id="h9">1</td><td class="ctr2" id="i9">1</td><td class="ctr1" id="j9">1</td><td class="ctr2" id="k9">1</td></tr><tr><td id="a1"><a href="JwtUtil.java.html#L50" class="el_method">createRefreshToken(JwtClaimsDto)</a></td><td class="bar" id="b10"><img src="../jacoco-resources/redbar.gif" width="17" height="10" title="7" alt="7"/></td><td class="ctr2" id="c10">0%</td><td class="bar" id="d10"/><td class="ctr2" id="e10">n/a</td><td class="ctr1" id="f10">1</td><td class="ctr2" id="g10">1</td><td class="ctr1" id="h10">1</td><td class="ctr2" id="i10">1</td><td class="ctr1" id="j10">1</td><td class="ctr2" id="k10">1</td></tr><tr><td id="a9"><a href="JwtUtil.java.html#L34" class="el_method">lambda$extractAccessToken$0(String)</a></td><td class="bar" id="b11"><img src="../jacoco-resources/redbar.gif" width="15" height="10" title="6" alt="6"/></td><td class="ctr2" id="c11">0%</td><td class="bar" id="d11"/><td class="ctr2" id="e11">n/a</td><td class="ctr1" id="f11">1</td><td class="ctr2" id="g11">1</td><td class="ctr1" id="h11">1</td><td class="ctr2" id="i11">1</td><td class="ctr1" id="j11">1</td><td class="ctr2" id="k11">1</td></tr><tr><td id="a11"><a href="JwtUtil.java.html#L20" class="el_method">static {...}</a></td><td class="bar" id="b12"><img src="../jacoco-resources/redbar.gif" width="10" height="10" title="4" alt="4"/></td><td class="ctr2" id="c12">0%</td><td class="bar" id="d12"/><td class="ctr2" id="e12">n/a</td><td class="ctr1" id="f12">1</td><td class="ctr2" id="g12">1</td><td class="ctr1" id="h12">1</td><td class="ctr2" id="i12">1</td><td class="ctr1" id="j12">1</td><td class="ctr2" id="k12">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.util/JwtUtil.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.util/JwtUtil.java.html
    new file mode 100644
    index 00000000..f75b7de6
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.util/JwtUtil.java.html
    @@ -0,0 +1,151 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>JwtUtil.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.util</a> &gt; <span class="el_source">JwtUtil.java</span></div><h1>JwtUtil.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.util;
    +
    +import com.softeer.backend.global.common.code.status.ErrorStatus;
    +import com.softeer.backend.global.common.constant.RoleType;
    +import com.softeer.backend.global.common.dto.JwtClaimsDto;
    +import com.softeer.backend.global.common.exception.JwtAuthenticationException;
    +import com.softeer.backend.global.config.properties.JwtProperties;
    +import com.softeer.backend.global.common.dto.JwtTokenResponseDto;
    +import io.jsonwebtoken.*;
    +import jakarta.servlet.http.HttpServletRequest;
    +import lombok.RequiredArgsConstructor;
    +import lombok.extern.slf4j.Slf4j;
    +import org.springframework.stereotype.Component;
    +import org.springframework.util.StringUtils;
    +
    +import java.time.LocalDateTime;
    +import java.util.Date;
    +import java.util.Optional;
    +
    +<span class="nc" id="L20">@Slf4j</span>
    +@RequiredArgsConstructor
    +@Component
    +public class JwtUtil {
    +    private final JwtProperties jwtProperties;
    +    private final StringRedisUtil stringRedisUtil;
    +
    +    // HttpServletRequest 부터 Access Token 추출
    +    public Optional&lt;String&gt; extractAccessToken(HttpServletRequest request) {
    +
    +<span class="nc" id="L30">        log.info(&quot;Authorization 헤더: {}&quot;, request.getHeader(&quot;Authorization&quot;));</span>
    +
    +<span class="nc" id="L32">        return Optional.ofNullable(request.getHeader(jwtProperties.getAccessHeader()))</span>
    +<span class="nc" id="L33">                .filter(StringUtils::hasText)</span>
    +<span class="nc" id="L34">                .filter(accessToken -&gt; accessToken.startsWith(jwtProperties.getBearer()))</span>
    +<span class="nc" id="L35">                .map(accessToken -&gt; accessToken.substring(jwtProperties.getBearer().length() + 1));</span>
    +    }
    +
    +    // HttpServletRequest 부터 Refresh Token 추출
    +    public Optional&lt;String&gt; extractRefreshToken(HttpServletRequest request) {
    +<span class="nc" id="L40">        return Optional.ofNullable(request.getHeader(jwtProperties.getRefreshHeader()));</span>
    +    }
    +
    +    // access token 생성
    +    public String createAccessToken(JwtClaimsDto jwtClaimsDto) {
    +<span class="nc" id="L45">        return this.createToken(jwtClaimsDto, jwtProperties.getAccessExpiration());</span>
    +    }
    +
    +    // refresh token 생성
    +    public String createRefreshToken(JwtClaimsDto jwtClaimsDto) {
    +<span class="nc" id="L50">        return this.createToken(jwtClaimsDto, jwtProperties.getRefreshExpiration());</span>
    +
    +    }
    +
    +    // access token 으로부터 jwt claim 정보 추출
    +    public JwtClaimsDto getJwtClaimsFromAccessToken(String token) {
    +        try {
    +
    +<span class="nc" id="L58">            return getAuthInfoFromToken(token);</span>
    +
    +<span class="nc" id="L60">        } catch (Exception exception) {</span>
    +<span class="nc" id="L61">            log.error(&quot;Access Token is invalid.&quot;);</span>
    +<span class="nc" id="L62">            throw new JwtAuthenticationException(ErrorStatus._UNAUTHORIZED);</span>
    +        }
    +    }
    +
    +    // refresh token 으로부터 jwt claim 정보 추출
    +    public JwtClaimsDto getJwtClaimsFromRefreshToken(String token) {
    +        try {
    +
    +<span class="nc" id="L70">            return getAuthInfoFromToken(token);</span>
    +
    +<span class="nc" id="L72">        } catch (Exception exception) {</span>
    +<span class="nc" id="L73">            log.error(&quot;JWT Refresh Token is invalid during the '/reissue' process.&quot;);</span>
    +<span class="nc" id="L74">            throw new JwtAuthenticationException(ErrorStatus._REISSUE_ERROR);</span>
    +        }
    +    }
    +
    +    // Jwt Token 에서 claim 정보를 파싱하여 반환하는 메서드
    +    private JwtClaimsDto getAuthInfoFromToken(String token) {
    +<span class="nc" id="L80">        Claims claims = Jwts.parser()</span>
    +<span class="nc" id="L81">                .setSigningKey(jwtProperties.getSecret())</span>
    +<span class="nc" id="L82">                .parseClaimsJws(token)</span>
    +<span class="nc" id="L83">                .getBody();</span>
    +
    +<span class="nc" id="L85">        int id = claims.get(&quot;id&quot;, Integer.class);</span>
    +<span class="nc" id="L86">        RoleType roleType = RoleType.valueOf(claims.get(&quot;roleType&quot;, String.class));</span>
    +
    +<span class="nc" id="L88">        return JwtClaimsDto.builder()</span>
    +<span class="nc" id="L89">                .id(id)</span>
    +<span class="nc" id="L90">                .roleType(roleType)</span>
    +<span class="nc" id="L91">                .build();</span>
    +    }
    +
    +    // 전화번호 로그인 및 admin 로그인 시 jwt 응답 생성 + redis refresh 저장
    +    public JwtTokenResponseDto createServiceToken(JwtClaimsDto jwtClaimsDto) {
    +<span class="nc" id="L96">        stringRedisUtil.deleteData(stringRedisUtil.getRedisKeyForJwt(jwtClaimsDto));</span>
    +<span class="nc" id="L97">        String accessToken = createAccessToken(jwtClaimsDto);</span>
    +<span class="nc" id="L98">        String refreshToken = createRefreshToken(jwtClaimsDto);</span>
    +
    +        // 서비스 토큰 생성
    +<span class="nc" id="L101">        JwtTokenResponseDto jwtTokenResponseDto = JwtTokenResponseDto.builder()</span>
    +<span class="nc" id="L102">                .accessToken(accessToken)</span>
    +<span class="nc" id="L103">                .refreshToken(refreshToken)</span>
    +<span class="nc" id="L104">                .expiredTime(LocalDateTime.now().plusSeconds(jwtProperties.getAccessExpiration() / 1000))</span>
    +<span class="nc" id="L105">                .build();</span>
    +
    +        // redis refresh token 저장
    +<span class="nc" id="L108">        stringRedisUtil.setDataExpire(stringRedisUtil.getRedisKeyForJwt(jwtClaimsDto),</span>
    +<span class="nc" id="L109">                jwtTokenResponseDto.getRefreshToken(), jwtProperties.getRefreshExpiration());</span>
    +
    +<span class="nc" id="L111">        return jwtTokenResponseDto;</span>
    +    }
    +
    +    // token 유효성 검증
    +    public boolean validateToken(String token) {
    +        try {
    +<span class="nc" id="L117">            Jws&lt;Claims&gt; claimsJws = Jwts.parser()</span>
    +<span class="nc" id="L118">                    .setSigningKey(jwtProperties.getSecret())</span>
    +<span class="nc" id="L119">                    .parseClaimsJws(token);</span>
    +<span class="nc bnc" id="L120" title="All 2 branches missed.">            return !claimsJws.getBody().getExpiration().before(new Date());</span>
    +<span class="nc" id="L121">        } catch (ExpiredJwtException exception) {</span>
    +<span class="nc" id="L122">            log.warn(&quot;만료된 jwt 입니다.&quot;);</span>
    +<span class="nc" id="L123">        } catch (UnsupportedJwtException exception) {</span>
    +<span class="nc" id="L124">            log.warn(&quot;지원되지 않는 jwt 입니다.&quot;);</span>
    +<span class="nc" id="L125">        } catch (IllegalArgumentException exception) {</span>
    +<span class="nc" id="L126">            log.warn(&quot;token에 값이 없습니다.&quot;);</span>
    +<span class="nc" id="L127">        } catch (SignatureException exception) {</span>
    +<span class="nc" id="L128">            log.warn(&quot;signature에 오류가 존재합니다.&quot;);</span>
    +<span class="nc" id="L129">        } catch (MalformedJwtException exception) {</span>
    +<span class="nc" id="L130">            log.warn(&quot;jwt가 유효하지 않습니다.&quot;);</span>
    +<span class="nc" id="L131">        }</span>
    +<span class="nc" id="L132">        return false;</span>
    +    }
    +
    +    // 실제 token 생성 로직
    +    private String createToken(JwtClaimsDto jwtClaimsDto, Long tokenExpiration) {
    +<span class="nc" id="L137">        Claims claims = Jwts.claims();</span>
    +<span class="nc" id="L138">        claims.put(&quot;id&quot;, jwtClaimsDto.getId());</span>
    +<span class="nc" id="L139">        claims.put(&quot;roleType&quot;, jwtClaimsDto.getRoleType().name());</span>
    +<span class="nc" id="L140">        Date tokenExpiresIn = new Date(new Date().getTime() + tokenExpiration);</span>
    +
    +<span class="nc" id="L142">        return Jwts.builder()</span>
    +<span class="nc" id="L143">                .setClaims(claims)</span>
    +<span class="nc" id="L144">                .setIssuedAt(new Date())</span>
    +<span class="nc" id="L145">                .setExpiration(tokenExpiresIn)</span>
    +<span class="nc" id="L146">                .signWith(SignatureAlgorithm.HS512, jwtProperties.getSecret())</span>
    +<span class="nc" id="L147">                .compact();</span>
    +    }
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.util/RandomCodeUtil.html b/jacoco/jacocoHtml/com.softeer.backend.global.util/RandomCodeUtil.html
    new file mode 100644
    index 00000000..a57f1271
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.util/RandomCodeUtil.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>RandomCodeUtil</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.util</a> &gt; <span class="el_class">RandomCodeUtil</span></div><h1>RandomCodeUtil</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">31 of 31</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">6</td><td class="ctr2">6</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="RandomCodeUtil.java.html#L16" class="el_method">generateRandomCode(int)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="23" alt="23"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">4</td><td class="ctr2" id="i0">4</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="RandomCodeUtil.java.html#L12" class="el_method">static {...}</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="41" height="10" title="8" alt="8"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.util/RandomCodeUtil.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.util/RandomCodeUtil.java.html
    new file mode 100644
    index 00000000..cf934190
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.util/RandomCodeUtil.java.html
    @@ -0,0 +1,24 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>RandomCodeUtil.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.util</a> &gt; <span class="el_source">RandomCodeUtil.java</span></div><h1>RandomCodeUtil.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.util;
    +
    +import java.security.SecureRandom;
    +
    +import lombok.RequiredArgsConstructor;
    +import org.springframework.stereotype.Component;
    +
    +@Component
    +@RequiredArgsConstructor
    +public class RandomCodeUtil {
    +    private static final String CHARACTERS = &quot;0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ&quot;;
    +<span class="nc" id="L12">    private static final int CHARACTERS_LENGTH = CHARACTERS.length();</span>
    +<span class="nc" id="L13">    private static final SecureRandom random = new SecureRandom();</span>
    +
    +    public String generateRandomCode(int codeLength) {
    +<span class="nc" id="L16">        StringBuilder code = new StringBuilder(codeLength);</span>
    +<span class="nc bnc" id="L17" title="All 2 branches missed.">        for (int i = 0; i &lt; codeLength; i++) {</span>
    +<span class="nc" id="L18">            code.append(CHARACTERS.charAt(random.nextInt(CHARACTERS_LENGTH)));</span>
    +        }
    +
    +<span class="nc" id="L21">        return code.toString();</span>
    +    }
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.util/SpringELParser.html b/jacoco/jacocoHtml/com.softeer.backend.global.util/SpringELParser.html
    new file mode 100644
    index 00000000..e54e231a
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.util/SpringELParser.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>SpringELParser</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.util</a> &gt; <span class="el_class">SpringELParser</span></div><h1>SpringELParser</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">34 of 34</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="SpringELParser.java.html#L13" class="el_method">getDynamicValue(String[], Object[], String)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="34" alt="34"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">5</td><td class="ctr2" id="i0">5</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.util/SpringELParser.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.util/SpringELParser.java.html
    new file mode 100644
    index 00000000..fbc2a692
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.util/SpringELParser.java.html
    @@ -0,0 +1,23 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>SpringELParser.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.util</a> &gt; <span class="el_source">SpringELParser.java</span></div><h1>SpringELParser.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.util;
    +
    +import org.springframework.expression.ExpressionParser;
    +import org.springframework.expression.common.TemplateParserContext;
    +import org.springframework.expression.spel.standard.SpelExpressionParser;
    +import org.springframework.expression.spel.support.StandardEvaluationContext;
    +
    +public class SpringELParser {
    +    private SpringELParser() {
    +    }
    +
    +    public static Object getDynamicValue(String[] parameterNames, Object[] args, String key) {
    +<span class="nc" id="L13">        ExpressionParser parser = new SpelExpressionParser();</span>
    +<span class="nc" id="L14">        StandardEvaluationContext context = new StandardEvaluationContext();</span>
    +
    +<span class="nc bnc" id="L16" title="All 2 branches missed.">        for (int i = 0; i &lt; parameterNames.length; i++) {</span>
    +<span class="nc" id="L17">            context.setVariable(parameterNames[i], args[i]);</span>
    +        }
    +
    +<span class="nc" id="L20">        return parser.parseExpression(key, new TemplateParserContext()).getValue(context, Object.class);</span>
    +    }
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.util/StringRedisUtil.html b/jacoco/jacocoHtml/com.softeer.backend.global.util/StringRedisUtil.html
    new file mode 100644
    index 00000000..4f51439c
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.util/StringRedisUtil.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>StringRedisUtil</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.util</a> &gt; <span class="el_class">StringRedisUtil</span></div><h1>StringRedisUtil</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">90 of 90</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">11</td><td class="ctr2">11</td><td class="ctr1">24</td><td class="ctr2">24</td><td class="ctr1">11</td><td class="ctr2">11</td></tr></tfoot><tbody><tr><td id="a9"><a href="StringRedisUtil.java.html#L54" class="el_method">setDataExpireAt(String, String, LocalDateTime)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="13" alt="13"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">4</td><td class="ctr2" id="i0">4</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a3"><a href="StringRedisUtil.java.html#L80" class="el_method">getRedisKeyForJwt(JwtClaimsDto)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="110" height="10" title="12" alt="12"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">3</td><td class="ctr2" id="i1">3</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a10"><a href="StringRedisUtil.java.html#L47" class="el_method">setExpire(String, Long)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="101" height="10" title="11" alt="11"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">3</td><td class="ctr2" id="i2">3</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a8"><a href="StringRedisUtil.java.html#L41" class="el_method">setDataExpire(String, String, long)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="92" height="10" title="10" alt="10"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">3</td><td class="ctr2" id="i3">3</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a6"><a href="StringRedisUtil.java.html#L64" class="el_method">incrementData(String)</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="83" height="10" title="9" alt="9"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">2</td><td class="ctr2" id="i4">2</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a5"><a href="StringRedisUtil.java.html#L21" class="el_method">hasKey(String)</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="64" height="10" title="7" alt="7"/></td><td class="ctr2" id="c5">0%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">1</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h8">1</td><td class="ctr2" id="i8">1</td><td class="ctr1" id="j5">1</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a2"><a href="StringRedisUtil.java.html#L26" class="el_method">getData(String)</a></td><td class="bar" id="b6"><img src="../jacoco-resources/redbar.gif" width="55" height="10" title="6" alt="6"/></td><td class="ctr2" id="c6">0%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">1</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h9">1</td><td class="ctr2" id="i9">1</td><td class="ctr1" id="j6">1</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a7"><a href="StringRedisUtil.java.html#L31" class="el_method">setData(String, String)</a></td><td class="bar" id="b7"><img src="../jacoco-resources/redbar.gif" width="55" height="10" title="6" alt="6"/></td><td class="ctr2" id="c7">0%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">1</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h5">2</td><td class="ctr2" id="i5">2</td><td class="ctr1" id="j7">1</td><td class="ctr2" id="k7">1</td></tr><tr><td id="a0"><a href="StringRedisUtil.java.html#L36" class="el_method">deleteData(String)</a></td><td class="bar" id="b8"><img src="../jacoco-resources/redbar.gif" width="55" height="10" title="6" alt="6"/></td><td class="ctr2" id="c8">0%</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f8">1</td><td class="ctr2" id="g8">1</td><td class="ctr1" id="h6">2</td><td class="ctr2" id="i6">2</td><td class="ctr1" id="j8">1</td><td class="ctr2" id="k8">1</td></tr><tr><td id="a1"><a href="StringRedisUtil.java.html#L89" class="el_method">deleteRefreshToken(JwtClaimsDto)</a></td><td class="bar" id="b9"><img src="../jacoco-resources/redbar.gif" width="55" height="10" title="6" alt="6"/></td><td class="ctr2" id="c9">0%</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f9">1</td><td class="ctr2" id="g9">1</td><td class="ctr1" id="h7">2</td><td class="ctr2" id="i7">2</td><td class="ctr1" id="j9">1</td><td class="ctr2" id="k9">1</td></tr><tr><td id="a4"><a href="StringRedisUtil.java.html#L69" class="el_method">getStringStringValueOperations()</a></td><td class="bar" id="b10"><img src="../jacoco-resources/redbar.gif" width="36" height="10" title="4" alt="4"/></td><td class="ctr2" id="c10">0%</td><td class="bar" id="d10"/><td class="ctr2" id="e10">n/a</td><td class="ctr1" id="f10">1</td><td class="ctr2" id="g10">1</td><td class="ctr1" id="h10">1</td><td class="ctr2" id="i10">1</td><td class="ctr1" id="j10">1</td><td class="ctr2" id="k10">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.util/StringRedisUtil.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.util/StringRedisUtil.java.html
    new file mode 100644
    index 00000000..69945d6a
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.util/StringRedisUtil.java.html
    @@ -0,0 +1,93 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>StringRedisUtil.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.util</a> &gt; <span class="el_source">StringRedisUtil.java</span></div><h1>StringRedisUtil.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.util;
    +
    +import com.softeer.backend.global.common.constant.RoleType;
    +import com.softeer.backend.global.common.dto.JwtClaimsDto;
    +import lombok.RequiredArgsConstructor;
    +import org.springframework.data.redis.core.StringRedisTemplate;
    +import org.springframework.data.redis.core.ValueOperations;
    +import org.springframework.stereotype.Component;
    +
    +import java.time.Duration;
    +import java.time.LocalDateTime;
    +import java.time.temporal.ChronoUnit;
    +
    +@Component
    +@RequiredArgsConstructor
    +public class StringRedisUtil {
    +    private final StringRedisTemplate stringRedisTemplate;
    +
    +    // 특정 키에 대한 값이 있는지 확인
    +    public boolean hasKey(String key) {
    +<span class="nc" id="L21">        return Boolean.TRUE.equals(stringRedisTemplate.hasKey(key));</span>
    +    }
    +
    +    // key 에 해당하는 데이터 얻어오는 메서드
    +    public String getData(String key) {
    +<span class="nc" id="L26">        return getStringStringValueOperations().get(key);</span>
    +    }
    +
    +    // key - value 데이터 설정하는 메서드
    +    public void setData(String key, String value) {
    +<span class="nc" id="L31">        getStringStringValueOperations().set(key, value);</span>
    +<span class="nc" id="L32">    }</span>
    +
    +    /* key 에 해당하는 데이터 삭제하는 메서드 */
    +    public void deleteData(String key) {
    +<span class="nc" id="L36">        this.stringRedisTemplate.delete(key);</span>
    +<span class="nc" id="L37">    }</span>
    +
    +    /* key 에 해당하는 데이터 만료기간 설정 메서드 */
    +    public void setDataExpire(String key, String value, long duration) {
    +<span class="nc" id="L41">        Duration expireDuration = Duration.ofSeconds(duration);</span>
    +<span class="nc" id="L42">        getStringStringValueOperations().set(key, value, expireDuration);</span>
    +<span class="nc" id="L43">    }</span>
    +
    +    // Redis에 저장되어 있는 값에 ttl을 설정하는 메서드
    +    public void setExpire(String key, Long duration) {
    +<span class="nc" id="L47">        Duration expireDuration = Duration.ofSeconds(duration);</span>
    +<span class="nc" id="L48">        stringRedisTemplate.expire(key, expireDuration);</span>
    +<span class="nc" id="L49">    }</span>
    +
    +    // 특정 시간까지 데이터가 유지되도록 설정하는 메서드
    +    public void setDataExpireAt(String key, String value, LocalDateTime expiryTime) {
    +        // 현재 시간을 가져옴
    +<span class="nc" id="L54">        LocalDateTime now = LocalDateTime.now();</span>
    +
    +        // 현재 시간과 특정 시간 사이의 차이를 계산
    +<span class="nc" id="L57">        long secondsUntilExpiry = ChronoUnit.SECONDS.between(now, expiryTime);</span>
    +
    +        // 데이터 설정 및 만료 시간 설정
    +<span class="nc" id="L60">        setDataExpire(key, value, secondsUntilExpiry);</span>
    +<span class="nc" id="L61">    }</span>
    +
    +    public long incrementData(String key) {
    +<span class="nc" id="L64">        ValueOperations&lt;String, String&gt; valueOperations = getStringStringValueOperations();</span>
    +<span class="nc" id="L65">        return valueOperations.increment(key, 1); // 증가된 값을 반환</span>
    +    }
    +
    +    private ValueOperations&lt;String, String&gt; getStringStringValueOperations() {
    +<span class="nc" id="L69">        return this.stringRedisTemplate.opsForValue();</span>
    +    }
    +
    +    /**
    +     * Refresh Token을 redis에 저장할 때, 접두사를 붙여서 redis key를 반환하는 메서드
    +     *
    +     * @param jwtClaimsDto JWT의 claim 정보
    +     * @return 일반 유저는 &quot;USER_{id값}&quot;, 어드민 유저는 &quot;ADMIN_{id값}&quot;
    +     */
    +    public String getRedisKeyForJwt(JwtClaimsDto jwtClaimsDto) {
    +
    +<span class="nc" id="L80">        String id = String.valueOf(jwtClaimsDto.getId());</span>
    +<span class="nc" id="L81">        RoleType roleType = jwtClaimsDto.getRoleType();</span>
    +
    +<span class="nc" id="L83">        return roleType.getRedisKeyPrefix() + id;</span>
    +    }
    +
    +    // redis에 저장된 Refresh Token을 삭제하는 메서드
    +    public void deleteRefreshToken(JwtClaimsDto jwtClaimsDto) {
    +
    +<span class="nc" id="L89">        deleteData(getRedisKeyForJwt(jwtClaimsDto));</span>
    +<span class="nc" id="L90">    }</span>
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.util/index.html b/jacoco/jacocoHtml/com.softeer.backend.global.util/index.html
    new file mode 100644
    index 00000000..0451a0e7
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.util/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.util</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.util</span></div><h1>com.softeer.backend.global.util</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">728 of 728</td><td class="ctr2">0%</td><td class="bar">14 of 14</td><td class="ctr2">0%</td><td class="ctr1">68</td><td class="ctr2">68</td><td class="ctr1">169</td><td class="ctr2">169</td><td class="ctr1">61</td><td class="ctr2">61</td><td class="ctr1">7</td><td class="ctr2">7</td></tr></tfoot><tbody><tr><td id="a3"><a href="JwtUtil.html" class="el_class">JwtUtil</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="254" alt="254"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="40" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">14</td><td class="ctr2" id="g0">14</td><td class="ctr1" id="h0">64</td><td class="ctr2" id="i0">64</td><td class="ctr1" id="j0">13</td><td class="ctr2" id="k0">13</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a2"><a href="FcfsRedisUtil.html" class="el_class">FcfsRedisUtil</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="62" height="10" title="133" alt="133"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d2"><img src="../jacoco-resources/redbar.gif" width="40" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f1">14</td><td class="ctr2" id="g1">14</td><td class="ctr1" id="h1">28</td><td class="ctr2" id="i1">28</td><td class="ctr1" id="j1">13</td><td class="ctr2" id="k1">13</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a0"><a href="DrawRedisUtil.html" class="el_class">DrawRedisUtil</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="47" height="10" title="101" alt="101"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="6" alt="6"/></td><td class="ctr2" id="e2">0%</td><td class="ctr1" id="f2">12</td><td class="ctr2" id="g2">12</td><td class="ctr1" id="h3">23</td><td class="ctr2" id="i3">23</td><td class="ctr1" id="j4">9</td><td class="ctr2" id="k4">9</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a6"><a href="StringRedisUtil.html" class="el_class">StringRedisUtil</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="42" height="10" title="90" alt="90"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f4">11</td><td class="ctr2" id="g4">11</td><td class="ctr1" id="h2">24</td><td class="ctr2" id="i2">24</td><td class="ctr1" id="j3">11</td><td class="ctr2" id="k3">11</td><td class="ctr1" id="l3">1</td><td class="ctr2" id="m3">1</td></tr><tr><td id="a1"><a href="EventLockRedisUtil.html" class="el_class">EventLockRedisUtil</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="40" height="10" title="85" alt="85"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f3">12</td><td class="ctr2" id="g3">12</td><td class="ctr1" id="h4">19</td><td class="ctr2" id="i4">19</td><td class="ctr1" id="j2">12</td><td class="ctr2" id="k2">12</td><td class="ctr1" id="l4">1</td><td class="ctr2" id="m4">1</td></tr><tr><td id="a5"><a href="SpringELParser.html" class="el_class">SpringELParser</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="16" height="10" title="34" alt="34"/></td><td class="ctr2" id="c5">0%</td><td class="bar" id="d3"><img src="../jacoco-resources/redbar.gif" width="40" height="10" title="2" alt="2"/></td><td class="ctr2" id="e3">0%</td><td class="ctr1" id="f6">2</td><td class="ctr2" id="g6">2</td><td class="ctr1" id="h6">5</td><td class="ctr2" id="i6">5</td><td class="ctr1" id="j6">1</td><td class="ctr2" id="k6">1</td><td class="ctr1" id="l5">1</td><td class="ctr2" id="m5">1</td></tr><tr><td id="a4"><a href="RandomCodeUtil.html" class="el_class">RandomCodeUtil</a></td><td class="bar" id="b6"><img src="../jacoco-resources/redbar.gif" width="14" height="10" title="31" alt="31"/></td><td class="ctr2" id="c6">0%</td><td class="bar" id="d4"><img src="../jacoco-resources/redbar.gif" width="40" height="10" title="2" alt="2"/></td><td class="ctr2" id="e4">0%</td><td class="ctr1" id="f5">3</td><td class="ctr2" id="g5">3</td><td class="ctr1" id="h5">6</td><td class="ctr2" id="i5">6</td><td class="ctr1" id="j5">2</td><td class="ctr2" id="k5">2</td><td class="ctr1" id="l6">1</td><td class="ctr2" id="m6">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.util/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.global.util/index.source.html
    new file mode 100644
    index 00000000..b31889a7
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend.global.util/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.util</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.util</span></div><h1>com.softeer.backend.global.util</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">728 of 728</td><td class="ctr2">0%</td><td class="bar">14 of 14</td><td class="ctr2">0%</td><td class="ctr1">68</td><td class="ctr2">68</td><td class="ctr1">169</td><td class="ctr2">169</td><td class="ctr1">61</td><td class="ctr2">61</td><td class="ctr1">7</td><td class="ctr2">7</td></tr></tfoot><tbody><tr><td id="a3"><a href="JwtUtil.java.html" class="el_source">JwtUtil.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="254" alt="254"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="40" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">14</td><td class="ctr2" id="g0">14</td><td class="ctr1" id="h0">64</td><td class="ctr2" id="i0">64</td><td class="ctr1" id="j0">13</td><td class="ctr2" id="k0">13</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a2"><a href="FcfsRedisUtil.java.html" class="el_source">FcfsRedisUtil.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="62" height="10" title="133" alt="133"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d2"><img src="../jacoco-resources/redbar.gif" width="40" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f1">14</td><td class="ctr2" id="g1">14</td><td class="ctr1" id="h1">28</td><td class="ctr2" id="i1">28</td><td class="ctr1" id="j1">13</td><td class="ctr2" id="k1">13</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a0"><a href="DrawRedisUtil.java.html" class="el_source">DrawRedisUtil.java</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="47" height="10" title="101" alt="101"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="6" alt="6"/></td><td class="ctr2" id="e2">0%</td><td class="ctr1" id="f2">12</td><td class="ctr2" id="g2">12</td><td class="ctr1" id="h3">23</td><td class="ctr2" id="i3">23</td><td class="ctr1" id="j4">9</td><td class="ctr2" id="k4">9</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a6"><a href="StringRedisUtil.java.html" class="el_source">StringRedisUtil.java</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="42" height="10" title="90" alt="90"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f4">11</td><td class="ctr2" id="g4">11</td><td class="ctr1" id="h2">24</td><td class="ctr2" id="i2">24</td><td class="ctr1" id="j3">11</td><td class="ctr2" id="k3">11</td><td class="ctr1" id="l3">1</td><td class="ctr2" id="m3">1</td></tr><tr><td id="a1"><a href="EventLockRedisUtil.java.html" class="el_source">EventLockRedisUtil.java</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="40" height="10" title="85" alt="85"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f3">12</td><td class="ctr2" id="g3">12</td><td class="ctr1" id="h4">19</td><td class="ctr2" id="i4">19</td><td class="ctr1" id="j2">12</td><td class="ctr2" id="k2">12</td><td class="ctr1" id="l4">1</td><td class="ctr2" id="m4">1</td></tr><tr><td id="a5"><a href="SpringELParser.java.html" class="el_source">SpringELParser.java</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="16" height="10" title="34" alt="34"/></td><td class="ctr2" id="c5">0%</td><td class="bar" id="d3"><img src="../jacoco-resources/redbar.gif" width="40" height="10" title="2" alt="2"/></td><td class="ctr2" id="e3">0%</td><td class="ctr1" id="f6">2</td><td class="ctr2" id="g6">2</td><td class="ctr1" id="h6">5</td><td class="ctr2" id="i6">5</td><td class="ctr1" id="j6">1</td><td class="ctr2" id="k6">1</td><td class="ctr1" id="l5">1</td><td class="ctr2" id="m5">1</td></tr><tr><td id="a4"><a href="RandomCodeUtil.java.html" class="el_source">RandomCodeUtil.java</a></td><td class="bar" id="b6"><img src="../jacoco-resources/redbar.gif" width="14" height="10" title="31" alt="31"/></td><td class="ctr2" id="c6">0%</td><td class="bar" id="d4"><img src="../jacoco-resources/redbar.gif" width="40" height="10" title="2" alt="2"/></td><td class="ctr2" id="e4">0%</td><td class="ctr1" id="f5">3</td><td class="ctr2" id="g5">3</td><td class="ctr1" id="h5">6</td><td class="ctr2" id="i5">6</td><td class="ctr1" id="j5">2</td><td class="ctr2" id="k5">2</td><td class="ctr1" id="l6">1</td><td class="ctr2" id="m6">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend/BackendApplication.html b/jacoco/jacocoHtml/com.softeer.backend/BackendApplication.html
    new file mode 100644
    index 00000000..72a97e09
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend/BackendApplication.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>BackendApplication</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend</a> &gt; <span class="el_class">BackendApplication</span></div><h1>BackendApplication</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">8 of 8</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="BackendApplication.java.html#L17" class="el_method">main(String[])</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="5" alt="5"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="BackendApplication.java.html#L14" class="el_method">BackendApplication()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="72" height="10" title="3" alt="3"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend/BackendApplication.java.html b/jacoco/jacocoHtml/com.softeer.backend/BackendApplication.java.html
    new file mode 100644
    index 00000000..c044257e
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend/BackendApplication.java.html
    @@ -0,0 +1,21 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>BackendApplication.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend</a> &gt; <span class="el_source">BackendApplication.java</span></div><h1>BackendApplication.java</h1><pre class="source lang-java linenums">package com.softeer.backend;
    +
    +import org.springframework.boot.SpringApplication;
    +import org.springframework.boot.autoconfigure.SpringBootApplication;
    +import org.springframework.boot.context.properties.ConfigurationPropertiesScan;
    +import org.springframework.cache.annotation.EnableCaching;
    +import org.springframework.data.jpa.repository.config.EnableJpaAuditing;
    +import org.springframework.scheduling.annotation.EnableScheduling;
    +
    +@SpringBootApplication
    +@EnableJpaAuditing
    +@EnableScheduling
    +@ConfigurationPropertiesScan
    +<span class="nc" id="L14">public class BackendApplication {</span>
    +
    +    public static void main(String[] args) {
    +<span class="nc" id="L17">        SpringApplication.run(BackendApplication.class, args);</span>
    +<span class="nc" id="L18">    }</span>
    +
    +}
    +</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend/index.html b/jacoco/jacocoHtml/com.softeer.backend/index.html
    new file mode 100644
    index 00000000..c6dbdfa6
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend</span></div><h1>com.softeer.backend</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">8 of 8</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="BackendApplication.html" class="el_class">BackendApplication</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="8" alt="8"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">3</td><td class="ctr2" id="i0">3</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend/index.source.html b/jacoco/jacocoHtml/com.softeer.backend/index.source.html
    new file mode 100644
    index 00000000..321e7f06
    --- /dev/null
    +++ b/jacoco/jacocoHtml/com.softeer.backend/index.source.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend</span></div><h1>com.softeer.backend</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">8 of 8</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="BackendApplication.java.html" class="el_source">BackendApplication.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="8" alt="8"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">3</td><td class="ctr2" id="i0">3</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/index.html b/jacoco/jacocoHtml/index.html
    new file mode 100644
    index 00000000..9556d9df
    --- /dev/null
    +++ b/jacoco/jacocoHtml/index.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="jacoco-resources/report.gif" type="image/gif"/><title>backend</title><script type="text/javascript" src="jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="jacoco-sessions.html" class="el_session">Sessions</a></span><span class="el_report">backend</span></div><h1>backend</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">7,350 of 7,556</td><td class="ctr2">2%</td><td class="bar">288 of 304</td><td class="ctr2">5%</td><td class="ctr1">510</td><td class="ctr2">522</td><td class="ctr1">1,704</td><td class="ctr2">1,755</td><td class="ctr1">363</td><td class="ctr2">367</td><td class="ctr1">94</td><td class="ctr2">96</td></tr></tfoot><tbody><tr><td id="a27"><a href="com.softeer.backend.fo_domain.fcfs.service/index.html" class="el_package">com.softeer.backend.fo_domain.fcfs.service</a></td><td class="bar" id="b0"><img src="jacoco-resources/redbar.gif" width="120" height="10" title="750" alt="750"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d0"><img src="jacoco-resources/redbar.gif" width="120" height="10" title="54" alt="54"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f1">55</td><td class="ctr2" id="g1">55</td><td class="ctr1" id="h1">165</td><td class="ctr2" id="i1">165</td><td class="ctr1" id="j1">28</td><td class="ctr2" id="k1">28</td><td class="ctr1" id="l5">3</td><td class="ctr2" id="m5">3</td></tr><tr><td id="a56"><a href="com.softeer.backend.global.util/index.html" class="el_package">com.softeer.backend.global.util</a></td><td class="bar" id="b1"><img src="jacoco-resources/redbar.gif" width="116" height="10" title="728" alt="728"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d7"><img src="jacoco-resources/redbar.gif" width="31" height="10" title="14" alt="14"/></td><td class="ctr2" id="e2">0%</td><td class="ctr1" id="f0">68</td><td class="ctr2" id="g0">68</td><td class="ctr1" id="h0">169</td><td class="ctr2" id="i0">169</td><td class="ctr1" id="j0">61</td><td class="ctr2" id="k0">61</td><td class="ctr1" id="l0">7</td><td class="ctr2" id="m0">7</td></tr><tr><td id="a54"><a href="com.softeer.backend.global.staticresources.constant/index.html" class="el_package">com.softeer.backend.global.staticresources.constant</a></td><td class="bar" id="b2"><img src="jacoco-resources/redbar.gif" width="99" height="10" title="624" alt="624"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d25"/><td class="ctr2" id="e25">n/a</td><td class="ctr1" id="f40">2</td><td class="ctr2" id="g40">2</td><td class="ctr1" id="h4">105</td><td class="ctr2" id="i4">105</td><td class="ctr1" id="j36">2</td><td class="ctr2" id="k36">2</td><td class="ctr1" id="l10">2</td><td class="ctr2" id="m10">2</td></tr><tr><td id="a23"><a href="com.softeer.backend.fo_domain.draw.util/index.html" class="el_package">com.softeer.backend.fo_domain.draw.util</a></td><td class="bar" id="b3"><img src="jacoco-resources/redbar.gif" width="82" height="10" title="515" alt="515"/></td><td class="ctr2" id="c5">0%</td><td class="bar" id="d1"><img src="jacoco-resources/redbar.gif" width="80" height="10" title="36" alt="36"/></td><td class="ctr2" id="e3">0%</td><td class="ctr1" id="f2">38</td><td class="ctr2" id="g2">38</td><td class="ctr1" id="h2">128</td><td class="ctr2" id="i2">128</td><td class="ctr1" id="j3">20</td><td class="ctr2" id="k3">20</td><td class="ctr1" id="l1">4</td><td class="ctr2" id="m1">4</td></tr><tr><td id="a29"><a href="com.softeer.backend.fo_domain.mainpage.service/index.html" class="el_package">com.softeer.backend.fo_domain.mainpage.service</a></td><td class="bar" id="b4"><img src="jacoco-resources/redbar.gif" width="80" height="10" title="500" alt="500"/></td><td class="ctr2" id="c6">0%</td><td class="bar" id="d12"><img src="jacoco-resources/redbar.gif" width="8" height="10" title="4" alt="4"/></td><td class="ctr2" id="e4">0%</td><td class="ctr1" id="f12">10</td><td class="ctr2" id="g13">10</td><td class="ctr1" id="h6">93</td><td class="ctr2" id="i6">93</td><td class="ctr1" id="j11">8</td><td class="ctr2" id="k12">8</td><td class="ctr1" id="l20">1</td><td class="ctr2" id="m21">1</td></tr><tr><td id="a38"><a href="com.softeer.backend.fo_domain.user.service/index.html" class="el_package">com.softeer.backend.fo_domain.user.service</a></td><td class="bar" id="b5"><img src="jacoco-resources/redbar.gif" width="77" height="10" title="485" alt="485"/></td><td class="ctr2" id="c7">0%</td><td class="bar" id="d3"><img src="jacoco-resources/redbar.gif" width="57" height="10" title="26" alt="26"/></td><td class="ctr2" id="e5">0%</td><td class="ctr1" id="f4">24</td><td class="ctr2" id="g4">24</td><td class="ctr1" id="h3">118</td><td class="ctr2" id="i3">118</td><td class="ctr1" id="j7">11</td><td class="ctr2" id="k7">11</td><td class="ctr1" id="l11">2</td><td class="ctr2" id="m11">2</td></tr><tr><td id="a52"><a href="com.softeer.backend.global.filter/index.html" class="el_package">com.softeer.backend.global.filter</a></td><td class="bar" id="b6"><img src="jacoco-resources/redbar.gif" width="64" height="10" title="403" alt="403"/></td><td class="ctr2" id="c8">0%</td><td class="bar" id="d4"><img src="jacoco-resources/redbar.gif" width="57" height="10" title="26" alt="26"/></td><td class="ctr2" id="e6">0%</td><td class="ctr1" id="f3">35</td><td class="ctr2" id="g3">35</td><td class="ctr1" id="h5">105</td><td class="ctr2" id="i5">105</td><td class="ctr1" id="j2">22</td><td class="ctr2" id="k2">22</td><td class="ctr1" id="l6">3</td><td class="ctr2" id="m6">3</td></tr><tr><td id="a53"><a href="com.softeer.backend.global.scheduler/index.html" class="el_package">com.softeer.backend.global.scheduler</a></td><td class="bar" id="b7"><img src="jacoco-resources/redbar.gif" width="51" height="10" title="319" alt="319"/></td><td class="ctr2" id="c9">0%</td><td class="bar" id="d5"><img src="jacoco-resources/redbar.gif" width="40" height="10" title="18" alt="18"/></td><td class="ctr2" id="e7">0%</td><td class="ctr1" id="f6">20</td><td class="ctr2" id="g6">20</td><td class="ctr1" id="h7">75</td><td class="ctr2" id="i7">75</td><td class="ctr1" id="j8">11</td><td class="ctr2" id="k8">11</td><td class="ctr1" id="l12">2</td><td class="ctr2" id="m12">2</td></tr><tr><td id="a8"><a href="com.softeer.backend.bo_domain.admin.service/index.html" class="el_package">com.softeer.backend.bo_domain.admin.service</a></td><td class="bar" id="b8"><img src="jacoco-resources/redbar.gif" width="50" height="10" title="314" alt="314"/></td><td class="ctr2" id="c10">0%</td><td class="bar" id="d13"><img src="jacoco-resources/redbar.gif" width="8" height="10" title="4" alt="4"/></td><td class="ctr2" id="e8">0%</td><td class="ctr1" id="f7">20</td><td class="ctr2" id="g7">20</td><td class="ctr1" id="h8">72</td><td class="ctr2" id="i8">72</td><td class="ctr1" id="j5">18</td><td class="ctr2" id="k5">18</td><td class="ctr1" id="l2">4</td><td class="ctr2" id="m2">4</td></tr><tr><td id="a43"><a href="com.softeer.backend.global.common.exception/index.html" class="el_package">com.softeer.backend.global.common.exception</a></td><td class="bar" id="b9"><img src="jacoco-resources/redbar.gif" width="35" height="10" title="219" alt="219"/></td><td class="ctr2" id="c11">0%</td><td class="bar" id="d17"><img src="jacoco-resources/redbar.gif" width="4" height="10" title="2" alt="2"/></td><td class="ctr2" id="e9">0%</td><td class="ctr1" id="f8">20</td><td class="ctr2" id="g8">20</td><td class="ctr1" id="h10">48</td><td class="ctr2" id="i11">48</td><td class="ctr1" id="j4">19</td><td class="ctr2" id="k4">19</td><td class="ctr1" id="l3">4</td><td class="ctr2" id="m3">4</td></tr><tr><td id="a51"><a href="com.softeer.backend.global.config.web/index.html" class="el_package">com.softeer.backend.global.config.web</a></td><td class="bar" id="b10"><img src="jacoco-resources/redbar.gif" width="32" height="10" title="206" alt="206"/></td><td class="ctr2" id="c12">0%</td><td class="bar" id="d26"/><td class="ctr2" id="e26">n/a</td><td class="ctr1" id="f16">7</td><td class="ctr2" id="g17">7</td><td class="ctr1" id="h13">33</td><td class="ctr2" id="i14">33</td><td class="ctr1" id="j12">7</td><td class="ctr2" id="k13">7</td><td class="ctr1" id="l21">1</td><td class="ctr2" id="m22">1</td></tr><tr><td id="a41"><a href="com.softeer.backend.global.common.code.status/index.html" class="el_package">com.softeer.backend.global.common.code.status</a></td><td class="bar" id="b11"><img src="jacoco-resources/redbar.gif" width="29" height="10" title="184" alt="184"/></td><td class="ctr2" id="c13">0%</td><td class="bar" id="d27"/><td class="ctr2" id="e27">n/a</td><td class="ctr1" id="f13">9</td><td class="ctr2" id="g14">9</td><td class="ctr1" id="h12">34</td><td class="ctr2" id="i13">34</td><td class="ctr1" id="j9">9</td><td class="ctr2" id="k9">9</td><td class="ctr1" id="l13">2</td><td class="ctr2" id="m13">2</td></tr><tr><td id="a5"><a href="com.softeer.backend.bo_domain.admin.dto.winner/index.html" class="el_package">com.softeer.backend.bo_domain.admin.dto.winner</a></td><td class="bar" id="b12"><img src="jacoco-resources/redbar.gif" width="22" height="10" title="143" alt="143"/></td><td class="ctr2" id="c14">0%</td><td class="bar" id="d28"/><td class="ctr2" id="e28">n/a</td><td class="ctr1" id="f17">7</td><td class="ctr2" id="g18">7</td><td class="ctr1" id="h9">51</td><td class="ctr2" id="i10">51</td><td class="ctr1" id="j13">7</td><td class="ctr2" id="k14">7</td><td class="ctr1" id="l7">3</td><td class="ctr2" id="m7">3</td></tr><tr><td id="a10"><a href="com.softeer.backend.bo_domain.admin.validator/index.html" class="el_package">com.softeer.backend.bo_domain.admin.validator</a></td><td class="bar" id="b13"><img src="jacoco-resources/redbar.gif" width="22" height="10" title="140" alt="140"/></td><td class="ctr2" id="c15">0%</td><td class="bar" id="d2"><img src="jacoco-resources/redbar.gif" width="66" height="10" title="30" alt="30"/></td><td class="ctr2" id="e10">0%</td><td class="ctr1" id="f5">24</td><td class="ctr2" id="g5">24</td><td class="ctr1" id="h14">33</td><td class="ctr2" id="i15">33</td><td class="ctr1" id="j10">9</td><td class="ctr2" id="k10">9</td><td class="ctr1" id="l8">3</td><td class="ctr2" id="m8">3</td></tr><tr><td id="a4"><a href="com.softeer.backend.bo_domain.admin.dto.main/index.html" class="el_package">com.softeer.backend.bo_domain.admin.dto.main</a></td><td class="bar" id="b14"><img src="jacoco-resources/redbar.gif" width="18" height="10" title="113" alt="113"/></td><td class="ctr2" id="c16">0%</td><td class="bar" id="d29"/><td class="ctr2" id="e29">n/a</td><td class="ctr1" id="f34">3</td><td class="ctr2" id="g34">3</td><td class="ctr1" id="h11">38</td><td class="ctr2" id="i12">38</td><td class="ctr1" id="j30">3</td><td class="ctr2" id="k30">3</td><td class="ctr1" id="l22">1</td><td class="ctr2" id="m23">1</td></tr><tr><td id="a12"><a href="com.softeer.backend.fo_domain.comment.constant/index.html" class="el_package">com.softeer.backend.fo_domain.comment.constant</a></td><td class="bar" id="b15"><img src="jacoco-resources/redbar.gif" width="17" height="10" title="109" alt="109"/></td><td class="ctr2" id="c17">0%</td><td class="bar" id="d30"/><td class="ctr2" id="e30">n/a</td><td class="ctr1" id="f25">4</td><td class="ctr2" id="g25">4</td><td class="ctr1" id="h19">20</td><td class="ctr2" id="i20">20</td><td class="ctr1" id="j19">4</td><td class="ctr2" id="k19">4</td><td class="ctr1" id="l23">1</td><td class="ctr2" id="m24">1</td></tr><tr><td id="a42"><a href="com.softeer.backend.global.common.constant/index.html" class="el_package">com.softeer.backend.global.common.constant</a></td><td class="bar" id="b16"><img src="jacoco-resources/redbar.gif" width="15" height="10" title="95" alt="95"/></td><td class="ctr2" id="c18">0%</td><td class="bar" id="d31"/><td class="ctr2" id="e31">n/a</td><td class="ctr1" id="f21">5</td><td class="ctr2" id="g21">5</td><td class="ctr1" id="h21">19</td><td class="ctr2" id="i22">19</td><td class="ctr1" id="j16">5</td><td class="ctr2" id="k16">5</td><td class="ctr1" id="l9">3</td><td class="ctr2" id="m9">3</td></tr><tr><td id="a22"><a href="com.softeer.backend.fo_domain.draw.service/index.html" class="el_package">com.softeer.backend.fo_domain.draw.service</a></td><td class="bar" id="b17"><img src="jacoco-resources/redbar.gif" width="14" height="10" title="93" alt="93"/><img src="jacoco-resources/greenbar.gif" width="30" height="10" title="193" alt="193"/></td><td class="ctr2" id="c1">67%</td><td class="bar" id="d24"><img src="jacoco-resources/greenbar.gif" width="35" height="10" title="16" alt="16"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f19">6</td><td class="ctr2" id="g9">17</td><td class="ctr1" id="h22">18</td><td class="ctr2" id="i9">64</td><td class="ctr1" id="j14">6</td><td class="ctr2" id="k11">9</td><td class="ctr1" id="l24">1</td><td class="ctr2" id="m14">2</td></tr><tr><td id="a1"><a href="com.softeer.backend.bo_domain.admin.controller/index.html" class="el_package">com.softeer.backend.bo_domain.admin.controller</a></td><td class="bar" id="b18"><img src="jacoco-resources/redbar.gif" width="13" height="10" title="84" alt="84"/></td><td class="ctr2" id="c19">0%</td><td class="bar" id="d32"/><td class="ctr2" id="e32">n/a</td><td class="ctr1" id="f10">12</td><td class="ctr2" id="g11">12</td><td class="ctr1" id="h16">24</td><td class="ctr2" id="i17">24</td><td class="ctr1" id="j6">12</td><td class="ctr2" id="k6">12</td><td class="ctr1" id="l4">4</td><td class="ctr2" id="m4">4</td></tr><tr><td id="a39"><a href="com.softeer.backend.global.annotation.aop/index.html" class="el_package">com.softeer.backend.global.annotation.aop</a></td><td class="bar" id="b19"><img src="jacoco-resources/redbar.gif" width="13" height="10" title="83" alt="83"/></td><td class="ctr2" id="c20">0%</td><td class="bar" id="d18"><img src="jacoco-resources/redbar.gif" width="4" height="10" title="2" alt="2"/></td><td class="ctr2" id="e11">0%</td><td class="ctr1" id="f22">5</td><td class="ctr2" id="g22">5</td><td class="ctr1" id="h20">20</td><td class="ctr2" id="i21">20</td><td class="ctr1" id="j20">4</td><td class="ctr2" id="k20">4</td><td class="ctr1" id="l14">2</td><td class="ctr2" id="m15">2</td></tr><tr><td id="a21"><a href="com.softeer.backend.fo_domain.draw.interceptor/index.html" class="el_package">com.softeer.backend.fo_domain.draw.interceptor</a></td><td class="bar" id="b20"><img src="jacoco-resources/redbar.gif" width="12" height="10" title="78" alt="78"/></td><td class="ctr2" id="c21">0%</td><td class="bar" id="d6"><img src="jacoco-resources/redbar.gif" width="35" height="10" title="16" alt="16"/></td><td class="ctr2" id="e12">0%</td><td class="ctr1" id="f11">12</td><td class="ctr2" id="g12">12</td><td class="ctr1" id="h26">14</td><td class="ctr2" id="i26">14</td><td class="ctr1" id="j21">4</td><td class="ctr2" id="k21">4</td><td class="ctr1" id="l25">1</td><td class="ctr2" id="m25">1</td></tr><tr><td id="a3"><a href="com.softeer.backend.bo_domain.admin.dto.indicator/index.html" class="el_package">com.softeer.backend.bo_domain.admin.dto.indicator</a></td><td class="bar" id="b21"><img src="jacoco-resources/redbar.gif" width="12" height="10" title="78" alt="78"/></td><td class="ctr2" id="c22">0%</td><td class="bar" id="d14"><img src="jacoco-resources/redbar.gif" width="8" height="10" title="4" alt="4"/></td><td class="ctr2" id="e13">0%</td><td class="ctr1" id="f26">4</td><td class="ctr2" id="g26">4</td><td class="ctr1" id="h15">30</td><td class="ctr2" id="i16">30</td><td class="ctr1" id="j37">2</td><td class="ctr2" id="k37">2</td><td class="ctr1" id="l26">1</td><td class="ctr2" id="m26">1</td></tr><tr><td id="a15"><a href="com.softeer.backend.fo_domain.comment.dto/index.html" class="el_package">com.softeer.backend.fo_domain.comment.dto</a></td><td class="bar" id="b22"><img src="jacoco-resources/redbar.gif" width="12" height="10" title="76" alt="76"/></td><td class="ctr2" id="c23">0%</td><td class="bar" id="d9"><img src="jacoco-resources/redbar.gif" width="17" height="10" title="8" alt="8"/></td><td class="ctr2" id="e14">0%</td><td class="ctr1" id="f14">9</td><td class="ctr2" id="g15">9</td><td class="ctr1" id="h17">24</td><td class="ctr2" id="i18">24</td><td class="ctr1" id="j17">5</td><td class="ctr2" id="k17">5</td><td class="ctr1" id="l27">1</td><td class="ctr2" id="m27">1</td></tr><tr><td id="a34"><a href="com.softeer.backend.fo_domain.user.constatnt/index.html" class="el_package">com.softeer.backend.fo_domain.user.constatnt</a></td><td class="bar" id="b23"><img src="jacoco-resources/redbar.gif" width="11" height="10" title="74" alt="74"/></td><td class="ctr2" id="c24">0%</td><td class="bar" id="d33"/><td class="ctr2" id="e33">n/a</td><td class="ctr1" id="f27">4</td><td class="ctr2" id="g27">4</td><td class="ctr1" id="h25">15</td><td class="ctr2" id="i25">15</td><td class="ctr1" id="j22">4</td><td class="ctr2" id="k22">4</td><td class="ctr1" id="l15">2</td><td class="ctr2" id="m16">2</td></tr><tr><td id="a47"><a href="com.softeer.backend.global.config.docs/index.html" class="el_package">com.softeer.backend.global.config.docs</a></td><td class="bar" id="b24"><img src="jacoco-resources/redbar.gif" width="11" height="10" title="70" alt="70"/></td><td class="ctr2" id="c25">0%</td><td class="bar" id="d34"/><td class="ctr2" id="e34">n/a</td><td class="ctr1" id="f28">4</td><td class="ctr2" id="g28">4</td><td class="ctr1" id="h18">24</td><td class="ctr2" id="i19">24</td><td class="ctr1" id="j23">4</td><td class="ctr2" id="k23">4</td><td class="ctr1" id="l28">1</td><td class="ctr2" id="m28">1</td></tr><tr><td id="a55"><a href="com.softeer.backend.global.staticresources.util/index.html" class="el_package">com.softeer.backend.global.staticresources.util</a></td><td class="bar" id="b25"><img src="jacoco-resources/redbar.gif" width="9" height="10" title="61" alt="61"/></td><td class="ctr2" id="c26">0%</td><td class="bar" id="d10"><img src="jacoco-resources/redbar.gif" width="17" height="10" title="8" alt="8"/></td><td class="ctr2" id="e15">0%</td><td class="ctr1" id="f9">13</td><td class="ctr2" id="g10">13</td><td class="ctr1" id="h24">17</td><td class="ctr2" id="i24">17</td><td class="ctr1" id="j15">6</td><td class="ctr2" id="k15">6</td><td class="ctr1" id="l29">1</td><td class="ctr2" id="m29">1</td></tr><tr><td id="a49"><a href="com.softeer.backend.global.config.redis/index.html" class="el_package">com.softeer.backend.global.config.redis</a></td><td class="bar" id="b26"><img src="jacoco-resources/redbar.gif" width="9" height="10" title="60" alt="60"/></td><td class="ctr2" id="c27">0%</td><td class="bar" id="d35"/><td class="ctr2" id="e35">n/a</td><td class="ctr1" id="f35">3</td><td class="ctr2" id="g35">3</td><td class="ctr1" id="h28">12</td><td class="ctr2" id="i28">12</td><td class="ctr1" id="j31">3</td><td class="ctr2" id="k31">3</td><td class="ctr1" id="l30">1</td><td class="ctr2" id="m30">1</td></tr><tr><td id="a44"><a href="com.softeer.backend.global.common.response/index.html" class="el_package">com.softeer.backend.global.common.response</a></td><td class="bar" id="b27"><img src="jacoco-resources/redbar.gif" width="8" height="10" title="53" alt="53"/></td><td class="ctr2" id="c28">0%</td><td class="bar" id="d36"/><td class="ctr2" id="e36">n/a</td><td class="ctr1" id="f23">5</td><td class="ctr2" id="g23">5</td><td class="ctr1" id="h43">5</td><td class="ctr2" id="i43">5</td><td class="ctr1" id="j18">5</td><td class="ctr2" id="k18">5</td><td class="ctr1" id="l31">1</td><td class="ctr2" id="m31">1</td></tr><tr><td id="a13"><a href="com.softeer.backend.fo_domain.comment.controller/index.html" class="el_package">com.softeer.backend.fo_domain.comment.controller</a></td><td class="bar" id="b28"><img src="jacoco-resources/redbar.gif" width="8" height="10" title="52" alt="52"/></td><td class="ctr2" id="c29">0%</td><td class="bar" id="d8"><img src="jacoco-resources/redbar.gif" width="22" height="10" title="10" alt="10"/></td><td class="ctr2" id="e16">0%</td><td class="ctr1" id="f15">8</td><td class="ctr2" id="g16">8</td><td class="ctr1" id="h29">12</td><td class="ctr2" id="i29">12</td><td class="ctr1" id="j32">3</td><td class="ctr2" id="k32">3</td><td class="ctr1" id="l32">1</td><td class="ctr2" id="m32">1</td></tr><tr><td id="a18"><a href="com.softeer.backend.fo_domain.comment.util/index.html" class="el_package">com.softeer.backend.fo_domain.comment.util</a></td><td class="bar" id="b29"><img src="jacoco-resources/redbar.gif" width="7" height="10" title="48" alt="48"/></td><td class="ctr2" id="c30">0%</td><td class="bar" id="d15"><img src="jacoco-resources/redbar.gif" width="8" height="10" title="4" alt="4"/></td><td class="ctr2" id="e17">0%</td><td class="ctr1" id="f20">6</td><td class="ctr2" id="g20">6</td><td class="ctr1" id="h39">8</td><td class="ctr2" id="i39">8</td><td class="ctr1" id="j24">4</td><td class="ctr2" id="k24">4</td><td class="ctr1" id="l33">1</td><td class="ctr2" id="m33">1</td></tr><tr><td id="a46"><a href="com.softeer.backend.global.config.cache/index.html" class="el_package">com.softeer.backend.global.config.cache</a></td><td class="bar" id="b30"><img src="jacoco-resources/redbar.gif" width="7" height="10" title="45" alt="45"/></td><td class="ctr2" id="c31">0%</td><td class="bar" id="d37"/><td class="ctr2" id="e37">n/a</td><td class="ctr1" id="f29">4</td><td class="ctr2" id="g29">4</td><td class="ctr1" id="h30">12</td><td class="ctr2" id="i30">12</td><td class="ctr1" id="j25">4</td><td class="ctr2" id="k25">4</td><td class="ctr1" id="l34">1</td><td class="ctr2" id="m34">1</td></tr><tr><td id="a17"><a href="com.softeer.backend.fo_domain.comment.service/index.html" class="el_package">com.softeer.backend.fo_domain.comment.service</a></td><td class="bar" id="b31"><img src="jacoco-resources/redbar.gif" width="6" height="10" title="43" alt="43"/></td><td class="ctr2" id="c32">0%</td><td class="bar" id="d19"><img src="jacoco-resources/redbar.gif" width="4" height="10" title="2" alt="2"/></td><td class="ctr2" id="e18">0%</td><td class="ctr1" id="f36">3</td><td class="ctr2" id="g36">3</td><td class="ctr1" id="h27">13</td><td class="ctr2" id="i27">13</td><td class="ctr1" id="j38">2</td><td class="ctr2" id="k38">2</td><td class="ctr1" id="l35">1</td><td class="ctr2" id="m35">1</td></tr><tr><td id="a24"><a href="com.softeer.backend.fo_domain.fcfs.controller/index.html" class="el_package">com.softeer.backend.fo_domain.fcfs.controller</a></td><td class="bar" id="b32"><img src="jacoco-resources/redbar.gif" width="6" height="10" title="42" alt="42"/></td><td class="ctr2" id="c33">0%</td><td class="bar" id="d38"/><td class="ctr2" id="e38">n/a</td><td class="ctr1" id="f30">4</td><td class="ctr2" id="g30">4</td><td class="ctr1" id="h34">9</td><td class="ctr2" id="i34">9</td><td class="ctr1" id="j26">4</td><td class="ctr2" id="k26">4</td><td class="ctr1" id="l36">1</td><td class="ctr2" id="m36">1</td></tr><tr><td id="a40"><a href="com.softeer.backend.global.annotation.argumentresolver/index.html" class="el_package">com.softeer.backend.global.annotation.argumentresolver</a></td><td class="bar" id="b33"><img src="jacoco-resources/redbar.gif" width="6" height="10" title="40" alt="40"/></td><td class="ctr2" id="c34">0%</td><td class="bar" id="d11"><img src="jacoco-resources/redbar.gif" width="17" height="10" title="8" alt="8"/></td><td class="ctr2" id="e19">0%</td><td class="ctr1" id="f18">7</td><td class="ctr2" id="g19">7</td><td class="ctr1" id="h35">9</td><td class="ctr2" id="i35">9</td><td class="ctr1" id="j33">3</td><td class="ctr2" id="k33">3</td><td class="ctr1" id="l37">1</td><td class="ctr2" id="m37">1</td></tr><tr><td id="a2"><a href="com.softeer.backend.bo_domain.admin.dto.event/index.html" class="el_package">com.softeer.backend.bo_domain.admin.dto.event</a></td><td class="bar" id="b34"><img src="jacoco-resources/redbar.gif" width="6" height="10" title="40" alt="40"/></td><td class="ctr2" id="c35">0%</td><td class="bar" id="d39"/><td class="ctr2" id="e39">n/a</td><td class="ctr1" id="f41">2</td><td class="ctr2" id="g41">2</td><td class="ctr1" id="h23">18</td><td class="ctr2" id="i23">18</td><td class="ctr1" id="j39">2</td><td class="ctr2" id="k39">2</td><td class="ctr1" id="l38">1</td><td class="ctr2" id="m38">1</td></tr><tr><td id="a30"><a href="com.softeer.backend.fo_domain.share.controller/index.html" class="el_package">com.softeer.backend.fo_domain.share.controller</a></td><td class="bar" id="b35"><img src="jacoco-resources/redbar.gif" width="6" height="10" title="38" alt="38"/></td><td class="ctr2" id="c36">0%</td><td class="bar" id="d40"/><td class="ctr2" id="e40">n/a</td><td class="ctr1" id="f42">2</td><td class="ctr2" id="g42">2</td><td class="ctr1" id="h36">9</td><td class="ctr2" id="i36">9</td><td class="ctr1" id="j40">2</td><td class="ctr2" id="k40">2</td><td class="ctr1" id="l39">1</td><td class="ctr2" id="m39">1</td></tr><tr><td id="a28"><a href="com.softeer.backend.fo_domain.mainpage.controller/index.html" class="el_package">com.softeer.backend.fo_domain.mainpage.controller</a></td><td class="bar" id="b36"><img src="jacoco-resources/redbar.gif" width="5" height="10" title="37" alt="37"/></td><td class="ctr2" id="c37">0%</td><td class="bar" id="d41"/><td class="ctr2" id="e41">n/a</td><td class="ctr1" id="f37">3</td><td class="ctr2" id="g37">3</td><td class="ctr1" id="h32">10</td><td class="ctr2" id="i32">10</td><td class="ctr1" id="j34">3</td><td class="ctr2" id="k34">3</td><td class="ctr1" id="l40">1</td><td class="ctr2" id="m40">1</td></tr><tr><td id="a26"><a href="com.softeer.backend.fo_domain.fcfs.interceptor/index.html" class="el_package">com.softeer.backend.fo_domain.fcfs.interceptor</a></td><td class="bar" id="b37"><img src="jacoco-resources/redbar.gif" width="5" height="10" title="37" alt="37"/></td><td class="ctr2" id="c38">0%</td><td class="bar" id="d16"><img src="jacoco-resources/redbar.gif" width="8" height="10" title="4" alt="4"/></td><td class="ctr2" id="e20">0%</td><td class="ctr1" id="f31">4</td><td class="ctr2" id="g31">4</td><td class="ctr1" id="h33">10</td><td class="ctr2" id="i33">10</td><td class="ctr1" id="j41">2</td><td class="ctr2" id="k41">2</td><td class="ctr1" id="l41">1</td><td class="ctr2" id="m41">1</td></tr><tr><td id="a35"><a href="com.softeer.backend.fo_domain.user.controller/index.html" class="el_package">com.softeer.backend.fo_domain.user.controller</a></td><td class="bar" id="b38"><img src="jacoco-resources/redbar.gif" width="5" height="10" title="36" alt="36"/></td><td class="ctr2" id="c39">0%</td><td class="bar" id="d42"/><td class="ctr2" id="e42">n/a</td><td class="ctr1" id="f32">4</td><td class="ctr2" id="g32">4</td><td class="ctr1" id="h40">8</td><td class="ctr2" id="i40">8</td><td class="ctr1" id="j27">4</td><td class="ctr2" id="k27">4</td><td class="ctr1" id="l16">2</td><td class="ctr2" id="m17">2</td></tr><tr><td id="a7"><a href="com.softeer.backend.bo_domain.admin.serializer/index.html" class="el_package">com.softeer.backend.bo_domain.admin.serializer</a></td><td class="bar" id="b39"><img src="jacoco-resources/redbar.gif" width="5" height="10" title="34" alt="34"/></td><td class="ctr2" id="c40">0%</td><td class="bar" id="d20"><img src="jacoco-resources/redbar.gif" width="4" height="10" title="2" alt="2"/></td><td class="ctr2" id="e21">0%</td><td class="ctr1" id="f24">5</td><td class="ctr2" id="g24">5</td><td class="ctr1" id="h37">9</td><td class="ctr2" id="i37">9</td><td class="ctr1" id="j28">4</td><td class="ctr2" id="k28">4</td><td class="ctr1" id="l17">2</td><td class="ctr2" id="m18">2</td></tr><tr><td id="a19"><a href="com.softeer.backend.fo_domain.draw.controller/index.html" class="el_package">com.softeer.backend.fo_domain.draw.controller</a></td><td class="bar" id="b40"><img src="jacoco-resources/redbar.gif" width="5" height="10" title="32" alt="32"/></td><td class="ctr2" id="c41">0%</td><td class="bar" id="d43"/><td class="ctr2" id="e43">n/a</td><td class="ctr1" id="f33">4</td><td class="ctr2" id="g33">4</td><td class="ctr1" id="h41">6</td><td class="ctr2" id="i41">6</td><td class="ctr1" id="j29">4</td><td class="ctr2" id="k29">4</td><td class="ctr1" id="l42">1</td><td class="ctr2" id="m42">1</td></tr><tr><td id="a48"><a href="com.softeer.backend.global.config.properties/index.html" class="el_package">com.softeer.backend.global.config.properties</a></td><td class="bar" id="b41"><img src="jacoco-resources/redbar.gif" width="4" height="10" title="30" alt="30"/></td><td class="ctr2" id="c42">0%</td><td class="bar" id="d44"/><td class="ctr2" id="e44">n/a</td><td class="ctr1" id="f43">2</td><td class="ctr2" id="g43">2</td><td class="ctr1" id="h31">12</td><td class="ctr2" id="i31">12</td><td class="ctr1" id="j42">2</td><td class="ctr2" id="k42">2</td><td class="ctr1" id="l18">2</td><td class="ctr2" id="m19">2</td></tr><tr><td id="a33"><a href="com.softeer.backend.fo_domain.share.service/index.html" class="el_package">com.softeer.backend.fo_domain.share.service</a></td><td class="bar" id="b42"><img src="jacoco-resources/redbar.gif" width="4" height="10" title="26" alt="26"/></td><td class="ctr2" id="c43">0%</td><td class="bar" id="d21"><img src="jacoco-resources/redbar.gif" width="4" height="10" title="2" alt="2"/></td><td class="ctr2" id="e22">0%</td><td class="ctr1" id="f38">3</td><td class="ctr2" id="g38">3</td><td class="ctr1" id="h38">9</td><td class="ctr2" id="i38">9</td><td class="ctr1" id="j43">2</td><td class="ctr2" id="k43">2</td><td class="ctr1" id="l43">1</td><td class="ctr2" id="m43">1</td></tr><tr><td id="a11"><a href="com.softeer.backend.bo_domain.eventparticipation.repository/index.html" class="el_package">com.softeer.backend.bo_domain.eventparticipation.repository</a></td><td class="bar" id="b43"><img src="jacoco-resources/redbar.gif" width="2" height="10" title="17" alt="17"/></td><td class="ctr2" id="c44">0%</td><td class="bar" id="d22"><img src="jacoco-resources/redbar.gif" width="4" height="10" title="2" alt="2"/></td><td class="ctr2" id="e23">0%</td><td class="ctr1" id="f44">2</td><td class="ctr2" id="g44">2</td><td class="ctr1" id="h45">4</td><td class="ctr2" id="i46">4</td><td class="ctr1" id="j48">1</td><td class="ctr2" id="k48">1</td><td class="ctr1" id="l44">1</td><td class="ctr2" id="m44">1</td></tr><tr><td id="a50"><a href="com.softeer.backend.global.config.schedular/index.html" class="el_package">com.softeer.backend.global.config.schedular</a></td><td class="bar" id="b44"><img src="jacoco-resources/redbar.gif" width="2" height="10" title="15" alt="15"/></td><td class="ctr2" id="c45">0%</td><td class="bar" id="d45"/><td class="ctr2" id="e45">n/a</td><td class="ctr1" id="f45">2</td><td class="ctr2" id="g45">2</td><td class="ctr1" id="h44">5</td><td class="ctr2" id="i44">5</td><td class="ctr1" id="j44">2</td><td class="ctr2" id="k44">2</td><td class="ctr1" id="l45">1</td><td class="ctr2" id="m45">1</td></tr><tr><td id="a37"><a href="com.softeer.backend.fo_domain.user.properties/index.html" class="el_package">com.softeer.backend.fo_domain.user.properties</a></td><td class="bar" id="b45"><img src="jacoco-resources/redbar.gif" width="2" height="10" title="15" alt="15"/></td><td class="ctr2" id="c46">0%</td><td class="bar" id="d46"/><td class="ctr2" id="e46">n/a</td><td class="ctr1" id="f50">1</td><td class="ctr2" id="g50">1</td><td class="ctr1" id="h42">6</td><td class="ctr2" id="i42">6</td><td class="ctr1" id="j49">1</td><td class="ctr2" id="k49">1</td><td class="ctr1" id="l46">1</td><td class="ctr2" id="m46">1</td></tr><tr><td id="a14"><a href="com.softeer.backend.fo_domain.comment.domain/index.html" class="el_package">com.softeer.backend.fo_domain.comment.domain</a></td><td class="bar" id="b46"><img src="jacoco-resources/redbar.gif" width="2" height="10" title="14" alt="14"/></td><td class="ctr2" id="c47">0%</td><td class="bar" id="d23"><img src="jacoco-resources/redbar.gif" width="4" height="10" title="2" alt="2"/></td><td class="ctr2" id="e24">0%</td><td class="ctr1" id="f46">2</td><td class="ctr2" id="g46">2</td><td class="ctr1" id="h46">4</td><td class="ctr2" id="i47">4</td><td class="ctr1" id="j50">1</td><td class="ctr2" id="k50">1</td><td class="ctr1" id="l47">1</td><td class="ctr2" id="m47">1</td></tr><tr><td id="a9"><a href="com.softeer.backend.bo_domain.admin.util/index.html" class="el_package">com.softeer.backend.bo_domain.admin.util</a></td><td class="bar" id="b47"><img src="jacoco-resources/redbar.gif" width="1" height="10" title="11" alt="11"/></td><td class="ctr2" id="c48">0%</td><td class="bar" id="d47"/><td class="ctr2" id="e47">n/a</td><td class="ctr1" id="f39">3</td><td class="ctr2" id="g39">3</td><td class="ctr1" id="h48">3</td><td class="ctr2" id="i49">3</td><td class="ctr1" id="j35">3</td><td class="ctr2" id="k35">3</td><td class="ctr1" id="l48">1</td><td class="ctr2" id="m48">1</td></tr><tr><td id="a0"><a href="com.softeer.backend/index.html" class="el_package">com.softeer.backend</a></td><td class="bar" id="b48"><img src="jacoco-resources/redbar.gif" width="1" height="10" title="8" alt="8"/></td><td class="ctr2" id="c49">0%</td><td class="bar" id="d48"/><td class="ctr2" id="e48">n/a</td><td class="ctr1" id="f47">2</td><td class="ctr2" id="g47">2</td><td class="ctr1" id="h49">3</td><td class="ctr2" id="i50">3</td><td class="ctr1" id="j45">2</td><td class="ctr2" id="k45">2</td><td class="ctr1" id="l49">1</td><td class="ctr2" id="m49">1</td></tr><tr><td id="a32"><a href="com.softeer.backend.fo_domain.share.exception/index.html" class="el_package">com.softeer.backend.fo_domain.share.exception</a></td><td class="bar" id="b49"><img src="jacoco-resources/redbar.gif" width="1" height="10" title="8" alt="8"/></td><td class="ctr2" id="c50">0%</td><td class="bar" id="d49"/><td class="ctr2" id="e49">n/a</td><td class="ctr1" id="f48">2</td><td class="ctr2" id="g48">2</td><td class="ctr1" id="h47">4</td><td class="ctr2" id="i48">4</td><td class="ctr1" id="j46">2</td><td class="ctr2" id="k46">2</td><td class="ctr1" id="l19">2</td><td class="ctr2" id="m20">2</td></tr><tr><td id="a45"><a href="com.softeer.backend.global.common.swagger/index.html" class="el_package">com.softeer.backend.global.common.swagger</a></td><td class="bar" id="b50"/><td class="ctr2" id="c51">0%</td><td class="bar" id="d50"/><td class="ctr2" id="e50">n/a</td><td class="ctr1" id="f49">2</td><td class="ctr2" id="g49">2</td><td class="ctr1" id="h50">2</td><td class="ctr2" id="i51">2</td><td class="ctr1" id="j47">2</td><td class="ctr2" id="k47">2</td><td class="ctr1" id="l50">1</td><td class="ctr2" id="m50">1</td></tr><tr><td id="a25"><a href="com.softeer.backend.fo_domain.fcfs.exception/index.html" class="el_package">com.softeer.backend.fo_domain.fcfs.exception</a></td><td class="bar" id="b51"/><td class="ctr2" id="c52">0%</td><td class="bar" id="d51"/><td class="ctr2" id="e51">n/a</td><td class="ctr1" id="f51">1</td><td class="ctr2" id="g51">1</td><td class="ctr1" id="h51">2</td><td class="ctr2" id="i52">2</td><td class="ctr1" id="j51">1</td><td class="ctr2" id="k51">1</td><td class="ctr1" id="l51">1</td><td class="ctr2" id="m51">1</td></tr><tr><td id="a16"><a href="com.softeer.backend.fo_domain.comment.exception/index.html" class="el_package">com.softeer.backend.fo_domain.comment.exception</a></td><td class="bar" id="b52"/><td class="ctr2" id="c53">0%</td><td class="bar" id="d52"/><td class="ctr2" id="e52">n/a</td><td class="ctr1" id="f52">1</td><td class="ctr2" id="g52">1</td><td class="ctr1" id="h52">2</td><td class="ctr2" id="i53">2</td><td class="ctr1" id="j52">1</td><td class="ctr2" id="k52">1</td><td class="ctr1" id="l52">1</td><td class="ctr2" id="m52">1</td></tr><tr><td id="a36"><a href="com.softeer.backend.fo_domain.user.exception/index.html" class="el_package">com.softeer.backend.fo_domain.user.exception</a></td><td class="bar" id="b53"/><td class="ctr2" id="c54">0%</td><td class="bar" id="d53"/><td class="ctr2" id="e53">n/a</td><td class="ctr1" id="f53">1</td><td class="ctr2" id="g53">1</td><td class="ctr1" id="h53">2</td><td class="ctr2" id="i54">2</td><td class="ctr1" id="j53">1</td><td class="ctr2" id="k53">1</td><td class="ctr1" id="l53">1</td><td class="ctr2" id="m53">1</td></tr><tr><td id="a6"><a href="com.softeer.backend.bo_domain.admin.exception/index.html" class="el_package">com.softeer.backend.bo_domain.admin.exception</a></td><td class="bar" id="b54"/><td class="ctr2" id="c55">0%</td><td class="bar" id="d54"/><td class="ctr2" id="e54">n/a</td><td class="ctr1" id="f54">1</td><td class="ctr2" id="g54">1</td><td class="ctr1" id="h54">2</td><td class="ctr2" id="i55">2</td><td class="ctr1" id="j54">1</td><td class="ctr2" id="k54">1</td><td class="ctr1" id="l54">1</td><td class="ctr2" id="m54">1</td></tr><tr><td id="a20"><a href="com.softeer.backend.fo_domain.draw.exception/index.html" class="el_package">com.softeer.backend.fo_domain.draw.exception</a></td><td class="bar" id="b55"/><td class="ctr2" id="c56">0%</td><td class="bar" id="d55"/><td class="ctr2" id="e55">n/a</td><td class="ctr1" id="f55">1</td><td class="ctr2" id="g55">1</td><td class="ctr1" id="h55">2</td><td class="ctr2" id="i56">2</td><td class="ctr1" id="j55">1</td><td class="ctr2" id="k55">1</td><td class="ctr1" id="l55">1</td><td class="ctr2" id="m55">1</td></tr><tr><td id="a31"><a href="com.softeer.backend.fo_domain.share.domain/index.html" class="el_package">com.softeer.backend.fo_domain.share.domain</a></td><td class="bar" id="b56"><img src="jacoco-resources/greenbar.gif" width="2" height="10" title="13" alt="13"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d56"/><td class="ctr2" id="e56">n/a</td><td class="ctr1" id="f56">0</td><td class="ctr2" id="g56">1</td><td class="ctr1" id="h56">0</td><td class="ctr2" id="i45">5</td><td class="ctr1" id="j56">0</td><td class="ctr2" id="k56">1</td><td class="ctr1" id="l56">0</td><td class="ctr2" id="m56">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/jacoco-resources/branchfc.gif b/jacoco/jacocoHtml/jacoco-resources/branchfc.gif
    new file mode 100644
    index 0000000000000000000000000000000000000000..989b46d30469b56b014758f846ee6c5abfda16aa
    GIT binary patch
    literal 91
    zcmZ?wbhEHb<YM4rIK;xhkjB6;lY!w31H*rY|42abCkrDN13QBb0}z1JGB7JtR5AQc
    j;9zf`qaAf{?!7xKElvq+aTP&4>6=b<*h$V|V6X-NwhSNb
    
    literal 0
    HcmV?d00001
    
    diff --git a/jacoco/jacocoHtml/jacoco-resources/branchnc.gif b/jacoco/jacocoHtml/jacoco-resources/branchnc.gif
    new file mode 100644
    index 0000000000000000000000000000000000000000..1933e07c376bb71bdd9aac91cf858da3fcdb0f1c
    GIT binary patch
    literal 91
    zcmZ?wbhEHb<YM4rIK;xxz`$^Zf#E#^!~cec|42abCkrDN13QBb0}z1JGB7JtR5AQc
    j;9zf`qaAf{?!7xKElvq+aTP&4>6=b<*h$V|V6X-N9U38B
    
    literal 0
    HcmV?d00001
    
    diff --git a/jacoco/jacocoHtml/jacoco-resources/branchpc.gif b/jacoco/jacocoHtml/jacoco-resources/branchpc.gif
    new file mode 100644
    index 0000000000000000000000000000000000000000..cbf711b7030929b733f22f7a0cf3dbf61fe7868f
    GIT binary patch
    literal 91
    zcmZ?wbhEHb<YM4rIK;v*A(Y{H7sIRF44*zR{6_+cKUo;L7}yzf7=QqzmVsHJqKe^n
    j0tb8h9POxsbMM_@X>m$mi>nCYN#As;!%lJz1A{dHmlPuc
    
    literal 0
    HcmV?d00001
    
    diff --git a/jacoco/jacocoHtml/jacoco-resources/bundle.gif b/jacoco/jacocoHtml/jacoco-resources/bundle.gif
    new file mode 100644
    index 0000000000000000000000000000000000000000..fca9c53e629a7a5c07186ac1e2a1e37d8d6e88f4
    GIT binary patch
    literal 709
    zcmZ?wbhEHb6krfwxXQrrpW*-7BK;<J$sad5=B26sxKQ!q!Hgdl8q(~HUL2e9<Hd#-
    z7dn1?IPw4g|HIv8zrOAI@nFG^8xwkB-G027acOnKpKtdcpWnHq-sr)BinT@BA8t%o
    znxj(b?=UZ3c5RMIe~{#!dZYLEkL_tSI^1f;Km(xolZ6pvtPY3(`H6w8*rB1oLr1Fr
    zgz}>o8CDEUD?$vun5^UNelT%D!ODh<DT^W#oSIlz7qWFr6j-<`INnfgQuR3aJbW7`
    zN4%4`K$`$#XID3aq+mZI+oZ{pxEUFwnVA`9&7C{VNtTt7ed)5L3!LN`S=X*xyV99u
    u^Omii+jqD*GFUt3=ar=9mFR|47NlA!WacKOr|PF?rg3q(j|Mjlf*SzSChrLV
    
    literal 0
    HcmV?d00001
    
    diff --git a/jacoco/jacocoHtml/jacoco-resources/class.gif b/jacoco/jacocoHtml/jacoco-resources/class.gif
    new file mode 100644
    index 0000000000000000000000000000000000000000..eb348fb0d498d75976150047b1b5c2fefc9dc220
    GIT binary patch
    literal 586
    zcmZ?wbhEHb6krfwI2Or}v!c<s$=9se-=Q<YsXNN8KQ3fOR@Cf*m^p=Yn<q4Gopkom
    z6_qkOy&5;;MsLfufQUJ{vGWR(7nLtMxlXsnMX%OXzt+v54k+vCJt@I!LR|T}_8Twn
    z8a23^wRl;#``dR0_3fQy*Wqv15n$II;MN!J-X9S(Eh&3>RsX(Ohwq+z^!{nkw1lu(
    zDPc2HV&`P7KEHX-jYA>R6T@ewM9fTyo0E0x)!k<wUj$8y`}qA+!h+12O)Zt{8e4bt
    z^z51Z;rqwPnTZ)o@)H-NC(KKmcWmLES9jAFW#uj_C|_66u(_dnV^!t4^7b9Ajhky9
    zzJD-rU(e=C8}{7Xx$oBQ`NwB1I6iy#jqQi->_2wz@P-Sk{|^LE{K>+|z);Vi!vF-J
    zIALI4-caAv+|t_C-oY&>$uA|y-ND80=rPrik*keM);A(7JS@bMXJ#`uzjsjN>eYc>
    zj1!vJoq|_~`Ugb%`8WwRvs$=Bx;h_qcXM-KZDthLjMNep5fPP;Q{vk%FCD3^prRsd
    zAfR@-Nl4k$GSW~(G16XNhoM=9$H>NPjk%o(&&DPp6ODz*?)|b>X&fF28jY>Ox-nZU
    Y5*r^bWMyL$kZ52~Skzz7#K>R`0G8r7i~s-t
    
    literal 0
    HcmV?d00001
    
    diff --git a/jacoco/jacocoHtml/jacoco-resources/down.gif b/jacoco/jacocoHtml/jacoco-resources/down.gif
    new file mode 100644
    index 0000000000000000000000000000000000000000..440a14db74e76c2b6e854eacac1c44414b166271
    GIT binary patch
    literal 67
    zcmZ?wbhEHb<YC}qSjfcSX{EDa!-oH0p!k!8k&A(eL5G2Xk%5PSlYxOrWJ>Z%p}jXB
    Ub$^Lu-Ncq(ygK&ScM%3_0Po}%Qvd(}
    
    literal 0
    HcmV?d00001
    
    diff --git a/jacoco/jacocoHtml/jacoco-resources/greenbar.gif b/jacoco/jacocoHtml/jacoco-resources/greenbar.gif
    new file mode 100644
    index 0000000000000000000000000000000000000000..0ba65672530ee09f086821a26156836d0c91bd74
    GIT binary patch
    literal 91
    zcmZ?wbhEHbWMtrCc+ADXzmZ>do2<@m9j_x^v8Q5duh#b5>RIq$!Lmoo);w9mu$BQ0
    eDgI<(1nOeYVE_V<84N5O20cYWMlKB;4AuaIXBwOU
    
    literal 0
    HcmV?d00001
    
    diff --git a/jacoco/jacocoHtml/jacoco-resources/group.gif b/jacoco/jacocoHtml/jacoco-resources/group.gif
    new file mode 100644
    index 0000000000000000000000000000000000000000..a4ea580d278fb727e4ae692838877fa63c4becf9
    GIT binary patch
    literal 351
    zcmZ?wbhEHb6krfwxXQpVwXtJrV`pb|Z&Bgo_>{Q`Df1G5Wa`}H^qKLgbHn221;#86
    zie2Oyy23SVg;&(l)`=%9{nuIstg#PSrQx<&&vS#m*G7G>4W@o;CvAN*Y1^AgTVGGw
    z_ImEoPjiobns@ZmyknnMUi-Q7>W`Jzer$aB_t(pL-|kQQ|MAfO*PGv5?Ee3B$^ToO
    z|A8VGOaEW3eSEO?=BC06Ybq|Tt-P?N@;?|b;0205Sr{1@Oc``Qsz82XV5>PWtH47?
    zs^4Q~P@BxTjDV;&5*!R(s==>VnJe}-&SEIintfiq!@<H~=ly~!2^|49-&cqxtw`7?
    z#Ky|j%)-vX)?mu7-NU2OKVbs5sj!|NpR$sovf|v?yiO9jg7Wfm3i1lF3JOBbqGFPg
    YGSX7gGMmL+MfU97=X>Cwn<IlY03tk+6951J
    
    literal 0
    HcmV?d00001
    
    diff --git a/jacoco/jacocoHtml/jacoco-resources/method.gif b/jacoco/jacocoHtml/jacoco-resources/method.gif
    new file mode 100644
    index 0000000000000000000000000000000000000000..7d24707ee82f54aa9fb10d1d9050013cbf161a7a
    GIT binary patch
    literal 193
    zcmV;y06zamNk%w1VGsZi0K@<Q1As^cfk_>VRxXubL!4|)qjO}gg>klxZ?TGXw~#-V
    zU_Y2&N}FX?r*L1YbYiM-aj|xBv2}#Mgo3?-guaA=wSS1Yfrz+)iMWB7#*ml2h^x<;
    ztIwFU(w+bR{{R30A^8LW0015UEC2ui01yBW000F(peK%GX`X1Rt}L1aL$Vf5mpMgx
    vG+WO#2NYmJDM}^)l;8n@L?90V%CN9pFcyU&MPO(u48jTlL$uClRtNw)MiWcq
    
    literal 0
    HcmV?d00001
    
    diff --git a/jacoco/jacocoHtml/jacoco-resources/package.gif b/jacoco/jacocoHtml/jacoco-resources/package.gif
    new file mode 100644
    index 0000000000000000000000000000000000000000..131c28da405493661e3253ef79a68bd273039295
    GIT binary patch
    literal 227
    zcmZ?wbhEHb6krfwIKsg2^W*Nf7neOfxp04z;n8NJ+xzDotkS){bH@Hst%K#-*LO_c
    zo~yCDQ0v_4?v)A3lSAd#C95utQCbkGxF}NT_=2WF8}WGs5taT9|NsAIzy=h5vM@3*
    zNHFMtBtdpEuqG&|^`&Ia(}-MpBVo@mW@+b{B25<}cFdc?!Kkoc14n0vkh1`XOwU>7
    z#al8o_@;D=?hdfkdC)D9Q@O@%Lfqp;ZBt~9C*29`GMF2XzQp8akWQVjDvMC75PzEx
    Mi%z;upCW@b03m@=3jhEB
    
    literal 0
    HcmV?d00001
    
    diff --git a/jacoco/jacocoHtml/jacoco-resources/prettify.css b/jacoco/jacocoHtml/jacoco-resources/prettify.css
    new file mode 100644
    index 00000000..be5166e0
    --- /dev/null
    +++ b/jacoco/jacocoHtml/jacoco-resources/prettify.css
    @@ -0,0 +1,13 @@
    +/* Pretty printing styles. Used with prettify.js. */
    +
    +.str { color: #2A00FF; }
    +.kwd { color: #7F0055; font-weight:bold; }
    +.com { color: #3F5FBF; }
    +.typ { color: #606; }
    +.lit { color: #066; }
    +.pun { color: #660; }
    +.pln { color: #000; }
    +.tag { color: #008; }
    +.atn { color: #606; }
    +.atv { color: #080; }
    +.dec { color: #606; }
    diff --git a/jacoco/jacocoHtml/jacoco-resources/prettify.js b/jacoco/jacocoHtml/jacoco-resources/prettify.js
    new file mode 100644
    index 00000000..b2766fe0
    --- /dev/null
    +++ b/jacoco/jacocoHtml/jacoco-resources/prettify.js
    @@ -0,0 +1,1510 @@
    +// Copyright (C) 2006 Google Inc.
    +//
    +// Licensed under the Apache License, Version 2.0 (the "License");
    +// you may not use this file except in compliance with the License.
    +// You may obtain a copy of the License at
    +//
    +//      http://www.apache.org/licenses/LICENSE-2.0
    +//
    +// Unless required by applicable law or agreed to in writing, software
    +// distributed under the License is distributed on an "AS IS" BASIS,
    +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +// See the License for the specific language governing permissions and
    +// limitations under the License.
    +
    +
    +/**
    + * @fileoverview
    + * some functions for browser-side pretty printing of code contained in html.
    + * <p>
    + *
    + * For a fairly comprehensive set of languages see the
    + * <a href="http://google-code-prettify.googlecode.com/svn/trunk/README.html#langs">README</a>
    + * file that came with this source.  At a minimum, the lexer should work on a
    + * number of languages including C and friends, Java, Python, Bash, SQL, HTML,
    + * XML, CSS, Javascript, and Makefiles.  It works passably on Ruby, PHP and Awk
    + * and a subset of Perl, but, because of commenting conventions, doesn't work on
    + * Smalltalk, Lisp-like, or CAML-like languages without an explicit lang class.
    + * <p>
    + * Usage: <ol>
    + * <li> include this source file in an html page via
    + *   {@code <script type="text/javascript" src="/path/to/prettify.js"></script>}
    + * <li> define style rules.  See the example page for examples.
    + * <li> mark the {@code <pre>} and {@code <code>} tags in your source with
    + *    {@code class=prettyprint.}
    + *    You can also use the (html deprecated) {@code <xmp>} tag, but the pretty
    + *    printer needs to do more substantial DOM manipulations to support that, so
    + *    some css styles may not be preserved.
    + * </ol>
    + * That's it.  I wanted to keep the API as simple as possible, so there's no
    + * need to specify which language the code is in, but if you wish, you can add
    + * another class to the {@code <pre>} or {@code <code>} element to specify the
    + * language, as in {@code <pre class="prettyprint lang-java">}.  Any class that
    + * starts with "lang-" followed by a file extension, specifies the file type.
    + * See the "lang-*.js" files in this directory for code that implements
    + * per-language file handlers.
    + * <p>
    + * Change log:<br>
    + * cbeust, 2006/08/22
    + * <blockquote>
    + *   Java annotations (start with "@") are now captured as literals ("lit")
    + * </blockquote>
    + * @requires console
    + */
    +
    +// JSLint declarations
    +/*global console, document, navigator, setTimeout, window */
    +
    +/**
    + * Split {@code prettyPrint} into multiple timeouts so as not to interfere with
    + * UI events.
    + * If set to {@code false}, {@code prettyPrint()} is synchronous.
    + */
    +window['PR_SHOULD_USE_CONTINUATION'] = true;
    +
    +/** the number of characters between tab columns */
    +window['PR_TAB_WIDTH'] = 8;
    +
    +/** Walks the DOM returning a properly escaped version of innerHTML.
    +  * @param {Node} node
    +  * @param {Array.<string>} out output buffer that receives chunks of HTML.
    +  */
    +window['PR_normalizedHtml']
    +
    +/** Contains functions for creating and registering new language handlers.
    +  * @type {Object}
    +  */
    +  = window['PR']
    +
    +/** Pretty print a chunk of code.
    +  *
    +  * @param {string} sourceCodeHtml code as html
    +  * @return {string} code as html, but prettier
    +  */
    +  = window['prettyPrintOne']
    +/** Find all the {@code <pre>} and {@code <code>} tags in the DOM with
    +  * {@code class=prettyprint} and prettify them.
    +  * @param {Function?} opt_whenDone if specified, called when the last entry
    +  *     has been finished.
    +  */
    +  = window['prettyPrint'] = void 0;
    +
    +/** browser detection. @extern @returns false if not IE, otherwise the major version. */
    +window['_pr_isIE6'] = function () {
    +  var ieVersion = navigator && navigator.userAgent &&
    +      navigator.userAgent.match(/\bMSIE ([678])\./);
    +  ieVersion = ieVersion ? +ieVersion[1] : false;
    +  window['_pr_isIE6'] = function () { return ieVersion; };
    +  return ieVersion;
    +};
    +
    +
    +(function () {
    +  // Keyword lists for various languages.
    +  var FLOW_CONTROL_KEYWORDS =
    +      "break continue do else for if return while ";
    +  var C_KEYWORDS = FLOW_CONTROL_KEYWORDS + "auto case char const default " +
    +      "double enum extern float goto int long register short signed sizeof " +
    +      "static struct switch typedef union unsigned void volatile ";
    +  var COMMON_KEYWORDS = C_KEYWORDS + "catch class delete false import " +
    +      "new operator private protected public this throw true try typeof ";
    +  var CPP_KEYWORDS = COMMON_KEYWORDS + "alignof align_union asm axiom bool " +
    +      "concept concept_map const_cast constexpr decltype " +
    +      "dynamic_cast explicit export friend inline late_check " +
    +      "mutable namespace nullptr reinterpret_cast static_assert static_cast " +
    +      "template typeid typename using virtual wchar_t where ";
    +  var JAVA_KEYWORDS = COMMON_KEYWORDS +
    +      "abstract boolean byte extends final finally implements import " +
    +      "instanceof null native package strictfp super synchronized throws " +
    +      "transient ";
    +  var CSHARP_KEYWORDS = JAVA_KEYWORDS +
    +      "as base by checked decimal delegate descending event " +
    +      "fixed foreach from group implicit in interface internal into is lock " +
    +      "object out override orderby params partial readonly ref sbyte sealed " +
    +      "stackalloc string select uint ulong unchecked unsafe ushort var ";
    +  var JSCRIPT_KEYWORDS = COMMON_KEYWORDS +
    +      "debugger eval export function get null set undefined var with " +
    +      "Infinity NaN ";
    +  var PERL_KEYWORDS = "caller delete die do dump elsif eval exit foreach for " +
    +      "goto if import last local my next no our print package redo require " +
    +      "sub undef unless until use wantarray while BEGIN END ";
    +  var PYTHON_KEYWORDS = FLOW_CONTROL_KEYWORDS + "and as assert class def del " +
    +      "elif except exec finally from global import in is lambda " +
    +      "nonlocal not or pass print raise try with yield " +
    +      "False True None ";
    +  var RUBY_KEYWORDS = FLOW_CONTROL_KEYWORDS + "alias and begin case class def" +
    +      " defined elsif end ensure false in module next nil not or redo rescue " +
    +      "retry self super then true undef unless until when yield BEGIN END ";
    +  var SH_KEYWORDS = FLOW_CONTROL_KEYWORDS + "case done elif esac eval fi " +
    +      "function in local set then until ";
    +  var ALL_KEYWORDS = (
    +      CPP_KEYWORDS + CSHARP_KEYWORDS + JSCRIPT_KEYWORDS + PERL_KEYWORDS +
    +      PYTHON_KEYWORDS + RUBY_KEYWORDS + SH_KEYWORDS);
    +
    +  // token style names.  correspond to css classes
    +  /** token style for a string literal */
    +  var PR_STRING = 'str';
    +  /** token style for a keyword */
    +  var PR_KEYWORD = 'kwd';
    +  /** token style for a comment */
    +  var PR_COMMENT = 'com';
    +  /** token style for a type */
    +  var PR_TYPE = 'typ';
    +  /** token style for a literal value.  e.g. 1, null, true. */
    +  var PR_LITERAL = 'lit';
    +  /** token style for a punctuation string. */
    +  var PR_PUNCTUATION = 'pun';
    +  /** token style for a punctuation string. */
    +  var PR_PLAIN = 'pln';
    +
    +  /** token style for an sgml tag. */
    +  var PR_TAG = 'tag';
    +  /** token style for a markup declaration such as a DOCTYPE. */
    +  var PR_DECLARATION = 'dec';
    +  /** token style for embedded source. */
    +  var PR_SOURCE = 'src';
    +  /** token style for an sgml attribute name. */
    +  var PR_ATTRIB_NAME = 'atn';
    +  /** token style for an sgml attribute value. */
    +  var PR_ATTRIB_VALUE = 'atv';
    +
    +  /**
    +   * A class that indicates a section of markup that is not code, e.g. to allow
    +   * embedding of line numbers within code listings.
    +   */
    +  var PR_NOCODE = 'nocode';
    +
    +  /** A set of tokens that can precede a regular expression literal in
    +    * javascript.
    +    * http://www.mozilla.org/js/language/js20/rationale/syntax.html has the full
    +    * list, but I've removed ones that might be problematic when seen in
    +    * languages that don't support regular expression literals.
    +    *
    +    * <p>Specifically, I've removed any keywords that can't precede a regexp
    +    * literal in a syntactically legal javascript program, and I've removed the
    +    * "in" keyword since it's not a keyword in many languages, and might be used
    +    * as a count of inches.
    +    *
    +    * <p>The link a above does not accurately describe EcmaScript rules since
    +    * it fails to distinguish between (a=++/b/i) and (a++/b/i) but it works
    +    * very well in practice.
    +    *
    +    * @private
    +    */
    +  var REGEXP_PRECEDER_PATTERN = function () {
    +      var preceders = [
    +          "!", "!=", "!==", "#", "%", "%=", "&", "&&", "&&=",
    +          "&=", "(", "*", "*=", /* "+", */ "+=", ",", /* "-", */ "-=",
    +          "->", /*".", "..", "...", handled below */ "/", "/=", ":", "::", ";",
    +          "<", "<<", "<<=", "<=", "=", "==", "===", ">",
    +          ">=", ">>", ">>=", ">>>", ">>>=", "?", "@", "[",
    +          "^", "^=", "^^", "^^=", "{", "|", "|=", "||",
    +          "||=", "~" /* handles =~ and !~ */,
    +          "break", "case", "continue", "delete",
    +          "do", "else", "finally", "instanceof",
    +          "return", "throw", "try", "typeof"
    +          ];
    +      var pattern = '(?:^^|[+-]';
    +      for (var i = 0; i < preceders.length; ++i) {
    +        pattern += '|' + preceders[i].replace(/([^=<>:&a-z])/g, '\\$1');
    +      }
    +      pattern += ')\\s*';  // matches at end, and matches empty string
    +      return pattern;
    +      // CAVEAT: this does not properly handle the case where a regular
    +      // expression immediately follows another since a regular expression may
    +      // have flags for case-sensitivity and the like.  Having regexp tokens
    +      // adjacent is not valid in any language I'm aware of, so I'm punting.
    +      // TODO: maybe style special characters inside a regexp as punctuation.
    +    }();
    +
    +  // Define regexps here so that the interpreter doesn't have to create an
    +  // object each time the function containing them is called.
    +  // The language spec requires a new object created even if you don't access
    +  // the $1 members.
    +  var pr_amp = /&/g;
    +  var pr_lt = /</g;
    +  var pr_gt = />/g;
    +  var pr_quot = /\"/g;
    +  /** like textToHtml but escapes double quotes to be attribute safe. */
    +  function attribToHtml(str) {
    +    return str.replace(pr_amp, '&amp;')
    +        .replace(pr_lt, '&lt;')
    +        .replace(pr_gt, '&gt;')
    +        .replace(pr_quot, '&quot;');
    +  }
    +
    +  /** escapest html special characters to html. */
    +  function textToHtml(str) {
    +    return str.replace(pr_amp, '&amp;')
    +        .replace(pr_lt, '&lt;')
    +        .replace(pr_gt, '&gt;');
    +  }
    +
    +
    +  var pr_ltEnt = /&lt;/g;
    +  var pr_gtEnt = /&gt;/g;
    +  var pr_aposEnt = /&apos;/g;
    +  var pr_quotEnt = /&quot;/g;
    +  var pr_ampEnt = /&amp;/g;
    +  var pr_nbspEnt = /&nbsp;/g;
    +  /** unescapes html to plain text. */
    +  function htmlToText(html) {
    +    var pos = html.indexOf('&');
    +    if (pos < 0) { return html; }
    +    // Handle numeric entities specially.  We can't use functional substitution
    +    // since that doesn't work in older versions of Safari.
    +    // These should be rare since most browsers convert them to normal chars.
    +    for (--pos; (pos = html.indexOf('&#', pos + 1)) >= 0;) {
    +      var end = html.indexOf(';', pos);
    +      if (end >= 0) {
    +        var num = html.substring(pos + 3, end);
    +        var radix = 10;
    +        if (num && num.charAt(0) === 'x') {
    +          num = num.substring(1);
    +          radix = 16;
    +        }
    +        var codePoint = parseInt(num, radix);
    +        if (!isNaN(codePoint)) {
    +          html = (html.substring(0, pos) + String.fromCharCode(codePoint) +
    +                  html.substring(end + 1));
    +        }
    +      }
    +    }
    +
    +    return html.replace(pr_ltEnt, '<')
    +        .replace(pr_gtEnt, '>')
    +        .replace(pr_aposEnt, "'")
    +        .replace(pr_quotEnt, '"')
    +        .replace(pr_nbspEnt, ' ')
    +        .replace(pr_ampEnt, '&');
    +  }
    +
    +  /** is the given node's innerHTML normally unescaped? */
    +  function isRawContent(node) {
    +    return 'XMP' === node.tagName;
    +  }
    +
    +  var newlineRe = /[\r\n]/g;
    +  /**
    +   * Are newlines and adjacent spaces significant in the given node's innerHTML?
    +   */
    +  function isPreformatted(node, content) {
    +    // PRE means preformatted, and is a very common case, so don't create
    +    // unnecessary computed style objects.
    +    if ('PRE' === node.tagName) { return true; }
    +    if (!newlineRe.test(content)) { return true; }  // Don't care
    +    var whitespace = '';
    +    // For disconnected nodes, IE has no currentStyle.
    +    if (node.currentStyle) {
    +      whitespace = node.currentStyle.whiteSpace;
    +    } else if (window.getComputedStyle) {
    +      // Firefox makes a best guess if node is disconnected whereas Safari
    +      // returns the empty string.
    +      whitespace = window.getComputedStyle(node, null).whiteSpace;
    +    }
    +    return !whitespace || whitespace === 'pre';
    +  }
    +
    +  function normalizedHtml(node, out, opt_sortAttrs) {
    +    switch (node.nodeType) {
    +      case 1:  // an element
    +        var name = node.tagName.toLowerCase();
    +
    +        out.push('<', name);
    +        var attrs = node.attributes;
    +        var n = attrs.length;
    +        if (n) {
    +          if (opt_sortAttrs) {
    +            var sortedAttrs = [];
    +            for (var i = n; --i >= 0;) { sortedAttrs[i] = attrs[i]; }
    +            sortedAttrs.sort(function (a, b) {
    +                return (a.name < b.name) ? -1 : a.name === b.name ? 0 : 1;
    +              });
    +            attrs = sortedAttrs;
    +          }
    +          for (var i = 0; i < n; ++i) {
    +            var attr = attrs[i];
    +            if (!attr.specified) { continue; }
    +            out.push(' ', attr.name.toLowerCase(),
    +                     '="', attribToHtml(attr.value), '"');
    +          }
    +        }
    +        out.push('>');
    +        for (var child = node.firstChild; child; child = child.nextSibling) {
    +          normalizedHtml(child, out, opt_sortAttrs);
    +        }
    +        if (node.firstChild || !/^(?:br|link|img)$/.test(name)) {
    +          out.push('<\/', name, '>');
    +        }
    +        break;
    +      case 3: case 4: // text
    +        out.push(textToHtml(node.nodeValue));
    +        break;
    +    }
    +  }
    +
    +  /**
    +   * Given a group of {@link RegExp}s, returns a {@code RegExp} that globally
    +   * matches the union o the sets o strings matched d by the input RegExp.
    +   * Since it matches globally, if the input strings have a start-of-input
    +   * anchor (/^.../), it is ignored for the purposes of unioning.
    +   * @param {Array.<RegExp>} regexs non multiline, non-global regexs.
    +   * @return {RegExp} a global regex.
    +   */
    +  function combinePrefixPatterns(regexs) {
    +    var capturedGroupIndex = 0;
    +
    +    var needToFoldCase = false;
    +    var ignoreCase = false;
    +    for (var i = 0, n = regexs.length; i < n; ++i) {
    +      var regex = regexs[i];
    +      if (regex.ignoreCase) {
    +        ignoreCase = true;
    +      } else if (/[a-z]/i.test(regex.source.replace(
    +                     /\\u[0-9a-f]{4}|\\x[0-9a-f]{2}|\\[^ux]/gi, ''))) {
    +        needToFoldCase = true;
    +        ignoreCase = false;
    +        break;
    +      }
    +    }
    +
    +    function decodeEscape(charsetPart) {
    +      if (charsetPart.charAt(0) !== '\\') { return charsetPart.charCodeAt(0); }
    +      switch (charsetPart.charAt(1)) {
    +        case 'b': return 8;
    +        case 't': return 9;
    +        case 'n': return 0xa;
    +        case 'v': return 0xb;
    +        case 'f': return 0xc;
    +        case 'r': return 0xd;
    +        case 'u': case 'x':
    +          return parseInt(charsetPart.substring(2), 16)
    +              || charsetPart.charCodeAt(1);
    +        case '0': case '1': case '2': case '3': case '4':
    +        case '5': case '6': case '7':
    +          return parseInt(charsetPart.substring(1), 8);
    +        default: return charsetPart.charCodeAt(1);
    +      }
    +    }
    +
    +    function encodeEscape(charCode) {
    +      if (charCode < 0x20) {
    +        return (charCode < 0x10 ? '\\x0' : '\\x') + charCode.toString(16);
    +      }
    +      var ch = String.fromCharCode(charCode);
    +      if (ch === '\\' || ch === '-' || ch === '[' || ch === ']') {
    +        ch = '\\' + ch;
    +      }
    +      return ch;
    +    }
    +
    +    function caseFoldCharset(charSet) {
    +      var charsetParts = charSet.substring(1, charSet.length - 1).match(
    +          new RegExp(
    +              '\\\\u[0-9A-Fa-f]{4}'
    +              + '|\\\\x[0-9A-Fa-f]{2}'
    +              + '|\\\\[0-3][0-7]{0,2}'
    +              + '|\\\\[0-7]{1,2}'
    +              + '|\\\\[\\s\\S]'
    +              + '|-'
    +              + '|[^-\\\\]',
    +              'g'));
    +      var groups = [];
    +      var ranges = [];
    +      var inverse = charsetParts[0] === '^';
    +      for (var i = inverse ? 1 : 0, n = charsetParts.length; i < n; ++i) {
    +        var p = charsetParts[i];
    +        switch (p) {
    +          case '\\B': case '\\b':
    +          case '\\D': case '\\d':
    +          case '\\S': case '\\s':
    +          case '\\W': case '\\w':
    +            groups.push(p);
    +            continue;
    +        }
    +        var start = decodeEscape(p);
    +        var end;
    +        if (i + 2 < n && '-' === charsetParts[i + 1]) {
    +          end = decodeEscape(charsetParts[i + 2]);
    +          i += 2;
    +        } else {
    +          end = start;
    +        }
    +        ranges.push([start, end]);
    +        // If the range might intersect letters, then expand it.
    +        if (!(end < 65 || start > 122)) {
    +          if (!(end < 65 || start > 90)) {
    +            ranges.push([Math.max(65, start) | 32, Math.min(end, 90) | 32]);
    +          }
    +          if (!(end < 97 || start > 122)) {
    +            ranges.push([Math.max(97, start) & ~32, Math.min(end, 122) & ~32]);
    +          }
    +        }
    +      }
    +
    +      // [[1, 10], [3, 4], [8, 12], [14, 14], [16, 16], [17, 17]]
    +      // -> [[1, 12], [14, 14], [16, 17]]
    +      ranges.sort(function (a, b) { return (a[0] - b[0]) || (b[1]  - a[1]); });
    +      var consolidatedRanges = [];
    +      var lastRange = [NaN, NaN];
    +      for (var i = 0; i < ranges.length; ++i) {
    +        var range = ranges[i];
    +        if (range[0] <= lastRange[1] + 1) {
    +          lastRange[1] = Math.max(lastRange[1], range[1]);
    +        } else {
    +          consolidatedRanges.push(lastRange = range);
    +        }
    +      }
    +
    +      var out = ['['];
    +      if (inverse) { out.push('^'); }
    +      out.push.apply(out, groups);
    +      for (var i = 0; i < consolidatedRanges.length; ++i) {
    +        var range = consolidatedRanges[i];
    +        out.push(encodeEscape(range[0]));
    +        if (range[1] > range[0]) {
    +          if (range[1] + 1 > range[0]) { out.push('-'); }
    +          out.push(encodeEscape(range[1]));
    +        }
    +      }
    +      out.push(']');
    +      return out.join('');
    +    }
    +
    +    function allowAnywhereFoldCaseAndRenumberGroups(regex) {
    +      // Split into character sets, escape sequences, punctuation strings
    +      // like ('(', '(?:', ')', '^'), and runs of characters that do not
    +      // include any of the above.
    +      var parts = regex.source.match(
    +          new RegExp(
    +              '(?:'
    +              + '\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]'  // a character set
    +              + '|\\\\u[A-Fa-f0-9]{4}'  // a unicode escape
    +              + '|\\\\x[A-Fa-f0-9]{2}'  // a hex escape
    +              + '|\\\\[0-9]+'  // a back-reference or octal escape
    +              + '|\\\\[^ux0-9]'  // other escape sequence
    +              + '|\\(\\?[:!=]'  // start of a non-capturing group
    +              + '|[\\(\\)\\^]'  // start/emd of a group, or line start
    +              + '|[^\\x5B\\x5C\\(\\)\\^]+'  // run of other characters
    +              + ')',
    +              'g'));
    +      var n = parts.length;
    +
    +      // Maps captured group numbers to the number they will occupy in
    +      // the output or to -1 if that has not been determined, or to
    +      // undefined if they need not be capturing in the output.
    +      var capturedGroups = [];
    +
    +      // Walk over and identify back references to build the capturedGroups
    +      // mapping.
    +      for (var i = 0, groupIndex = 0; i < n; ++i) {
    +        var p = parts[i];
    +        if (p === '(') {
    +          // groups are 1-indexed, so max group index is count of '('
    +          ++groupIndex;
    +        } else if ('\\' === p.charAt(0)) {
    +          var decimalValue = +p.substring(1);
    +          if (decimalValue && decimalValue <= groupIndex) {
    +            capturedGroups[decimalValue] = -1;
    +          }
    +        }
    +      }
    +
    +      // Renumber groups and reduce capturing groups to non-capturing groups
    +      // where possible.
    +      for (var i = 1; i < capturedGroups.length; ++i) {
    +        if (-1 === capturedGroups[i]) {
    +          capturedGroups[i] = ++capturedGroupIndex;
    +        }
    +      }
    +      for (var i = 0, groupIndex = 0; i < n; ++i) {
    +        var p = parts[i];
    +        if (p === '(') {
    +          ++groupIndex;
    +          if (capturedGroups[groupIndex] === undefined) {
    +            parts[i] = '(?:';
    +          }
    +        } else if ('\\' === p.charAt(0)) {
    +          var decimalValue = +p.substring(1);
    +          if (decimalValue && decimalValue <= groupIndex) {
    +            parts[i] = '\\' + capturedGroups[groupIndex];
    +          }
    +        }
    +      }
    +
    +      // Remove any prefix anchors so that the output will match anywhere.
    +      // ^^ really does mean an anchored match though.
    +      for (var i = 0, groupIndex = 0; i < n; ++i) {
    +        if ('^' === parts[i] && '^' !== parts[i + 1]) { parts[i] = ''; }
    +      }
    +
    +      // Expand letters to groupts to handle mixing of case-sensitive and
    +      // case-insensitive patterns if necessary.
    +      if (regex.ignoreCase && needToFoldCase) {
    +        for (var i = 0; i < n; ++i) {
    +          var p = parts[i];
    +          var ch0 = p.charAt(0);
    +          if (p.length >= 2 && ch0 === '[') {
    +            parts[i] = caseFoldCharset(p);
    +          } else if (ch0 !== '\\') {
    +            // TODO: handle letters in numeric escapes.
    +            parts[i] = p.replace(
    +                /[a-zA-Z]/g,
    +                function (ch) {
    +                  var cc = ch.charCodeAt(0);
    +                  return '[' + String.fromCharCode(cc & ~32, cc | 32) + ']';
    +                });
    +          }
    +        }
    +      }
    +
    +      return parts.join('');
    +    }
    +
    +    var rewritten = [];
    +    for (var i = 0, n = regexs.length; i < n; ++i) {
    +      var regex = regexs[i];
    +      if (regex.global || regex.multiline) { throw new Error('' + regex); }
    +      rewritten.push(
    +          '(?:' + allowAnywhereFoldCaseAndRenumberGroups(regex) + ')');
    +    }
    +
    +    return new RegExp(rewritten.join('|'), ignoreCase ? 'gi' : 'g');
    +  }
    +
    +  var PR_innerHtmlWorks = null;
    +  function getInnerHtml(node) {
    +    // inner html is hopelessly broken in Safari 2.0.4 when the content is
    +    // an html description of well formed XML and the containing tag is a PRE
    +    // tag, so we detect that case and emulate innerHTML.
    +    if (null === PR_innerHtmlWorks) {
    +      var testNode = document.createElement('PRE');
    +      testNode.appendChild(
    +          document.createTextNode('<!DOCTYPE foo PUBLIC "foo bar">\n<foo />'));
    +      PR_innerHtmlWorks = !/</.test(testNode.innerHTML);
    +    }
    +
    +    if (PR_innerHtmlWorks) {
    +      var content = node.innerHTML;
    +      // XMP tags contain unescaped entities so require special handling.
    +      if (isRawContent(node)) {
    +        content = textToHtml(content);
    +      } else if (!isPreformatted(node, content)) {
    +        content = content.replace(/(<br\s*\/?>)[\r\n]+/g, '$1')
    +            .replace(/(?:[\r\n]+[ \t]*)+/g, ' ');
    +      }
    +      return content;
    +    }
    +
    +    var out = [];
    +    for (var child = node.firstChild; child; child = child.nextSibling) {
    +      normalizedHtml(child, out);
    +    }
    +    return out.join('');
    +  }
    +
    +  /** returns a function that expand tabs to spaces.  This function can be fed
    +    * successive chunks of text, and will maintain its own internal state to
    +    * keep track of how tabs are expanded.
    +    * @return {function (string) : string} a function that takes
    +    *   plain text and return the text with tabs expanded.
    +    * @private
    +    */
    +  function makeTabExpander(tabWidth) {
    +    var SPACES = '                ';
    +    var charInLine = 0;
    +
    +    return function (plainText) {
    +      // walk over each character looking for tabs and newlines.
    +      // On tabs, expand them.  On newlines, reset charInLine.
    +      // Otherwise increment charInLine
    +      var out = null;
    +      var pos = 0;
    +      for (var i = 0, n = plainText.length; i < n; ++i) {
    +        var ch = plainText.charAt(i);
    +
    +        switch (ch) {
    +          case '\t':
    +            if (!out) { out = []; }
    +            out.push(plainText.substring(pos, i));
    +            // calculate how much space we need in front of this part
    +            // nSpaces is the amount of padding -- the number of spaces needed
    +            // to move us to the next column, where columns occur at factors of
    +            // tabWidth.
    +            var nSpaces = tabWidth - (charInLine % tabWidth);
    +            charInLine += nSpaces;
    +            for (; nSpaces >= 0; nSpaces -= SPACES.length) {
    +              out.push(SPACES.substring(0, nSpaces));
    +            }
    +            pos = i + 1;
    +            break;
    +          case '\n':
    +            charInLine = 0;
    +            break;
    +          default:
    +            ++charInLine;
    +        }
    +      }
    +      if (!out) { return plainText; }
    +      out.push(plainText.substring(pos));
    +      return out.join('');
    +    };
    +  }
    +
    +  var pr_chunkPattern = new RegExp(
    +      '[^<]+'  // A run of characters other than '<'
    +      + '|<\!--[\\s\\S]*?--\>'  // an HTML comment
    +      + '|<!\\[CDATA\\[[\\s\\S]*?\\]\\]>'  // a CDATA section
    +      // a probable tag that should not be highlighted
    +      + '|<\/?[a-zA-Z](?:[^>\"\']|\'[^\']*\'|\"[^\"]*\")*>'
    +      + '|<',  // A '<' that does not begin a larger chunk
    +      'g');
    +  var pr_commentPrefix = /^<\!--/;
    +  var pr_cdataPrefix = /^<!\[CDATA\[/;
    +  var pr_brPrefix = /^<br\b/i;
    +  var pr_tagNameRe = /^<(\/?)([a-zA-Z][a-zA-Z0-9]*)/;
    +
    +  /** split markup into chunks of html tags (style null) and
    +    * plain text (style {@link #PR_PLAIN}), converting tags which are
    +    * significant for tokenization (<br>) into their textual equivalent.
    +    *
    +    * @param {string} s html where whitespace is considered significant.
    +    * @return {Object} source code and extracted tags.
    +    * @private
    +    */
    +  function extractTags(s) {
    +    // since the pattern has the 'g' modifier and defines no capturing groups,
    +    // this will return a list of all chunks which we then classify and wrap as
    +    // PR_Tokens
    +    var matches = s.match(pr_chunkPattern);
    +    var sourceBuf = [];
    +    var sourceBufLen = 0;
    +    var extractedTags = [];
    +    if (matches) {
    +      for (var i = 0, n = matches.length; i < n; ++i) {
    +        var match = matches[i];
    +        if (match.length > 1 && match.charAt(0) === '<') {
    +          if (pr_commentPrefix.test(match)) { continue; }
    +          if (pr_cdataPrefix.test(match)) {
    +            // strip CDATA prefix and suffix.  Don't unescape since it's CDATA
    +            sourceBuf.push(match.substring(9, match.length - 3));
    +            sourceBufLen += match.length - 12;
    +          } else if (pr_brPrefix.test(match)) {
    +            // <br> tags are lexically significant so convert them to text.
    +            // This is undone later.
    +            sourceBuf.push('\n');
    +            ++sourceBufLen;
    +          } else {
    +            if (match.indexOf(PR_NOCODE) >= 0 && isNoCodeTag(match)) {
    +              // A <span class="nocode"> will start a section that should be
    +              // ignored.  Continue walking the list until we see a matching end
    +              // tag.
    +              var name = match.match(pr_tagNameRe)[2];
    +              var depth = 1;
    +              var j;
    +              end_tag_loop:
    +              for (j = i + 1; j < n; ++j) {
    +                var name2 = matches[j].match(pr_tagNameRe);
    +                if (name2 && name2[2] === name) {
    +                  if (name2[1] === '/') {
    +                    if (--depth === 0) { break end_tag_loop; }
    +                  } else {
    +                    ++depth;
    +                  }
    +                }
    +              }
    +              if (j < n) {
    +                extractedTags.push(
    +                    sourceBufLen, matches.slice(i, j + 1).join(''));
    +                i = j;
    +              } else {  // Ignore unclosed sections.
    +                extractedTags.push(sourceBufLen, match);
    +              }
    +            } else {
    +              extractedTags.push(sourceBufLen, match);
    +            }
    +          }
    +        } else {
    +          var literalText = htmlToText(match);
    +          sourceBuf.push(literalText);
    +          sourceBufLen += literalText.length;
    +        }
    +      }
    +    }
    +    return { source: sourceBuf.join(''), tags: extractedTags };
    +  }
    +
    +  /** True if the given tag contains a class attribute with the nocode class. */
    +  function isNoCodeTag(tag) {
    +    return !!tag
    +        // First canonicalize the representation of attributes
    +        .replace(/\s(\w+)\s*=\s*(?:\"([^\"]*)\"|'([^\']*)'|(\S+))/g,
    +                 ' $1="$2$3$4"')
    +        // Then look for the attribute we want.
    +        .match(/[cC][lL][aA][sS][sS]=\"[^\"]*\bnocode\b/);
    +  }
    +
    +  /**
    +   * Apply the given language handler to sourceCode and add the resulting
    +   * decorations to out.
    +   * @param {number} basePos the index of sourceCode within the chunk of source
    +   *    whose decorations are already present on out.
    +   */
    +  function appendDecorations(basePos, sourceCode, langHandler, out) {
    +    if (!sourceCode) { return; }
    +    var job = {
    +      source: sourceCode,
    +      basePos: basePos
    +    };
    +    langHandler(job);
    +    out.push.apply(out, job.decorations);
    +  }
    +
    +  /** Given triples of [style, pattern, context] returns a lexing function,
    +    * The lexing function interprets the patterns to find token boundaries and
    +    * returns a decoration list of the form
    +    * [index_0, style_0, index_1, style_1, ..., index_n, style_n]
    +    * where index_n is an index into the sourceCode, and style_n is a style
    +    * constant like PR_PLAIN.  index_n-1 <= index_n, and style_n-1 applies to
    +    * all characters in sourceCode[index_n-1:index_n].
    +    *
    +    * The stylePatterns is a list whose elements have the form
    +    * [style : string, pattern : RegExp, DEPRECATED, shortcut : string].
    +    *
    +    * Style is a style constant like PR_PLAIN, or can be a string of the
    +    * form 'lang-FOO', where FOO is a language extension describing the
    +    * language of the portion of the token in $1 after pattern executes.
    +    * E.g., if style is 'lang-lisp', and group 1 contains the text
    +    * '(hello (world))', then that portion of the token will be passed to the
    +    * registered lisp handler for formatting.
    +    * The text before and after group 1 will be restyled using this decorator
    +    * so decorators should take care that this doesn't result in infinite
    +    * recursion.  For example, the HTML lexer rule for SCRIPT elements looks
    +    * something like ['lang-js', /<[s]cript>(.+?)<\/script>/].  This may match
    +    * '<script>foo()<\/script>', which would cause the current decorator to
    +    * be called with '<script>' which would not match the same rule since
    +    * group 1 must not be empty, so it would be instead styled as PR_TAG by
    +    * the generic tag rule.  The handler registered for the 'js' extension would
    +    * then be called with 'foo()', and finally, the current decorator would
    +    * be called with '<\/script>' which would not match the original rule and
    +    * so the generic tag rule would identify it as a tag.
    +    *
    +    * Pattern must only match prefixes, and if it matches a prefix, then that
    +    * match is considered a token with the same style.
    +    *
    +    * Context is applied to the last non-whitespace, non-comment token
    +    * recognized.
    +    *
    +    * Shortcut is an optional string of characters, any of which, if the first
    +    * character, gurantee that this pattern and only this pattern matches.
    +    *
    +    * @param {Array} shortcutStylePatterns patterns that always start with
    +    *   a known character.  Must have a shortcut string.
    +    * @param {Array} fallthroughStylePatterns patterns that will be tried in
    +    *   order if the shortcut ones fail.  May have shortcuts.
    +    *
    +    * @return {function (Object)} a
    +    *   function that takes source code and returns a list of decorations.
    +    */
    +  function createSimpleLexer(shortcutStylePatterns, fallthroughStylePatterns) {
    +    var shortcuts = {};
    +    var tokenizer;
    +    (function () {
    +      var allPatterns = shortcutStylePatterns.concat(fallthroughStylePatterns);
    +      var allRegexs = [];
    +      var regexKeys = {};
    +      for (var i = 0, n = allPatterns.length; i < n; ++i) {
    +        var patternParts = allPatterns[i];
    +        var shortcutChars = patternParts[3];
    +        if (shortcutChars) {
    +          for (var c = shortcutChars.length; --c >= 0;) {
    +            shortcuts[shortcutChars.charAt(c)] = patternParts;
    +          }
    +        }
    +        var regex = patternParts[1];
    +        var k = '' + regex;
    +        if (!regexKeys.hasOwnProperty(k)) {
    +          allRegexs.push(regex);
    +          regexKeys[k] = null;
    +        }
    +      }
    +      allRegexs.push(/[\0-\uffff]/);
    +      tokenizer = combinePrefixPatterns(allRegexs);
    +    })();
    +
    +    var nPatterns = fallthroughStylePatterns.length;
    +    var notWs = /\S/;
    +
    +    /**
    +     * Lexes job.source and produces an output array job.decorations of style
    +     * classes preceded by the position at which they start in job.source in
    +     * order.
    +     *
    +     * @param {Object} job an object like {@code
    +     *    source: {string} sourceText plain text,
    +     *    basePos: {int} position of job.source in the larger chunk of
    +     *        sourceCode.
    +     * }
    +     */
    +    var decorate = function (job) {
    +      var sourceCode = job.source, basePos = job.basePos;
    +      /** Even entries are positions in source in ascending order.  Odd enties
    +        * are style markers (e.g., PR_COMMENT) that run from that position until
    +        * the end.
    +        * @type {Array.<number|string>}
    +        */
    +      var decorations = [basePos, PR_PLAIN];
    +      var pos = 0;  // index into sourceCode
    +      var tokens = sourceCode.match(tokenizer) || [];
    +      var styleCache = {};
    +
    +      for (var ti = 0, nTokens = tokens.length; ti < nTokens; ++ti) {
    +        var token = tokens[ti];
    +        var style = styleCache[token];
    +        var match = void 0;
    +
    +        var isEmbedded;
    +        if (typeof style === 'string') {
    +          isEmbedded = false;
    +        } else {
    +          var patternParts = shortcuts[token.charAt(0)];
    +          if (patternParts) {
    +            match = token.match(patternParts[1]);
    +            style = patternParts[0];
    +          } else {
    +            for (var i = 0; i < nPatterns; ++i) {
    +              patternParts = fallthroughStylePatterns[i];
    +              match = token.match(patternParts[1]);
    +              if (match) {
    +                style = patternParts[0];
    +                break;
    +              }
    +            }
    +
    +            if (!match) {  // make sure that we make progress
    +              style = PR_PLAIN;
    +            }
    +          }
    +
    +          isEmbedded = style.length >= 5 && 'lang-' === style.substring(0, 5);
    +          if (isEmbedded && !(match && typeof match[1] === 'string')) {
    +            isEmbedded = false;
    +            style = PR_SOURCE;
    +          }
    +
    +          if (!isEmbedded) { styleCache[token] = style; }
    +        }
    +
    +        var tokenStart = pos;
    +        pos += token.length;
    +
    +        if (!isEmbedded) {
    +          decorations.push(basePos + tokenStart, style);
    +        } else {  // Treat group 1 as an embedded block of source code.
    +          var embeddedSource = match[1];
    +          var embeddedSourceStart = token.indexOf(embeddedSource);
    +          var embeddedSourceEnd = embeddedSourceStart + embeddedSource.length;
    +          if (match[2]) {
    +            // If embeddedSource can be blank, then it would match at the
    +            // beginning which would cause us to infinitely recurse on the
    +            // entire token, so we catch the right context in match[2].
    +            embeddedSourceEnd = token.length - match[2].length;
    +            embeddedSourceStart = embeddedSourceEnd - embeddedSource.length;
    +          }
    +          var lang = style.substring(5);
    +          // Decorate the left of the embedded source
    +          appendDecorations(
    +              basePos + tokenStart,
    +              token.substring(0, embeddedSourceStart),
    +              decorate, decorations);
    +          // Decorate the embedded source
    +          appendDecorations(
    +              basePos + tokenStart + embeddedSourceStart,
    +              embeddedSource,
    +              langHandlerForExtension(lang, embeddedSource),
    +              decorations);
    +          // Decorate the right of the embedded section
    +          appendDecorations(
    +              basePos + tokenStart + embeddedSourceEnd,
    +              token.substring(embeddedSourceEnd),
    +              decorate, decorations);
    +        }
    +      }
    +      job.decorations = decorations;
    +    };
    +    return decorate;
    +  }
    +
    +  /** returns a function that produces a list of decorations from source text.
    +    *
    +    * This code treats ", ', and ` as string delimiters, and \ as a string
    +    * escape.  It does not recognize perl's qq() style strings.
    +    * It has no special handling for double delimiter escapes as in basic, or
    +    * the tripled delimiters used in python, but should work on those regardless
    +    * although in those cases a single string literal may be broken up into
    +    * multiple adjacent string literals.
    +    *
    +    * It recognizes C, C++, and shell style comments.
    +    *
    +    * @param {Object} options a set of optional parameters.
    +    * @return {function (Object)} a function that examines the source code
    +    *     in the input job and builds the decoration list.
    +    */
    +  function sourceDecorator(options) {
    +    var shortcutStylePatterns = [], fallthroughStylePatterns = [];
    +    if (options['tripleQuotedStrings']) {
    +      // '''multi-line-string''', 'single-line-string', and double-quoted
    +      shortcutStylePatterns.push(
    +          [PR_STRING,  /^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,
    +           null, '\'"']);
    +    } else if (options['multiLineStrings']) {
    +      // 'multi-line-string', "multi-line-string"
    +      shortcutStylePatterns.push(
    +          [PR_STRING,  /^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,
    +           null, '\'"`']);
    +    } else {
    +      // 'single-line-string', "single-line-string"
    +      shortcutStylePatterns.push(
    +          [PR_STRING,
    +           /^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,
    +           null, '"\'']);
    +    }
    +    if (options['verbatimStrings']) {
    +      // verbatim-string-literal production from the C# grammar.  See issue 93.
    +      fallthroughStylePatterns.push(
    +          [PR_STRING, /^@\"(?:[^\"]|\"\")*(?:\"|$)/, null]);
    +    }
    +    if (options['hashComments']) {
    +      if (options['cStyleComments']) {
    +        // Stop C preprocessor declarations at an unclosed open comment
    +        shortcutStylePatterns.push(
    +            [PR_COMMENT, /^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,
    +             null, '#']);
    +        fallthroughStylePatterns.push(
    +            [PR_STRING,
    +             /^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,
    +             null]);
    +      } else {
    +        shortcutStylePatterns.push([PR_COMMENT, /^#[^\r\n]*/, null, '#']);
    +      }
    +    }
    +    if (options['cStyleComments']) {
    +      fallthroughStylePatterns.push([PR_COMMENT, /^\/\/[^\r\n]*/, null]);
    +      fallthroughStylePatterns.push(
    +          [PR_COMMENT, /^\/\*[\s\S]*?(?:\*\/|$)/, null]);
    +    }
    +    if (options['regexLiterals']) {
    +      var REGEX_LITERAL = (
    +          // A regular expression literal starts with a slash that is
    +          // not followed by * or / so that it is not confused with
    +          // comments.
    +          '/(?=[^/*])'
    +          // and then contains any number of raw characters,
    +          + '(?:[^/\\x5B\\x5C]'
    +          // escape sequences (\x5C),
    +          +    '|\\x5C[\\s\\S]'
    +          // or non-nesting character sets (\x5B\x5D);
    +          +    '|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+'
    +          // finally closed by a /.
    +          + '/');
    +      fallthroughStylePatterns.push(
    +          ['lang-regex',
    +           new RegExp('^' + REGEXP_PRECEDER_PATTERN + '(' + REGEX_LITERAL + ')')
    +           ]);
    +    }
    +
    +    var keywords = options['keywords'].replace(/^\s+|\s+$/g, '');
    +    if (keywords.length) {
    +      fallthroughStylePatterns.push(
    +          [PR_KEYWORD,
    +           new RegExp('^(?:' + keywords.replace(/\s+/g, '|') + ')\\b'), null]);
    +    }
    +
    +    shortcutStylePatterns.push([PR_PLAIN,       /^\s+/, null, ' \r\n\t\xA0']);
    +    fallthroughStylePatterns.push(
    +        // TODO(mikesamuel): recognize non-latin letters and numerals in idents
    +        [PR_LITERAL,     /^@[a-z_$][a-z_$@0-9]*/i, null],
    +        [PR_TYPE,        /^@?[A-Z]+[a-z][A-Za-z_$@0-9]*/, null],
    +        [PR_PLAIN,       /^[a-z_$][a-z_$@0-9]*/i, null],
    +        [PR_LITERAL,
    +         new RegExp(
    +             '^(?:'
    +             // A hex number
    +             + '0x[a-f0-9]+'
    +             // or an octal or decimal number,
    +             + '|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)'
    +             // possibly in scientific notation
    +             + '(?:e[+\\-]?\\d+)?'
    +             + ')'
    +             // with an optional modifier like UL for unsigned long
    +             + '[a-z]*', 'i'),
    +         null, '0123456789'],
    +        [PR_PUNCTUATION, /^.[^\s\w\.$@\'\"\`\/\#]*/, null]);
    +
    +    return createSimpleLexer(shortcutStylePatterns, fallthroughStylePatterns);
    +  }
    +
    +  var decorateSource = sourceDecorator({
    +        'keywords': ALL_KEYWORDS,
    +        'hashComments': true,
    +        'cStyleComments': true,
    +        'multiLineStrings': true,
    +        'regexLiterals': true
    +      });
    +
    +  /** Breaks {@code job.source} around style boundaries in
    +    * {@code job.decorations} while re-interleaving {@code job.extractedTags},
    +    * and leaves the result in {@code job.prettyPrintedHtml}.
    +    * @param {Object} job like {
    +    *    source: {string} source as plain text,
    +    *    extractedTags: {Array.<number|string>} extractedTags chunks of raw
    +    *                   html preceded by their position in {@code job.source}
    +    *                   in order
    +    *    decorations: {Array.<number|string} an array of style classes preceded
    +    *                 by the position at which they start in job.source in order
    +    * }
    +    * @private
    +    */
    +  function recombineTagsAndDecorations(job) {
    +    var sourceText = job.source;
    +    var extractedTags = job.extractedTags;
    +    var decorations = job.decorations;
    +
    +    var html = [];
    +    // index past the last char in sourceText written to html
    +    var outputIdx = 0;
    +
    +    var openDecoration = null;
    +    var currentDecoration = null;
    +    var tagPos = 0;  // index into extractedTags
    +    var decPos = 0;  // index into decorations
    +    var tabExpander = makeTabExpander(window['PR_TAB_WIDTH']);
    +
    +    var adjacentSpaceRe = /([\r\n ]) /g;
    +    var startOrSpaceRe = /(^| ) /gm;
    +    var newlineRe = /\r\n?|\n/g;
    +    var trailingSpaceRe = /[ \r\n]$/;
    +    var lastWasSpace = true;  // the last text chunk emitted ended with a space.
    +
    +    // See bug 71 and http://stackoverflow.com/questions/136443/why-doesnt-ie7-
    +    var isIE678 = window['_pr_isIE6']();
    +    var lineBreakHtml = (
    +        isIE678
    +        ? (job.sourceNode.tagName === 'PRE'
    +           // Use line feeds instead of <br>s so that copying and pasting works
    +           // on IE.
    +           // Doing this on other browsers breaks lots of stuff since \r\n is
    +           // treated as two newlines on Firefox.
    +           ? (isIE678 === 6 ? '&#160;\r\n' :
    +              isIE678 === 7 ? '&#160;<br>\r' : '&#160;\r')
    +           // IE collapses multiple adjacent <br>s into 1 line break.
    +           // Prefix every newline with '&#160;' to prevent such behavior.
    +           // &nbsp; is the same as &#160; but works in XML as well as HTML.
    +           : '&#160;<br />')
    +        : '<br />');
    +
    +    // Look for a class like linenums or linenums:<n> where <n> is the 1-indexed
    +    // number of the first line.
    +    var numberLines = job.sourceNode.className.match(/\blinenums\b(?::(\d+))?/);
    +    var lineBreaker;
    +    if (numberLines) {
    +      var lineBreaks = [];
    +      for (var i = 0; i < 10; ++i) {
    +        lineBreaks[i] = lineBreakHtml + '</li><li class="L' + i + '">';
    +      }
    +      var lineNum = numberLines[1] && numberLines[1].length
    +          ? numberLines[1] - 1 : 0;  // Lines are 1-indexed
    +      html.push('<ol class="linenums"><li class="L', (lineNum) % 10, '"');
    +      if (lineNum) {
    +        html.push(' value="', lineNum + 1, '"');
    +      }
    +      html.push('>');
    +      lineBreaker = function () {
    +        var lb = lineBreaks[++lineNum % 10];
    +        // If a decoration is open, we need to close it before closing a list-item
    +        // and reopen it on the other side of the list item.
    +        return openDecoration
    +            ? ('</span>' + lb + '<span class="' + openDecoration + '">') : lb;
    +      };
    +    } else {
    +      lineBreaker = lineBreakHtml;
    +    }
    +
    +    // A helper function that is responsible for opening sections of decoration
    +    // and outputing properly escaped chunks of source
    +    function emitTextUpTo(sourceIdx) {
    +      if (sourceIdx > outputIdx) {
    +        if (openDecoration && openDecoration !== currentDecoration) {
    +          // Close the current decoration
    +          html.push('</span>');
    +          openDecoration = null;
    +        }
    +        if (!openDecoration && currentDecoration) {
    +          openDecoration = currentDecoration;
    +          html.push('<span class="', openDecoration, '">');
    +        }
    +        // This interacts badly with some wikis which introduces paragraph tags
    +        // into pre blocks for some strange reason.
    +        // It's necessary for IE though which seems to lose the preformattedness
    +        // of <pre> tags when their innerHTML is assigned.
    +        // http://stud3.tuwien.ac.at/~e0226430/innerHtmlQuirk.html
    +        // and it serves to undo the conversion of <br>s to newlines done in
    +        // chunkify.
    +        var htmlChunk = textToHtml(
    +            tabExpander(sourceText.substring(outputIdx, sourceIdx)))
    +            .replace(lastWasSpace
    +                     ? startOrSpaceRe
    +                     : adjacentSpaceRe, '$1&#160;');
    +        // Keep track of whether we need to escape space at the beginning of the
    +        // next chunk.
    +        lastWasSpace = trailingSpaceRe.test(htmlChunk);
    +        html.push(htmlChunk.replace(newlineRe, lineBreaker));
    +        outputIdx = sourceIdx;
    +      }
    +    }
    +
    +    while (true) {
    +      // Determine if we're going to consume a tag this time around.  Otherwise
    +      // we consume a decoration or exit.
    +      var outputTag;
    +      if (tagPos < extractedTags.length) {
    +        if (decPos < decorations.length) {
    +          // Pick one giving preference to extractedTags since we shouldn't open
    +          // a new style that we're going to have to immediately close in order
    +          // to output a tag.
    +          outputTag = extractedTags[tagPos] <= decorations[decPos];
    +        } else {
    +          outputTag = true;
    +        }
    +      } else {
    +        outputTag = false;
    +      }
    +      // Consume either a decoration or a tag or exit.
    +      if (outputTag) {
    +        emitTextUpTo(extractedTags[tagPos]);
    +        if (openDecoration) {
    +          // Close the current decoration
    +          html.push('</span>');
    +          openDecoration = null;
    +        }
    +        html.push(extractedTags[tagPos + 1]);
    +        tagPos += 2;
    +      } else if (decPos < decorations.length) {
    +        emitTextUpTo(decorations[decPos]);
    +        currentDecoration = decorations[decPos + 1];
    +        decPos += 2;
    +      } else {
    +        break;
    +      }
    +    }
    +    emitTextUpTo(sourceText.length);
    +    if (openDecoration) {
    +      html.push('</span>');
    +    }
    +    if (numberLines) { html.push('</li></ol>'); }
    +    job.prettyPrintedHtml = html.join('');
    +  }
    +
    +  /** Maps language-specific file extensions to handlers. */
    +  var langHandlerRegistry = {};
    +  /** Register a language handler for the given file extensions.
    +    * @param {function (Object)} handler a function from source code to a list
    +    *      of decorations.  Takes a single argument job which describes the
    +    *      state of the computation.   The single parameter has the form
    +    *      {@code {
    +    *        source: {string} as plain text.
    +    *        decorations: {Array.<number|string>} an array of style classes
    +    *                     preceded by the position at which they start in
    +    *                     job.source in order.
    +    *                     The language handler should assigned this field.
    +    *        basePos: {int} the position of source in the larger source chunk.
    +    *                 All positions in the output decorations array are relative
    +    *                 to the larger source chunk.
    +    *      } }
    +    * @param {Array.<string>} fileExtensions
    +    */
    +  function registerLangHandler(handler, fileExtensions) {
    +    for (var i = fileExtensions.length; --i >= 0;) {
    +      var ext = fileExtensions[i];
    +      if (!langHandlerRegistry.hasOwnProperty(ext)) {
    +        langHandlerRegistry[ext] = handler;
    +      } else if ('console' in window) {
    +        console['warn']('cannot override language handler %s', ext);
    +      }
    +    }
    +  }
    +  function langHandlerForExtension(extension, source) {
    +    if (!(extension && langHandlerRegistry.hasOwnProperty(extension))) {
    +      // Treat it as markup if the first non whitespace character is a < and
    +      // the last non-whitespace character is a >.
    +      extension = /^\s*</.test(source)
    +          ? 'default-markup'
    +          : 'default-code';
    +    }
    +    return langHandlerRegistry[extension];
    +  }
    +  registerLangHandler(decorateSource, ['default-code']);
    +  registerLangHandler(
    +      createSimpleLexer(
    +          [],
    +          [
    +           [PR_PLAIN,       /^[^<?]+/],
    +           [PR_DECLARATION, /^<!\w[^>]*(?:>|$)/],
    +           [PR_COMMENT,     /^<\!--[\s\S]*?(?:-\->|$)/],
    +           // Unescaped content in an unknown language
    +           ['lang-',        /^<\?([\s\S]+?)(?:\?>|$)/],
    +           ['lang-',        /^<%([\s\S]+?)(?:%>|$)/],
    +           [PR_PUNCTUATION, /^(?:<[%?]|[%?]>)/],
    +           ['lang-',        /^<xmp\b[^>]*>([\s\S]+?)<\/xmp\b[^>]*>/i],
    +           // Unescaped content in javascript.  (Or possibly vbscript).
    +           ['lang-js',      /^<script\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],
    +           // Contains unescaped stylesheet content
    +           ['lang-css',     /^<style\b[^>]*>([\s\S]*?)(<\/style\b[^>]*>)/i],
    +           ['lang-in.tag',  /^(<\/?[a-z][^<>]*>)/i]
    +          ]),
    +      ['default-markup', 'htm', 'html', 'mxml', 'xhtml', 'xml', 'xsl']);
    +  registerLangHandler(
    +      createSimpleLexer(
    +          [
    +           [PR_PLAIN,        /^[\s]+/, null, ' \t\r\n'],
    +           [PR_ATTRIB_VALUE, /^(?:\"[^\"]*\"?|\'[^\']*\'?)/, null, '\"\'']
    +           ],
    +          [
    +           [PR_TAG,          /^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],
    +           [PR_ATTRIB_NAME,  /^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],
    +           ['lang-uq.val',   /^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],
    +           [PR_PUNCTUATION,  /^[=<>\/]+/],
    +           ['lang-js',       /^on\w+\s*=\s*\"([^\"]+)\"/i],
    +           ['lang-js',       /^on\w+\s*=\s*\'([^\']+)\'/i],
    +           ['lang-js',       /^on\w+\s*=\s*([^\"\'>\s]+)/i],
    +           ['lang-css',      /^style\s*=\s*\"([^\"]+)\"/i],
    +           ['lang-css',      /^style\s*=\s*\'([^\']+)\'/i],
    +           ['lang-css',      /^style\s*=\s*([^\"\'>\s]+)/i]
    +           ]),
    +      ['in.tag']);
    +  registerLangHandler(
    +      createSimpleLexer([], [[PR_ATTRIB_VALUE, /^[\s\S]+/]]), ['uq.val']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': CPP_KEYWORDS,
    +          'hashComments': true,
    +          'cStyleComments': true
    +        }), ['c', 'cc', 'cpp', 'cxx', 'cyc', 'm']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': 'null true false'
    +        }), ['json']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': CSHARP_KEYWORDS,
    +          'hashComments': true,
    +          'cStyleComments': true,
    +          'verbatimStrings': true
    +        }), ['cs']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': JAVA_KEYWORDS,
    +          'cStyleComments': true
    +        }), ['java']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': SH_KEYWORDS,
    +          'hashComments': true,
    +          'multiLineStrings': true
    +        }), ['bsh', 'csh', 'sh']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': PYTHON_KEYWORDS,
    +          'hashComments': true,
    +          'multiLineStrings': true,
    +          'tripleQuotedStrings': true
    +        }), ['cv', 'py']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': PERL_KEYWORDS,
    +          'hashComments': true,
    +          'multiLineStrings': true,
    +          'regexLiterals': true
    +        }), ['perl', 'pl', 'pm']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': RUBY_KEYWORDS,
    +          'hashComments': true,
    +          'multiLineStrings': true,
    +          'regexLiterals': true
    +        }), ['rb']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': JSCRIPT_KEYWORDS,
    +          'cStyleComments': true,
    +          'regexLiterals': true
    +        }), ['js']);
    +  registerLangHandler(
    +      createSimpleLexer([], [[PR_STRING, /^[\s\S]+/]]), ['regex']);
    +
    +  function applyDecorator(job) {
    +    var sourceCodeHtml = job.sourceCodeHtml;
    +    var opt_langExtension = job.langExtension;
    +
    +    // Prepopulate output in case processing fails with an exception.
    +    job.prettyPrintedHtml = sourceCodeHtml;
    +
    +    try {
    +      // Extract tags, and convert the source code to plain text.
    +      var sourceAndExtractedTags = extractTags(sourceCodeHtml);
    +      /** Plain text. @type {string} */
    +      var source = sourceAndExtractedTags.source;
    +      job.source = source;
    +      job.basePos = 0;
    +
    +      /** Even entries are positions in source in ascending order.  Odd entries
    +        * are tags that were extracted at that position.
    +        * @type {Array.<number|string>}
    +        */
    +      job.extractedTags = sourceAndExtractedTags.tags;
    +
    +      // Apply the appropriate language handler
    +      langHandlerForExtension(opt_langExtension, source)(job);
    +      // Integrate the decorations and tags back into the source code to produce
    +      // a decorated html string which is left in job.prettyPrintedHtml.
    +      recombineTagsAndDecorations(job);
    +    } catch (e) {
    +      if ('console' in window) {
    +        console['log'](e && e['stack'] ? e['stack'] : e);
    +      }
    +    }
    +  }
    +
    +  function prettyPrintOne(sourceCodeHtml, opt_langExtension) {
    +    var job = {
    +      sourceCodeHtml: sourceCodeHtml,
    +      langExtension: opt_langExtension
    +    };
    +    applyDecorator(job);
    +    return job.prettyPrintedHtml;
    +  }
    +
    +  function prettyPrint(opt_whenDone) {
    +    function byTagName(tn) { return document.getElementsByTagName(tn); }
    +    // fetch a list of nodes to rewrite
    +    var codeSegments = [byTagName('pre'), byTagName('code'), byTagName('xmp')];
    +    var elements = [];
    +    for (var i = 0; i < codeSegments.length; ++i) {
    +      for (var j = 0, n = codeSegments[i].length; j < n; ++j) {
    +        elements.push(codeSegments[i][j]);
    +      }
    +    }
    +    codeSegments = null;
    +
    +    var clock = Date;
    +    if (!clock['now']) {
    +      clock = { 'now': function () { return (new Date).getTime(); } };
    +    }
    +
    +    // The loop is broken into a series of continuations to make sure that we
    +    // don't make the browser unresponsive when rewriting a large page.
    +    var k = 0;
    +    var prettyPrintingJob;
    +
    +    function doWork() {
    +      var endTime = (window['PR_SHOULD_USE_CONTINUATION'] ?
    +                     clock.now() + 250 /* ms */ :
    +                     Infinity);
    +      for (; k < elements.length && clock.now() < endTime; k++) {
    +        var cs = elements[k];
    +        // [JACOCO] 'prettyprint' -> 'source'
    +        if (cs.className && cs.className.indexOf('source') >= 0) {
    +          // If the classes includes a language extensions, use it.
    +          // Language extensions can be specified like
    +          //     <pre class="prettyprint lang-cpp">
    +          // the language extension "cpp" is used to find a language handler as
    +          // passed to PR_registerLangHandler.
    +          var langExtension = cs.className.match(/\blang-(\w+)\b/);
    +          if (langExtension) { langExtension = langExtension[1]; }
    +
    +          // make sure this is not nested in an already prettified element
    +          var nested = false;
    +          for (var p = cs.parentNode; p; p = p.parentNode) {
    +            if ((p.tagName === 'pre' || p.tagName === 'code' ||
    +                 p.tagName === 'xmp') &&
    +                // [JACOCO] 'prettyprint' -> 'source'
    +                p.className && p.className.indexOf('source') >= 0) {
    +              nested = true;
    +              break;
    +            }
    +          }
    +          if (!nested) {
    +            // fetch the content as a snippet of properly escaped HTML.
    +            // Firefox adds newlines at the end.
    +            var content = getInnerHtml(cs);
    +            content = content.replace(/(?:\r\n?|\n)$/, '');
    +
    +            // do the pretty printing
    +            prettyPrintingJob = {
    +              sourceCodeHtml: content,
    +              langExtension: langExtension,
    +              sourceNode: cs
    +            };
    +            applyDecorator(prettyPrintingJob);
    +            replaceWithPrettyPrintedHtml();
    +          }
    +        }
    +      }
    +      if (k < elements.length) {
    +        // finish up in a continuation
    +        setTimeout(doWork, 250);
    +      } else if (opt_whenDone) {
    +        opt_whenDone();
    +      }
    +    }
    +
    +    function replaceWithPrettyPrintedHtml() {
    +      var newContent = prettyPrintingJob.prettyPrintedHtml;
    +      if (!newContent) { return; }
    +      var cs = prettyPrintingJob.sourceNode;
    +
    +      // push the prettified html back into the tag.
    +      if (!isRawContent(cs)) {
    +        // just replace the old html with the new
    +        cs.innerHTML = newContent;
    +      } else {
    +        // we need to change the tag to a <pre> since <xmp>s do not allow
    +        // embedded tags such as the span tags used to attach styles to
    +        // sections of source code.
    +        var pre = document.createElement('PRE');
    +        for (var i = 0; i < cs.attributes.length; ++i) {
    +          var a = cs.attributes[i];
    +          if (a.specified) {
    +            var aname = a.name.toLowerCase();
    +            if (aname === 'class') {
    +              pre.className = a.value;  // For IE 6
    +            } else {
    +              pre.setAttribute(a.name, a.value);
    +            }
    +          }
    +        }
    +        pre.innerHTML = newContent;
    +
    +        // remove the old
    +        cs.parentNode.replaceChild(pre, cs);
    +        cs = pre;
    +      }
    +    }
    +
    +    doWork();
    +  }
    +
    +  window['PR_normalizedHtml'] = normalizedHtml;
    +  window['prettyPrintOne'] = prettyPrintOne;
    +  window['prettyPrint'] = prettyPrint;
    +  window['PR'] = {
    +        'combinePrefixPatterns': combinePrefixPatterns,
    +        'createSimpleLexer': createSimpleLexer,
    +        'registerLangHandler': registerLangHandler,
    +        'sourceDecorator': sourceDecorator,
    +        'PR_ATTRIB_NAME': PR_ATTRIB_NAME,
    +        'PR_ATTRIB_VALUE': PR_ATTRIB_VALUE,
    +        'PR_COMMENT': PR_COMMENT,
    +        'PR_DECLARATION': PR_DECLARATION,
    +        'PR_KEYWORD': PR_KEYWORD,
    +        'PR_LITERAL': PR_LITERAL,
    +        'PR_NOCODE': PR_NOCODE,
    +        'PR_PLAIN': PR_PLAIN,
    +        'PR_PUNCTUATION': PR_PUNCTUATION,
    +        'PR_SOURCE': PR_SOURCE,
    +        'PR_STRING': PR_STRING,
    +        'PR_TAG': PR_TAG,
    +        'PR_TYPE': PR_TYPE
    +      };
    +})();
    diff --git a/jacoco/jacocoHtml/jacoco-resources/redbar.gif b/jacoco/jacocoHtml/jacoco-resources/redbar.gif
    new file mode 100644
    index 0000000000000000000000000000000000000000..c2f71469ba995289439d86ea39b1b33edb03388c
    GIT binary patch
    literal 91
    zcmZ?wbhEHbWMtrCc+AD{pP&D~tn7aso&R25|6^nS*Vg{;>G{84!T)8;{;yfXu$BQ0
    fDgI<(<YM4w&|v@qkQodt90ol_LPjnP91PX~3&9+X
    
    literal 0
    HcmV?d00001
    
    diff --git a/jacoco/jacocoHtml/jacoco-resources/report.css b/jacoco/jacocoHtml/jacoco-resources/report.css
    new file mode 100644
    index 00000000..dd936bca
    --- /dev/null
    +++ b/jacoco/jacocoHtml/jacoco-resources/report.css
    @@ -0,0 +1,243 @@
    +body, td {
    +  font-family:sans-serif;
    +  font-size:10pt;
    +}
    +
    +h1 {
    +  font-weight:bold;
    +  font-size:18pt;
    +}
    +
    +.breadcrumb {
    +  border:#d6d3ce 1px solid;
    +  padding:2px 4px 2px 4px;
    +}
    +
    +.breadcrumb .info {
    +  float:right;
    +}
    +
    +.breadcrumb .info a {
    +  margin-left:8px;
    +}
    +
    +.el_report {
    +  padding-left:18px;
    +  background-image:url(report.gif);
    +  background-position:left center;
    +  background-repeat:no-repeat;
    +}
    +
    +.el_group {
    +  padding-left:18px;
    +  background-image:url(group.gif);
    +  background-position:left center;
    +  background-repeat:no-repeat;
    +}
    +
    +.el_bundle {
    +  padding-left:18px;
    +  background-image:url(bundle.gif);
    +  background-position:left center;
    +  background-repeat:no-repeat;
    +}
    +
    +.el_package {
    +  padding-left:18px;
    +  background-image:url(package.gif);
    +  background-position:left center;
    +  background-repeat:no-repeat;
    +}
    +
    +.el_class {
    +  padding-left:18px;
    +  background-image:url(class.gif);
    +  background-position:left center;
    +  background-repeat:no-repeat;
    +}
    +
    +.el_source {
    +  padding-left:18px;
    +  background-image:url(source.gif);
    +  background-position:left center;
    +  background-repeat:no-repeat;
    +}
    +
    +.el_method {
    +  padding-left:18px;
    +  background-image:url(method.gif);
    +  background-position:left center;
    +  background-repeat:no-repeat;
    +}
    +
    +.el_session {
    +  padding-left:18px;
    +  background-image:url(session.gif);
    +  background-position:left center;
    +  background-repeat:no-repeat;
    +}
    +
    +pre.source {
    +  border:#d6d3ce 1px solid;
    +  font-family:monospace;
    +}
    +
    +pre.source ol {
    +  margin-bottom: 0px;
    +  margin-top: 0px;
    +}
    +
    +pre.source li {
    +  border-left: 1px solid #D6D3CE;
    +  color: #A0A0A0;
    +  padding-left: 0px;
    +}
    +
    +pre.source span.fc {
    +  background-color:#ccffcc;
    +}
    +
    +pre.source span.nc {
    +  background-color:#ffaaaa;
    +}
    +
    +pre.source span.pc {
    +  background-color:#ffffcc;
    +}
    +
    +pre.source span.bfc {
    +  background-image: url(branchfc.gif);
    +  background-repeat: no-repeat;
    +  background-position: 2px center;
    +}
    +
    +pre.source span.bfc:hover {
    +  background-color:#80ff80;
    +}
    +
    +pre.source span.bnc {
    +  background-image: url(branchnc.gif);
    +  background-repeat: no-repeat;
    +  background-position: 2px center;
    +}
    +
    +pre.source span.bnc:hover {
    +  background-color:#ff8080;
    +}
    +
    +pre.source span.bpc {
    +  background-image: url(branchpc.gif);
    +  background-repeat: no-repeat;
    +  background-position: 2px center;
    +}
    +
    +pre.source span.bpc:hover {
    +  background-color:#ffff80;
    +}
    +
    +table.coverage {
    +  empty-cells:show;
    +  border-collapse:collapse;
    +}
    +
    +table.coverage thead {
    +  background-color:#e0e0e0;
    +}
    +
    +table.coverage thead td {
    +  white-space:nowrap;
    +  padding:2px 14px 0px 6px;
    +  border-bottom:#b0b0b0 1px solid;
    +}
    +
    +table.coverage thead td.bar {
    +  border-left:#cccccc 1px solid;
    +}
    +
    +table.coverage thead td.ctr1 {
    +  text-align:right;
    +  border-left:#cccccc 1px solid;
    +}
    +
    +table.coverage thead td.ctr2 {
    +  text-align:right;
    +  padding-left:2px;
    +}
    +
    +table.coverage thead td.sortable {
    +  cursor:pointer;
    +  background-image:url(sort.gif);
    +  background-position:right center;
    +  background-repeat:no-repeat;
    +}
    +
    +table.coverage thead td.up {
    +  background-image:url(up.gif);
    +}
    +
    +table.coverage thead td.down {
    +  background-image:url(down.gif);
    +}
    +
    +table.coverage tbody td {
    +  white-space:nowrap;
    +  padding:2px 6px 2px 6px;
    +  border-bottom:#d6d3ce 1px solid;
    +}
    +
    +table.coverage tbody tr:hover {
    +  background: #f0f0d0 !important;
    +}
    +
    +table.coverage tbody td.bar {
    +  border-left:#e8e8e8 1px solid;
    +}
    +
    +table.coverage tbody td.ctr1 {
    +  text-align:right;
    +  padding-right:14px;
    +  border-left:#e8e8e8 1px solid;
    +}
    +
    +table.coverage tbody td.ctr2 {
    +  text-align:right;
    +  padding-right:14px;
    +  padding-left:2px;
    +}
    +
    +table.coverage tfoot td {
    +  white-space:nowrap;
    +  padding:2px 6px 2px 6px;
    +}
    +
    +table.coverage tfoot td.bar {
    +  border-left:#e8e8e8 1px solid;
    +}
    +
    +table.coverage tfoot td.ctr1 {
    +  text-align:right;
    +  padding-right:14px;
    +  border-left:#e8e8e8 1px solid;
    +}
    +
    +table.coverage tfoot td.ctr2 {
    +  text-align:right;
    +  padding-right:14px;
    +  padding-left:2px;
    +}
    +
    +.footer {
    +  margin-top:20px;
    +  border-top:#d6d3ce 1px solid;
    +  padding-top:2px;
    +  font-size:8pt;
    +  color:#a0a0a0;
    +}
    +
    +.footer a {
    +  color:#a0a0a0;
    +}
    +
    +.right {
    +  float:right;
    +}
    diff --git a/jacoco/jacocoHtml/jacoco-resources/report.gif b/jacoco/jacocoHtml/jacoco-resources/report.gif
    new file mode 100644
    index 0000000000000000000000000000000000000000..8547be50bf3e97e725920927b5aa4cdb031f4823
    GIT binary patch
    literal 363
    zcmZ?wbhEHb6krfwSZc{In}J~s1H&!`1_uX+xVSjMb&S>db~X8S)dhAn1$OlXwvB~0
    zO@%hC#Wq5_7&^+V`^qgRRa;E2HJ?*&DsqWoev|2fCetO&CQDmPR<;_iXfs~ZZnVC`
    za8s8-+pK*(^AAm4c5K#~(^ocST-lU)byMc8y)_R`^xu2&{oaco_g{R!|Ki8Pmp>lA
    z{_*VHkC*R%zWMa)!{^_hzyAL8?f2(zzrTL}{q@K1Z$Ey2|M}<VuRs5>0mYvzj9d)%
    z3_1)z0P+(9TgQR<1s*zF)+bahX*_u_??Pbv&V#KE^V2&`bhGjjR;*MxC8EFO_3_}<
    zH?w9WrJ7AX`tJM8r525X{~8+WorLsRL^?W{nR=L*odosT`KItOGtTI963}JgV_m??
    z%&>&9-=1G*^3>@wm-A|~FmK+nbvd`DhNhP0UUhXIS1vYAPL5-o?Ce}VXI&i`tO1G(
    BvdRDe
    
    literal 0
    HcmV?d00001
    
    diff --git a/jacoco/jacocoHtml/jacoco-resources/session.gif b/jacoco/jacocoHtml/jacoco-resources/session.gif
    new file mode 100644
    index 0000000000000000000000000000000000000000..0151bad8a001e5cc5cc7723a608185f746b7f8c1
    GIT binary patch
    literal 213
    zcmZ?wbhEHb6krfwXc1xPS$gU4xw~t2pG#?5#^Be>V3WrXI-S9<hrzA(|Nr^_@5k?-
    zZ~y=IhyVNSXZ04}pKqV%t9oe5k~tY+Ar=Pzi2#Z}Sr{1@<Qa4rfB<AC18dL&^}dwM
    zX_r*ys<8N;e6mS?i^dP8jVmAd@U^}&$uv>xc~m$hYN?d{@xrG~CzZCfhpBIRC}Q>I
    kiQ?_Ai=3VZEOFW9fBwaksdwMK(Err)E%VcVRYeAC06w^MK>z>%
    
    literal 0
    HcmV?d00001
    
    diff --git a/jacoco/jacocoHtml/jacoco-resources/sort.gif b/jacoco/jacocoHtml/jacoco-resources/sort.gif
    new file mode 100644
    index 0000000000000000000000000000000000000000..6757c2c32b57d768f3c12c4ae99a28bc32c9cbd7
    GIT binary patch
    literal 58
    zcmZ?wbhEHb<YC}qXkcX6uwldh|Nj+#vM_QnFf!;c00|xjP6h@h!JfpGjC*fB>i!bx
    N`t(%z_h<$NYXI&b5{m!;
    
    literal 0
    HcmV?d00001
    
    diff --git a/jacoco/jacocoHtml/jacoco-resources/sort.js b/jacoco/jacocoHtml/jacoco-resources/sort.js
    new file mode 100644
    index 00000000..fa9db086
    --- /dev/null
    +++ b/jacoco/jacocoHtml/jacoco-resources/sort.js
    @@ -0,0 +1,148 @@
    +/*******************************************************************************
    + * Copyright (c) 2009, 2022 Mountainminds GmbH & Co. KG and Contributors
    + * This program and the accompanying materials are made available under
    + * the terms of the Eclipse Public License 2.0 which is available at
    + * http://www.eclipse.org/legal/epl-2.0
    + *
    + * SPDX-License-Identifier: EPL-2.0
    + *
    + * Contributors:
    + *    Marc R. Hoffmann - initial API and implementation
    + *
    + *******************************************************************************/
    +
    +(function () {
    +
    +  /**
    +   * Sets the initial sorting derived from the hash.
    +   *
    +   * @param linkelementids
    +   *          list of element ids to search for links to add sort inidcator
    +   *          hash links
    +   */
    +  function initialSort(linkelementids) {
    +    window.linkelementids = linkelementids;
    +    var hash = window.location.hash;
    +    if (hash) {
    +      var m = hash.match(/up-./);
    +      if (m) {
    +        var header = window.document.getElementById(m[0].charAt(3));
    +        if (header) {
    +          sortColumn(header, true);
    +        }
    +        return;
    +      }
    +      var m = hash.match(/dn-./);
    +      if (m) {
    +        var header = window.document.getElementById(m[0].charAt(3));
    +        if (header) {
    +          sortColumn(header, false);
    +        }
    +        return
    +      }
    +    }
    +  }
    +
    +  /**
    +   * Sorts the columns with the given header dependening on the current sort state.
    +   */
    +  function toggleSort(header) {
    +    var sortup = header.className.indexOf('down ') == 0;
    +    sortColumn(header, sortup);
    +  }
    +
    +  /**
    +   * Sorts the columns with the given header in the given direction.
    +   */
    +  function sortColumn(header, sortup) {
    +    var table = header.parentNode.parentNode.parentNode;
    +    var body = table.tBodies[0];
    +    var colidx = getNodePosition(header);
    +
    +    resetSortedStyle(table);
    +
    +    var rows = body.rows;
    +    var sortedrows = [];
    +    for (var i = 0; i < rows.length; i++) {
    +      r = rows[i];
    +      sortedrows[parseInt(r.childNodes[colidx].id.slice(1))] = r;
    +    }
    +
    +    var hash;
    +
    +    if (sortup) {
    +      for (var i = sortedrows.length - 1; i >= 0; i--) {
    +        body.appendChild(sortedrows[i]);
    +      }
    +      header.className = 'up ' + header.className;
    +      hash = 'up-' + header.id;
    +    } else {
    +      for (var i = 0; i < sortedrows.length; i++) {
    +        body.appendChild(sortedrows[i]);
    +      }
    +      header.className = 'down ' + header.className;
    +      hash = 'dn-' + header.id;
    +    }
    +
    +    setHash(hash);
    +  }
    +
    +  /**
    +   * Adds the sort indicator as a hash to the document URL and all links.
    +   */
    +  function setHash(hash) {
    +    window.document.location.hash = hash;
    +    ids = window.linkelementids;
    +    for (var i = 0; i < ids.length; i++) {
    +        setHashOnAllLinks(document.getElementById(ids[i]), hash);
    +    }
    +  }
    +
    +  /**
    +   * Extend all links within the given tag with the given hash.
    +   */
    +  function setHashOnAllLinks(tag, hash) {
    +    links = tag.getElementsByTagName("a");
    +    for (var i = 0; i < links.length; i++) {
    +        var a = links[i];
    +        var href = a.href;
    +        var hashpos = href.indexOf("#");
    +        if (hashpos != -1) {
    +            href = href.substring(0, hashpos);
    +        }
    +        a.href = href + "#" + hash;
    +    }
    +  }
    +
    +  /**
    +   * Calculates the position of a element within its parent.
    +   */
    +  function getNodePosition(element) {
    +    var pos = -1;
    +    while (element) {
    +      element = element.previousSibling;
    +      pos++;
    +    }
    +    return pos;
    +  }
    +
    +  /**
    +   * Remove the sorting indicator style from all headers.
    +   */
    +  function resetSortedStyle(table) {
    +    for (var c = table.tHead.firstChild.firstChild; c; c = c.nextSibling) {
    +      if (c.className) {
    +        if (c.className.indexOf('down ') == 0) {
    +          c.className = c.className.slice(5);
    +        }
    +        if (c.className.indexOf('up ') == 0) {
    +          c.className = c.className.slice(3);
    +        }
    +      }
    +    }
    +  }
    +
    +  window['initialSort'] = initialSort;
    +  window['toggleSort'] = toggleSort;
    +
    +})();
    diff --git a/jacoco/jacocoHtml/jacoco-resources/source.gif b/jacoco/jacocoHtml/jacoco-resources/source.gif
    new file mode 100644
    index 0000000000000000000000000000000000000000..b226e41c5276581db33d71525298ef572cc5d7ce
    GIT binary patch
    literal 354
    zcmZ?wbhEHb6krfwxXQrr`Rnf=KmWY@^y|~t-#>r-`SJ62+pK*(^ACOa@_X{KW3$$r
    zUbOlAiXE5N?74dH#gDtszu$lH{mGl3&)@xg`{~!`Z@=#VMPB~6_u~7*S3h2T`1$R}
    z?`Q9Re)#(P)3@JWfBgRb^LKTLe^s%6bxA;7sb4jaQ5?`-<<ng5TVLWgvEHM%)~l!1
    zYi_IS^d`3r{dQ}59F})EE$?<()ZzT#ME{lvwpTV~T-lU)Yj4ffO_~4y|7XAeia%Kx
    z85k@XbU-p7KQXY?ADC0%p(B)eLgkXi62W-^(!DQ#v2a~Gz-z9%&!+3h!38t#X02Ds
    zad;WPFvUVOY)YY2k84HG1kp%gVW!3wVI5ap$%?8ZHc4GqO=+PiQzvV>Y72H(vk7Xs
    us!1$fvP8{QU92ZrK%7tARasP&f6JDw8m_8J3W|I7DyXXX9C3DJum%7=h^`F)
    
    literal 0
    HcmV?d00001
    
    diff --git a/jacoco/jacocoHtml/jacoco-resources/up.gif b/jacoco/jacocoHtml/jacoco-resources/up.gif
    new file mode 100644
    index 0000000000000000000000000000000000000000..58ed21660ec467736a4d2af17d91341f7cfb556c
    GIT binary patch
    literal 67
    zcmZ?wbhEHb<YC}qSjfcSX{EDa!-oH0p!k!8k&A(eL5G2Xk%5PSlYxOrWJ=;nroA^G
    Ub$^Kz-Nct)ygK&ScM%3_0PmU?SpWb4
    
    literal 0
    HcmV?d00001
    
    diff --git a/jacoco/jacocoHtml/jacoco-sessions.html b/jacoco/jacocoHtml/jacoco-sessions.html
    new file mode 100644
    index 00000000..1b040052
    --- /dev/null
    +++ b/jacoco/jacocoHtml/jacoco-sessions.html
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="jacoco-resources/report.gif" type="image/gif"/><title>Sessions</title></head><body><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="jacoco-sessions.html" class="el_session">Sessions</a></span><a href="index.html" class="el_report">backend</a> &gt; <span class="el_session">Sessions</span></div><h1>Sessions</h1><p>This coverage report is based on execution data from the following sessions:</p><table class="coverage" cellspacing="0"><thead><tr><td>Session</td><td>Start Time</td><td>Dump Time</td></tr></thead><tbody><tr><td><span class="el_session">192.168.nate.com-bb3aee86</span></td><td>2024. 8. 20. 오후 3:37:34</td><td>2024. 8. 20. 오후 3:37:35</td></tr></tbody></table><p>Execution data for the following classes is considered in this report:</p><table class="coverage" cellspacing="0"><thead><tr><td>Class</td><td>Id</td></tr></thead><tbody><tr><td><span class="el_class">com.esotericsoftware.kryo.io.Input</span></td><td><code>82caa4ac8d2c9ad6</code></td></tr><tr><td><span class="el_class">com.esotericsoftware.kryo.io.Output</span></td><td><code>2e152e7951e62ecf</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.domain.DrawParticipationInfo</span></td><td><code>2f7522a1176e6343</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.domain.DrawParticipationInfo.DrawParticipationInfoBuilder</span></td><td><code>a198037a6f575d42</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.main.DrawMainFullAttendResponseDto</span></td><td><code>5c9b412866dc804d</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.main.DrawMainFullAttendResponseDto.DrawMainFullAttendResponseDtoBuilder</span></td><td><code>0497d1854ec6c326</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.main.DrawMainFullAttendResponseDto.DrawMainFullAttendResponseDtoBuilderImpl</span></td><td><code>2e7d9fe254887d73</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.main.DrawMainResponseDto</span></td><td><code>e57f49414d11ebfb</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.main.DrawMainResponseDto.DrawMainResponseDtoBuilder</span></td><td><code>09f060456f4172fd</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.main.DrawMainResponseDto.DrawMainResponseDtoBuilderImpl</span></td><td><code>37345d1746f193ab</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.modal.WinModal</span></td><td><code>a01d8303a8865ab3</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.modal.WinModal.WinModalBuilder</span></td><td><code>1a6963b760751eeb</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.participate.DrawLoseModalResponseDto</span></td><td><code>7a5eb561faa589a4</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.participate.DrawLoseModalResponseDto.DrawLoseModalResponseDtoBuilder</span></td><td><code>5d74f1fc2ef45fa7</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.participate.DrawLoseModalResponseDto.DrawLoseModalResponseDtoBuilderImpl</span></td><td><code>84cc03278dc14452</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.participate.DrawModalResponseDto</span></td><td><code>6047b37791ab65ea</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.participate.DrawModalResponseDto.DrawModalResponseDtoBuilder</span></td><td><code>c3962ef39da578ec</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.participate.DrawWinModalResponseDto</span></td><td><code>6bfbb033abb50778</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.participate.DrawWinModalResponseDto.DrawWinModalResponseDtoBuilder</span></td><td><code>5f2d70e3be129fde</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.participate.DrawWinModalResponseDto.DrawWinModalResponseDtoBuilderImpl</span></td><td><code>131f28ef10783c4b</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.result.DrawHistoryLoserResponseDto</span></td><td><code>3430a3c9da5951be</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.result.DrawHistoryLoserResponseDto.DrawHistoryLoserResponseDtoBuilder</span></td><td><code>ad9d3df2817e4569</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.result.DrawHistoryLoserResponseDto.DrawHistoryLoserResponseDtoBuilderImpl</span></td><td><code>7dfcd130fa9d73a5</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.result.DrawHistoryResponseDto</span></td><td><code>2743dea079f1a671</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.result.DrawHistoryResponseDto.DrawHistoryResponseDtoBuilder</span></td><td><code>21de0674438a3595</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.result.DrawHistoryWinnerResponseDto</span></td><td><code>b4123ef1399dce26</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.result.DrawHistoryWinnerResponseDto.DrawHistoryWinnerResponseDtoBuilder</span></td><td><code>09887a2c24ffe6c7</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.result.DrawHistoryWinnerResponseDto.DrawHistoryWinnerResponseDtoBuilderImpl</span></td><td><code>88fbd0ad48ca50f4</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.repository.DrawParticipationInfoRepository.MockitoMock.idCetuk9</span></td><td><code>64b6eb41fc47e799</code></td></tr><tr><td><a href="com.softeer.backend.fo_domain.draw.service/DrawService.html" class="el_class">com.softeer.backend.fo_domain.draw.service.DrawService</a></td><td><code>5955d6e56d8c2266</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.service.DrawServiceTest</span></td><td><code>9834fa8beee5feeb</code></td></tr><tr><td><a href="com.softeer.backend.fo_domain.share.domain/ShareInfo.html" class="el_class">com.softeer.backend.fo_domain.share.domain.ShareInfo</a></td><td><code>719e11d9b36a4460</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.share.domain.ShareInfo.ShareInfoBuilder</span></td><td><code>c12b2da32dbf2907</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.share.repository.ShareInfoRepository.MockitoMock.NtCPzznW</span></td><td><code>88af071ced4f1c14</code></td></tr><tr><td><span class="el_class">net.bytebuddy.ByteBuddy</span></td><td><code>d4e5f2084d659ff9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.ClassFileVersion</span></td><td><code>312924d88702471f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.ClassFileVersion.VersionLocator.Resolved</span></td><td><code>9ac78bd064c76f8d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.ClassFileVersion.VersionLocator.Resolver</span></td><td><code>8e3a1b13b270b126</code></td></tr><tr><td><span class="el_class">net.bytebuddy.NamingStrategy.AbstractBase</span></td><td><code>77e9d686c976f6e6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.NamingStrategy.Suffixing</span></td><td><code>65bfa03c85847dc9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.NamingStrategy.Suffixing.BaseNameResolver.ForUnnamedType</span></td><td><code>1fb9c5c929a4a173</code></td></tr><tr><td><span class="el_class">net.bytebuddy.NamingStrategy.SuffixingRandom</span></td><td><code>cdbdedcf0cea0a02</code></td></tr><tr><td><span class="el_class">net.bytebuddy.TypeCache</span></td><td><code>aced8dc0367a5d96</code></td></tr><tr><td><span class="el_class">net.bytebuddy.TypeCache.LookupKey</span></td><td><code>b75da15a4577d948</code></td></tr><tr><td><span class="el_class">net.bytebuddy.TypeCache.SimpleKey</span></td><td><code>99731a44c3f39c30</code></td></tr><tr><td><span class="el_class">net.bytebuddy.TypeCache.Sort</span></td><td><code>3f135d4f310abf3c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.TypeCache.Sort.1</span></td><td><code>3be4336e35a8cbfd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.TypeCache.Sort.2</span></td><td><code>5a2bb9e71930a24a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.TypeCache.Sort.3</span></td><td><code>5792db85826ac4ba</code></td></tr><tr><td><span class="el_class">net.bytebuddy.TypeCache.StorageKey</span></td><td><code>da984e48de27d4a8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.TypeCache.WithInlineExpunction</span></td><td><code>6677b9b25e623b8e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent</span></td><td><code>ad71a9981ce31835</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.AgentProvider.ForByteBuddyAgent</span></td><td><code>d96d83c378e4b7c7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.AttachmentProvider</span></td><td><code>558b162ec3514d70</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.AttachmentProvider.Accessor.ExternalAttachment</span></td><td><code>bc4dc1ecf926b7aa</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.AttachmentProvider.Accessor.Simple</span></td><td><code>fe449611bc5d402e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.AttachmentProvider.Accessor.Simple.WithExternalAttachment</span></td><td><code>8ab7d03279c5ecf1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.AttachmentProvider.Compound</span></td><td><code>8b67942538e8ebd3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.AttachmentProvider.ForEmulatedAttachment</span></td><td><code>92a70a9938510bd5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.AttachmentProvider.ForJ9Vm</span></td><td><code>efd931cc867f3dab</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.AttachmentProvider.ForModularizedVm</span></td><td><code>55ea154b91646a94</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.AttachmentProvider.ForStandardToolsJarVm</span></td><td><code>ce5818e184069ce4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.AttachmentProvider.ForUserDefinedToolsJar</span></td><td><code>fb47100058e0a73b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.AttachmentTypeEvaluator.ForJava9CapableVm</span></td><td><code>31af3eb996b54a27</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.AttachmentTypeEvaluator.InstallationAction</span></td><td><code>afbcafb17aff1452</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.ProcessProvider.ForCurrentVm</span></td><td><code>a469226be5030f2e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.ProcessProvider.ForCurrentVm.ForJava9CapableVm</span></td><td><code>09404c6c75e98c1b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.Installer</span></td><td><code>ba923adaa06c53f6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice</span></td><td><code>b0fe0e71ff93f6a2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.AdviceVisitor</span></td><td><code>6c52713bd97aebdf</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.AdviceVisitor.WithExitAdvice</span></td><td><code>6bcdd2ea66d30c7b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.AdviceVisitor.WithExitAdvice.WithoutExceptionHandling</span></td><td><code>3a922059b9efa307</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.ArgumentHandler.Factory</span></td><td><code>8f558df144a79fa3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.ArgumentHandler.Factory.1</span></td><td><code>b8c59524d3c1608c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.ArgumentHandler.Factory.2</span></td><td><code>d7e18c5e34e45431</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.ArgumentHandler.ForAdvice.Default</span></td><td><code>2654b7be38550369</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.ArgumentHandler.ForAdvice.Default.ForMethodEnter</span></td><td><code>23d924c1a642e5ac</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.ArgumentHandler.ForAdvice.Default.ForMethodExit</span></td><td><code>009324e69dfb7bee</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.ArgumentHandler.ForInstrumentedMethod.Default</span></td><td><code>c4b2699457e6f507</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.ArgumentHandler.ForInstrumentedMethod.Default.Copying</span></td><td><code>f1f7ecd140ebfad8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Delegator.ForRegularInvocation.Factory</span></td><td><code>e7dcdbb5632c4506</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher</span></td><td><code>8c02dfd8d10c42cf</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.Inactive</span></td><td><code>3af781df5fc5d561</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.Inlining</span></td><td><code>e20e8dd106f2f99f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.Inlining.CodeTranslationVisitor</span></td><td><code>da8495a6f5b0618f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.Inlining.Resolved</span></td><td><code>51bdb329d6523d2a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.Inlining.Resolved.AdviceMethodInliner</span></td><td><code>f2f0958e8ece3557</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.Inlining.Resolved.AdviceMethodInliner.ExceptionTableCollector</span></td><td><code>bb7fcec382de281f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.Inlining.Resolved.AdviceMethodInliner.ExceptionTableExtractor</span></td><td><code>b52eebb59cb3741b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.Inlining.Resolved.AdviceMethodInliner.ExceptionTableSubstitutor</span></td><td><code>d3779cedd1dab2c3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.Inlining.Resolved.ForMethodEnter</span></td><td><code>78e0d8685ef1ad78</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.Inlining.Resolved.ForMethodEnter.WithRetainedEnterType</span></td><td><code>2425d09ef91b43a5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.Inlining.Resolved.ForMethodExit</span></td><td><code>23e144b8483497f2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.Inlining.Resolved.ForMethodExit.WithoutExceptionHandler</span></td><td><code>b6f105d99e448647</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.Disabled</span></td><td><code>b48ef93464355186</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForType</span></td><td><code>48fb914baef18f09</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForValue</span></td><td><code>6ad96dd8e24a5fa3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForValue.1</span></td><td><code>d283ee8efcc21527</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForValue.2</span></td><td><code>d999fb1d1c4d10f3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForValue.3</span></td><td><code>a699658f52dd8c14</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForValue.4</span></td><td><code>76dfa51cd1b559c5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForValue.5</span></td><td><code>927826306c7c3f9c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForValue.6</span></td><td><code>bb01690954d53c4c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForValue.7</span></td><td><code>a82b12d0db3c3ffa</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForValue.8</span></td><td><code>791f94716069d428</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForValue.9</span></td><td><code>b0dd23a0fc8a3914</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForValue.Bound</span></td><td><code>de2631f1bc7af48b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForValue.OfNonDefault</span></td><td><code>191c3f826cae1fe8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.Relocation.ForLabel</span></td><td><code>0a196b169de105b2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.Resolved.AbstractBase</span></td><td><code>e26d32a2dfd4e517</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.SuppressionHandler.NoOp</span></td><td><code>83e82e51ac39da5c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.SuppressionHandler.Suppressing</span></td><td><code>97f0d2d1abc8a41a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.ExceptionHandler.Default</span></td><td><code>95aa59b2ac6c5532</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.ExceptionHandler.Default.1</span></td><td><code>6c847fdbf8e9412f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.ExceptionHandler.Default.2</span></td><td><code>460a77dcbeb82603</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.ExceptionHandler.Default.3</span></td><td><code>d05e63aa5c5677f9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.MethodSizeHandler.Default</span></td><td><code>39955d981daffba8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.MethodSizeHandler.Default.ForAdvice</span></td><td><code>96016eaf0b89ffa0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.MethodSizeHandler.Default.WithCopiedArguments</span></td><td><code>6316ae6b42ae182c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.NoExceptionHandler</span></td><td><code>c716788084c49961</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.Factory.AdviceType</span></td><td><code>222344ae47fda22a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.Factory.Illegal</span></td><td><code>b824ec4854bde89c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForAllArguments</span></td><td><code>1473b7bf9fc4e1b5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForAllArguments.Factory</span></td><td><code>98148d6454b592af</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForArgument</span></td><td><code>bf5687f0da9f282c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForArgument.Unresolved</span></td><td><code>70d54b6bc8b1a165</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForArgument.Unresolved.Factory</span></td><td><code>c81d13dcb77ae44a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForEnterValue</span></td><td><code>5f66c9717dc9cd52</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForEnterValue.Factory</span></td><td><code>00d9225ad08c457a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForExitValue.Factory</span></td><td><code>4cceb48fab57271e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForField.Unresolved.Factory</span></td><td><code>0ea3c196b6e38c75</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForFieldHandle.Unresolved.ReaderFactory</span></td><td><code>34b038446b31ef68</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForFieldHandle.Unresolved.WriterFactory</span></td><td><code>0932f02483480c5e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForInstrumentedMethod</span></td><td><code>65354e871d8adbde</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForInstrumentedMethod.1</span></td><td><code>4a0705f218dbb9fc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForInstrumentedMethod.2</span></td><td><code>d19b1cccf33a5a8f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForInstrumentedMethod.3</span></td><td><code>8de7b4c791e41ff3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForInstrumentedMethod.4</span></td><td><code>7ef55ab4ec291ec2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForInstrumentedMethod.5</span></td><td><code>a42feaf4b03f011c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForInstrumentedType</span></td><td><code>c6ccb02973e68c83</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForLocalValue.Factory</span></td><td><code>0d73abcfe4f6cd84</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForOrigin.Factory</span></td><td><code>ba9fe45627be64ec</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForReturnValue</span></td><td><code>037de4c0de22ee60</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForReturnValue.Factory</span></td><td><code>8c33b59194419c40</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForSelfCallHandle.Factory</span></td><td><code>2e0b5be7f8d227d2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForStackManipulation</span></td><td><code>893f7d56b99ed2f9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForStackManipulation.Factory</span></td><td><code>ff46cb5a042d7392</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForStubValue</span></td><td><code>0d0dac7cedadacd4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForThisReference</span></td><td><code>4a18584d2e6f227a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForThisReference.Factory</span></td><td><code>4fd20920981119f6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForThrowable.Factory</span></td><td><code>66521af76037a434</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForUnusedValue.Factory</span></td><td><code>9f8c6b55fbfa959d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.Sort</span></td><td><code>07c4c74b6c947d77</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.Sort.1</span></td><td><code>8762020e5a551f03</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.Sort.2</span></td><td><code>0132b220a0ddeced</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.Target.ForArray</span></td><td><code>ad5edf15a11747f0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.Target.ForArray.ReadOnly</span></td><td><code>f1af9ec13976a523</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.Target.ForDefaultValue</span></td><td><code>12ba553207b3fbc6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.Target.ForDefaultValue.ReadWrite</span></td><td><code>2fa4d41d2b076afc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.Target.ForStackManipulation</span></td><td><code>f4fee7d60b5ebfea</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.Target.ForVariable</span></td><td><code>c78affc57d49d65f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.Target.ForVariable.ReadOnly</span></td><td><code>6337d04d57e8e4d5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.Target.ForVariable.ReadWrite</span></td><td><code>ed4dd37175d86fc9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.PostProcessor.NoOp</span></td><td><code>1734734198eaa842</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.StackMapFrameHandler.Default</span></td><td><code>a2cdb1250c1f8c77</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.StackMapFrameHandler.Default.ForAdvice</span></td><td><code>8054e1db604d40e7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.StackMapFrameHandler.Default.Initialization</span></td><td><code>58f9436b88573fcc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.StackMapFrameHandler.Default.Initialization.1</span></td><td><code>b3b933a2a8bb0347</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.StackMapFrameHandler.Default.Initialization.2</span></td><td><code>b24e2d2b2973973c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.StackMapFrameHandler.Default.TranslationMode</span></td><td><code>391e320601da554c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.StackMapFrameHandler.Default.TranslationMode.1</span></td><td><code>5d217eb3f927f488</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.StackMapFrameHandler.Default.TranslationMode.2</span></td><td><code>fa5d135a66e1fa58</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.StackMapFrameHandler.Default.TranslationMode.3</span></td><td><code>2dce5e71b7838990</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.StackMapFrameHandler.Default.WithPreservedArguments</span></td><td><code>903f1e2f6280986b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.StackMapFrameHandler.Default.WithPreservedArguments.WithArgumentCopy</span></td><td><code>c0a8da66d215f7da</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.WithCustomMapping</span></td><td><code>78848064739adad4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.AsmVisitorWrapper.AbstractBase</span></td><td><code>3cd03b050731d22c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.AsmVisitorWrapper.Compound</span></td><td><code>7b1e520e5f4262e6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.AsmVisitorWrapper.ForDeclaredMethods</span></td><td><code>573191880a5a4e0d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.AsmVisitorWrapper.ForDeclaredMethods.DispatchingVisitor</span></td><td><code>ac51d486f8ec0e4b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.AsmVisitorWrapper.ForDeclaredMethods.Entry</span></td><td><code>28eb46b4467366d6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.AsmVisitorWrapper.NoOp</span></td><td><code>a613c160b15bbc65</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.MemberRemoval</span></td><td><code>005cb62907cc0df7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.MemberRemoval.MemberRemovingClassVisitor</span></td><td><code>fe382217ff7273dc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.ByteCodeElement.Token.TokenList</span></td><td><code>5956eb03e0839596</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.ModifierReviewable.AbstractBase</span></td><td><code>0b625f401d945e23</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.NamedElement.WithDescriptor</span></td><td><code>69f25e85d31086f5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.TypeVariableSource.AbstractBase</span></td><td><code>4471bc67a44c1ef1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationDescription</span></td><td><code>7e080fcc4ab41eb1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationDescription.AbstractBase</span></td><td><code>55a8b2f7b58a15aa</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationDescription.ForLoadedAnnotation</span></td><td><code>a2b247526c4d26ca</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationList.AbstractBase</span></td><td><code>8e489ae727355271</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationList.Empty</span></td><td><code>7f4960ffee633b85</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationList.Explicit</span></td><td><code>f438077a66a539b8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationList.ForLoadedAnnotations</span></td><td><code>443952df3e869f3e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue</span></td><td><code>e46e60f3e4357d8a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.AbstractBase</span></td><td><code>6b46c288929d794a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant</span></td><td><code>650f7b88da7502df</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForArrayType</span></td><td><code>9124b7f697a6f4a6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForArrayType.1</span></td><td><code>3e2be7538b8965b3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForArrayType.2</span></td><td><code>f54ef75705e3ce59</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForArrayType.3</span></td><td><code>37ebfc80c418ddec</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForArrayType.4</span></td><td><code>fbf5bd783149eab3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForArrayType.5</span></td><td><code>893433ef70df56ad</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForArrayType.6</span></td><td><code>3ad4bb1a0eb14611</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForArrayType.7</span></td><td><code>09ec057a92378b89</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForArrayType.8</span></td><td><code>e8575505930d9ea2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForArrayType.9</span></td><td><code>f6b42b3550f2d376</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType</span></td><td><code>8683233734d98d81</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType.1</span></td><td><code>ecf694f5c718a013</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType.2</span></td><td><code>113fe247f14fdcdd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType.3</span></td><td><code>ad40ce4c8d647d57</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType.4</span></td><td><code>649136274570c878</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType.5</span></td><td><code>25519a3723562b18</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType.6</span></td><td><code>d0a4ee1eb78e8925</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType.7</span></td><td><code>5cc6d38c7688ce9e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType.8</span></td><td><code>542fa217a5fe4c51</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType.9</span></td><td><code>9adc51229ebb26c9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForDescriptionArray</span></td><td><code>198e8cb892ebb0c6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForEnumerationDescription</span></td><td><code>451401174e8ca82f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForEnumerationDescription.Loaded</span></td><td><code>fda0610025cc12ff</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForTypeDescription</span></td><td><code>256f9475d7baab5e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.Loaded.AbstractBase</span></td><td><code>1a834bbf25c86ab4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.State</span></td><td><code>db0e0a0878d7e335</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.enumeration.EnumerationDescription.AbstractBase</span></td><td><code>36efae2fe3237ba9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.enumeration.EnumerationDescription.ForLoadedEnumeration</span></td><td><code>5b47cbeca30adac0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldDescription</span></td><td><code>53da8eaebbfbddbb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldDescription.AbstractBase</span></td><td><code>a20f5231a76bb980</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldDescription.ForLoadedField</span></td><td><code>31b51b7792efcc8a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldDescription.InDefinedShape.AbstractBase</span></td><td><code>7b3d946febaf5d33</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldDescription.Latent</span></td><td><code>b47200ad7e88dffb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldDescription.SignatureToken</span></td><td><code>3e1967b3504d4f43</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldDescription.Token</span></td><td><code>966f799bfb7c0668</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldList.AbstractBase</span></td><td><code>78739d279005d8a4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldList.Explicit</span></td><td><code>323b76a02a64f9a7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldList.ForLoadedFields</span></td><td><code>fc8cc870e5f42b89</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldList.ForTokens</span></td><td><code>ea98dba6ef4eb758</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription</span></td><td><code>4242f9f3ec05d9d8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.AbstractBase</span></td><td><code>d7265e748488ffc7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.ForLoadedConstructor</span></td><td><code>c634ab9c8e587e89</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.ForLoadedMethod</span></td><td><code>483c8f6d97caf847</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.InDefinedShape.AbstractBase</span></td><td><code>b33d93bb8cbd26c6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.InDefinedShape.AbstractBase.ForLoadedExecutable</span></td><td><code>2c34e3cd1c4620d7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.Latent</span></td><td><code>eba047d0ce33d6c2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.Latent.TypeInitializer</span></td><td><code>c77dbea1c1a57995</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.SignatureToken</span></td><td><code>806effdacef53f94</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.Token</span></td><td><code>d7a148a88bb734b4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.TypeSubstituting</span></td><td><code>78d976a6f400ec70</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.TypeToken</span></td><td><code>ef258f0fca0278e0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodList.AbstractBase</span></td><td><code>b054427f9b6a48f1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodList.Explicit</span></td><td><code>b03ab4c21a93dfd0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodList.ForLoadedMethods</span></td><td><code>38bd1bf17eb05676</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodList.ForTokens</span></td><td><code>40aa960dc7616ac5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodList.TypeSubstituting</span></td><td><code>f1f510557a04392e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterDescription.AbstractBase</span></td><td><code>244fa52c57557e62</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterDescription.ForLoadedParameter</span></td><td><code>b764f219b6fb497f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterDescription.ForLoadedParameter.OfConstructor</span></td><td><code>82a00db077e8417d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterDescription.ForLoadedParameter.OfMethod</span></td><td><code>8bd70a245946537e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterDescription.InDefinedShape.AbstractBase</span></td><td><code>717f5d8d90c005f1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterDescription.Latent</span></td><td><code>eb41c7e5a8c26f4d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterDescription.Token</span></td><td><code>6f6ff151883ddc85</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterDescription.Token.TypeList</span></td><td><code>0a24417518716030</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterDescription.TypeSubstituting</span></td><td><code>fbb01b7a5d680315</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterList.AbstractBase</span></td><td><code>6fe6f7a3a2c191ea</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterList.Empty</span></td><td><code>8f4a45d2f54ed28b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterList.Explicit.ForTypes</span></td><td><code>75d84e0b4fcd99a9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterList.ForLoadedExecutable</span></td><td><code>1456c072c3be7105</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterList.ForLoadedExecutable.OfConstructor</span></td><td><code>6d7eaa8911075319</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterList.ForLoadedExecutable.OfMethod</span></td><td><code>f0835708e2d15fb4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterList.ForTokens</span></td><td><code>b77d0ee711552f0c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterList.TypeSubstituting</span></td><td><code>293f1f350b97c439</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.modifier.FieldManifestation</span></td><td><code>61ed9ad5f460d425</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.modifier.ModifierContributor.Resolver</span></td><td><code>4c37457cc5fe415c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.modifier.Ownership</span></td><td><code>03978521bbedeaac</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.modifier.SynchronizationState</span></td><td><code>1ee1e76d573ad75b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.modifier.SyntheticState</span></td><td><code>0ea0b3d14a159257</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.modifier.TypeManifestation</span></td><td><code>823497b74af56cf0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.modifier.Visibility</span></td><td><code>eddec8671a9488f2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.modifier.Visibility.1</span></td><td><code>d7e383ada6123e01</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.PackageDescription.AbstractBase</span></td><td><code>fbc5f3918eb9463b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.PackageDescription.ForLoadedPackage</span></td><td><code>647cf445f49b7cf5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.PackageDescription.Simple</span></td><td><code>0cb49b8e5cdceb1d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.RecordComponentList.AbstractBase</span></td><td><code>fa2d664156de0c87</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.RecordComponentList.Empty</span></td><td><code>facb71157fa46ed2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.RecordComponentList.ForTokens</span></td><td><code>b72447d1fcbe18bd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDefinition.Sort</span></td><td><code>e252ac8a021f4082</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDefinition.SuperClassIterator</span></td><td><code>dcc41092c6176f54</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription</span></td><td><code>36fd0fa20ad52135</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.AbstractBase</span></td><td><code>5a025e6b487dc4d4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.AbstractBase.OfSimpleType</span></td><td><code>b303484d47559945</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.ArrayProjection</span></td><td><code>b2eaa11a9cb2dfdf</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.ForLoadedType</span></td><td><code>eaba95dbe7ff20e3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic</span></td><td><code>5601518ac3dba89e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AbstractBase</span></td><td><code>8945db84e33ef474</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator</span></td><td><code>3667bf74596341be</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator.Chained</span></td><td><code>2ffd4f682b50b7a3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator.ForLoadedExecutableExceptionType</span></td><td><code>23c446e41b00e3d9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator.ForLoadedExecutableParameterType</span></td><td><code>e193c6fbd692e84b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator.ForLoadedField</span></td><td><code>e78b70f23aa515c7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator.ForLoadedInterface</span></td><td><code>ff7d6be363126897</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator.ForLoadedMethodReturnType</span></td><td><code>6a49119e2f4e7230</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator.ForLoadedSuperClass</span></td><td><code>e75747426d68d747</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator.ForLoadedTypeVariable</span></td><td><code>6a8729e15b6adbf3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator.Simple</span></td><td><code>033590c3703b359c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.ForComponentType</span></td><td><code>1fa21fa04ad679a2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.ForOwnerType</span></td><td><code>cd6561b27e9a72b9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.ForTypeArgument</span></td><td><code>1a24787ee7d1fdc5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.ForTypeVariableBoundType</span></td><td><code>a53f175bb28a13d3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.ForTypeVariableBoundType.OfFormalTypeVariable</span></td><td><code>e84aca4ed9c79b18</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.ForWildcardUpperBoundType</span></td><td><code>7a16218b4894f05c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.NoOp</span></td><td><code>4b1711dc36edca14</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection</span></td><td><code>b83a2a6843ec6916</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.ForLoadedFieldType</span></td><td><code>1f7db8763aa7d013</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.ForLoadedReturnType</span></td><td><code>a44a81d315df37f4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.ForLoadedSuperClass</span></td><td><code>7f84f737a5aabc33</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.OfConstructorParameter</span></td><td><code>11fdd224cb82bcc7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.OfMethodParameter</span></td><td><code>bdf150371e5d9a88</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.WithEagerNavigation</span></td><td><code>51829bfdd36917df</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.WithEagerNavigation.OfAnnotatedElement</span></td><td><code>3a1283c2ece97dc2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.WithLazyNavigation</span></td><td><code>7b9fc51e9dea8fed</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.WithLazyNavigation.OfAnnotatedElement</span></td><td><code>11fd85e81e92a190</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.WithResolvedErasure</span></td><td><code>73e71223628a86da</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProxy</span></td><td><code>4b75a549e2d82324</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfGenericArray</span></td><td><code>b8f177aeb4e618c7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfGenericArray.ForLoadedType</span></td><td><code>87fa142a0a041b9b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfGenericArray.Latent</span></td><td><code>d3ee0097f5390e1c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfNonGenericType</span></td><td><code>66e33f9250f83f5f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfNonGenericType.ForErasure</span></td><td><code>71abd4e32c5684d2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfNonGenericType.ForLoadedType</span></td><td><code>8f8a4651bfc2f94f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfNonGenericType.Latent</span></td><td><code>dcd275cbd2ef3e3c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfParameterizedType</span></td><td><code>f2bed5aa1c761680</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfParameterizedType.ForGenerifiedErasure</span></td><td><code>767a5f3f34700710</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfParameterizedType.ForLoadedType</span></td><td><code>41d8107b8c1daaa8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfParameterizedType.ForLoadedType.ParameterArgumentTypeList</span></td><td><code>267045e8fde43f71</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfParameterizedType.Latent</span></td><td><code>8e35c02988d3f1af</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfTypeVariable</span></td><td><code>ddbefd09e03fd1b0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfTypeVariable.ForLoadedType</span></td><td><code>d5143b55d1bedb1e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfTypeVariable.ForLoadedType.TypeVariableBoundList</span></td><td><code>8261a702dcf6b622</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfTypeVariable.Symbolic</span></td><td><code>b027db9e179ee652</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfTypeVariable.WithAnnotationOverlay</span></td><td><code>cbd83eec8d2e8489</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfWildcardType</span></td><td><code>2bc3088df35c8422</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfWildcardType.ForLoadedType</span></td><td><code>4f61b7ff9f8e931f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfWildcardType.ForLoadedType.WildcardLowerBoundTypeList</span></td><td><code>63922206431afb9f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfWildcardType.ForLoadedType.WildcardUpperBoundTypeList</span></td><td><code>0554a12f18e220b5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfWildcardType.Latent</span></td><td><code>6a424c1b0863ca5b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.ForRawType</span></td><td><code>ef813417b8dd5115</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.ForSignatureVisitor</span></td><td><code>7c9ee6e3c386d02f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.ForSignatureVisitor.OfTypeArgument</span></td><td><code>d8e6035b10ed1222</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Reducing</span></td><td><code>7e9f92325793d797</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Reifying</span></td><td><code>f695f950ef96d452</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Reifying.1</span></td><td><code>3887b35198c64c3f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Reifying.2</span></td><td><code>dda2c47b308dfe77</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Substitutor</span></td><td><code>1643b68abc9226b5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Substitutor.ForAttachment</span></td><td><code>90652ad844af97e8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Substitutor.ForDetachment</span></td><td><code>314960996c0e9fe4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Substitutor.ForTypeVariableBinding</span></td><td><code>1aa87951e5899f01</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Substitutor.ForTypeVariableBinding.RetainedMethodTypeVariable</span></td><td><code>13a8e6bcf229981a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Substitutor.ForTypeVariableBinding.TypeVariableSubstitutor</span></td><td><code>6e5bae1e7e888fd4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Substitutor.WithoutTypeSubstitution</span></td><td><code>10dc462a02d28569</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.TypeErasing</span></td><td><code>7c319b6cec9530e2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Validator</span></td><td><code>13ff0a7ec71a9596</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Validator.1</span></td><td><code>3122adbd7aaaeca9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Validator.2</span></td><td><code>36d36c5061f2243e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Validator.3</span></td><td><code>ca3595549a574d77</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Validator.ForTypeAnnotations</span></td><td><code>f22bf42b89621378</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.LazyProxy</span></td><td><code>1060349463062059</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList</span></td><td><code>da60a7cfb717d0a8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.AbstractBase</span></td><td><code>4700315364477234</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Empty</span></td><td><code>59d00ad7b53c811a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Explicit</span></td><td><code>81495dfc3a359dfe</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.ForLoadedTypes</span></td><td><code>4356a7471aec6f20</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.AbstractBase</span></td><td><code>5376e1d2298a6512</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.Empty</span></td><td><code>df9431d33e66dbb4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.Explicit</span></td><td><code>1ab8c93e54ee2ac6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.ForDetachedTypes</span></td><td><code>1b6544725fdb45a6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.ForDetachedTypes.OfTypeVariables</span></td><td><code>05b85732c40f12b7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.ForDetachedTypes.OfTypeVariables.AttachedTypeVariable</span></td><td><code>8133514c5d90955c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.ForDetachedTypes.WithResolvedErasure</span></td><td><code>3ae7efc80de7c3db</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.ForLoadedTypes</span></td><td><code>c603bfa8790b860c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.ForLoadedTypes.OfTypeVariables</span></td><td><code>d713fc161a8b3c83</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.OfConstructorExceptionTypes</span></td><td><code>41a985dd07ed867c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.OfLoadedInterfaceTypes</span></td><td><code>99d4f3faf0ed1337</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.OfLoadedInterfaceTypes.TypeProjection</span></td><td><code>7f6f3c7654719119</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.OfMethodExceptionTypes</span></td><td><code>74966b175ac75ab9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.OfMethodExceptionTypes.TypeProjection</span></td><td><code>2d651d381fd3d0a8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeVariableToken</span></td><td><code>0b904605bce2d673</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.ClassFileLocator.ForClassLoader</span></td><td><code>bc2296cfb91301b0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.ClassFileLocator.ForClassLoader.BootLoaderProxyCreationAction</span></td><td><code>bef49ddd37f152e7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.ClassFileLocator.Resolution.Explicit</span></td><td><code>a44d2b3d4cf22e0e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.ClassFileLocator.Simple</span></td><td><code>5ec3e1fe094d9677</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase</span></td><td><code>8b697109899c9f1c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase.Adapter</span></td><td><code>c239cebb09dc521b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase.Adapter.FieldDefinitionAdapter</span></td><td><code>95f089373e121f7c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase.Adapter.MethodDefinitionAdapter</span></td><td><code>2e966526edcb873d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase.Adapter.MethodDefinitionAdapter.AnnotationAdapter</span></td><td><code>8158ace8dc815026</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase.Adapter.MethodDefinitionAdapter.SimpleParameterAnnotationAdapter</span></td><td><code>47371bc63761204d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase.Adapter.MethodMatchAdapter</span></td><td><code>3d734adb6ddc1b18</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase.Adapter.MethodMatchAdapter.AnnotationAdapter</span></td><td><code>870c4a748d272702</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase.Adapter.OptionalMethodMatchAdapter</span></td><td><code>8ae5d509775196fa</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase.Delegator</span></td><td><code>3f1fabfaec45a27c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase.UsingTypeWriter</span></td><td><code>3ca14d92cfc3bc3b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.FieldDefinition.Optional.AbstractBase</span></td><td><code>7ff3ef3d7a52aeda</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.FieldDefinition.Optional.Valuable.AbstractBase</span></td><td><code>6f4cbe7b3cf65d41</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.FieldDefinition.Optional.Valuable.AbstractBase.Adapter</span></td><td><code>f6c60e62d9344f54</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.AbstractBase</span></td><td><code>3bf64c5f90a05b38</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.AbstractBase.Adapter</span></td><td><code>e1416bad6f01b268</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.ExceptionDefinition.AbstractBase</span></td><td><code>6a660545adbbedde</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.ImplementationDefinition.AbstractBase</span></td><td><code>8233c005598191ed</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.ParameterDefinition.AbstractBase</span></td><td><code>af2910a38e7ac02e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.ParameterDefinition.Initial.AbstractBase</span></td><td><code>d24c948296af6d68</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.ParameterDefinition.Simple.AbstractBase</span></td><td><code>9b31315749acebaf</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.ParameterDefinition.Simple.Annotatable.AbstractBase</span></td><td><code>6c42f489e12f3841</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.ParameterDefinition.Simple.Annotatable.AbstractBase.Adapter</span></td><td><code>18ee5a7716255e41</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.ReceiverTypeDefinition.AbstractBase</span></td><td><code>2531fe5794acf41f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.TypeVariableDefinition.AbstractBase</span></td><td><code>433828b210243d94</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Default</span></td><td><code>0f62ddd57860b9e1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Default.Loaded</span></td><td><code>973a422e6432796e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Default.Unloaded</span></td><td><code>cd577d53be4c22d5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.TargetType</span></td><td><code>26c139b5f2f58862</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.Transformer.Compound</span></td><td><code>a5a52522b43091ef</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.Transformer.ForMethod</span></td><td><code>22ab387d59f6c970</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.Transformer.ForMethod.MethodModifierTransformer</span></td><td><code>829c18ff395159ba</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.Transformer.ForMethod.TransformedMethod</span></td><td><code>083bfd5734c4504d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.Transformer.ForMethod.TransformedMethod.AttachmentVisitor</span></td><td><code>43014c50e1310fbf</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.Transformer.ForMethod.TransformedMethod.TransformedParameter</span></td><td><code>84642c4a6f0d1bdc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.Transformer.ForMethod.TransformedMethod.TransformedParameterList</span></td><td><code>54d561afbee57f99</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.Transformer.NoOp</span></td><td><code>49cd89a2b3b975a3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.TypeResolutionStrategy.Passive</span></td><td><code>d5784ee7fb36ce53</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.VisibilityBridgeStrategy.Default</span></td><td><code>ae8d9f7fd85c6aad</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.VisibilityBridgeStrategy.Default.1</span></td><td><code>63c0d42260c7599e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.VisibilityBridgeStrategy.Default.2</span></td><td><code>a8389e9d32c4ecd7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.VisibilityBridgeStrategy.Default.3</span></td><td><code>30f7afc5a8be245c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ByteArrayClassLoader</span></td><td><code>d00c8733dea299dd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ByteArrayClassLoader.ClassDefinitionAction</span></td><td><code>25513de2d7f3a1cc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ByteArrayClassLoader.PackageLookupStrategy.CreationAction</span></td><td><code>5ab9077977a569a3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ByteArrayClassLoader.PackageLookupStrategy.ForJava9CapableVm</span></td><td><code>f72740caac2e4fba</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ByteArrayClassLoader.PersistenceHandler</span></td><td><code>6d61f61ae555258a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ByteArrayClassLoader.PersistenceHandler.1</span></td><td><code>680488d6e62d40d1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ByteArrayClassLoader.PersistenceHandler.2</span></td><td><code>6bf6915f86de0792</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ByteArrayClassLoader.SynchronizationStrategy.CreationAction</span></td><td><code>49781f9101d11acc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ByteArrayClassLoader.SynchronizationStrategy.ForJava8CapableVm</span></td><td><code>ccca5f228cf2a595</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassFilePostProcessor.NoOp</span></td><td><code>3c8088887326744a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassInjector.AbstractBase</span></td><td><code>331215a38873f162</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassInjector.UsingReflection</span></td><td><code>9b4c6d016e86d89d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassInjector.UsingReflection.Dispatcher.CreationAction</span></td><td><code>e95efd9bc7c2fbec</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassInjector.UsingReflection.Dispatcher.UsingUnsafeInjection</span></td><td><code>ee369f8a9915cac0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassInjector.UsingUnsafe</span></td><td><code>6f205111f44e745f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassInjector.UsingUnsafe.Dispatcher.CreationAction</span></td><td><code>acadd9b7008a78d6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassInjector.UsingUnsafe.Dispatcher.Enabled</span></td><td><code>a365360113d70680</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassLoadingStrategy</span></td><td><code>17fb081ccc92f99c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassLoadingStrategy.Default</span></td><td><code>7390ec8634515594</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassLoadingStrategy.Default.InjectionDispatcher</span></td><td><code>759cb7a298fc98b7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassLoadingStrategy.Default.WrappingDispatcher</span></td><td><code>88c49bdd78533ba6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassLoadingStrategy.ForUnsafeInjection</span></td><td><code>fae0995eb7740944</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.InjectionClassLoader</span></td><td><code>cbd809288c0dad36</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.MultipleParentClassLoader.Builder</span></td><td><code>c6fb9f2d63f216f9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.PackageDefinitionStrategy.Definition.Trivial</span></td><td><code>b136ce1c9387d14f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.PackageDefinitionStrategy.Definition.Undefined</span></td><td><code>2f1d95f3613d9f49</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.PackageDefinitionStrategy.NoOp</span></td><td><code>3d34f5f46e1c0610</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.PackageDefinitionStrategy.Trivial</span></td><td><code>848dce81f4e8d105</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.ClassWriterStrategy.Default</span></td><td><code>f0774d4bbe85a809</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.ClassWriterStrategy.Default.1</span></td><td><code>09a3c2cfe88a5ae4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.ClassWriterStrategy.Default.2</span></td><td><code>76afb59bd5abdd5f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.ClassWriterStrategy.FrameComputingClassWriter</span></td><td><code>52e278e8d81b4dc4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.FieldLocator.AbstractBase</span></td><td><code>54f490d54da29c16</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.FieldLocator.ForClassHierarchy</span></td><td><code>166417044cd009a4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.FieldLocator.ForClassHierarchy.Factory</span></td><td><code>f656bc98a970fd47</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.FieldLocator.Resolution.Illegal</span></td><td><code>a9972cd13cf8462c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.FieldLocator.Resolution.Simple</span></td><td><code>de8883fdeb865c93</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.FieldRegistry.Default</span></td><td><code>cc5265630d0906f2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.FieldRegistry.Default.Compiled</span></td><td><code>00933225bc77b175</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.FieldRegistry.Default.Compiled.Entry</span></td><td><code>0ec1361a69a955fd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.FieldRegistry.Default.Entry</span></td><td><code>a7413622fd851aa9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.InstrumentedType.Default</span></td><td><code>f7579d046e578eec</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.InstrumentedType.Factory.Default</span></td><td><code>cd900ae01efd903f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.InstrumentedType.Factory.Default.1</span></td><td><code>a7ce85bb2f37ff77</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.InstrumentedType.Factory.Default.2</span></td><td><code>ad157a47dace4f55</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler</span></td><td><code>fc88be698cc4a50f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.AbstractBase</span></td><td><code>ad55505e167100d9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default</span></td><td><code>af94c7ab11c1fcdd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Harmonizer.ForJavaMethod</span></td><td><code>7031164d2b791e9e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Harmonizer.ForJavaMethod.Token</span></td><td><code>7182cc44c6651e89</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Key</span></td><td><code>a65d37875a395ddb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Key.Detached</span></td><td><code>3f02da9703ce5c2d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Key.Harmonized</span></td><td><code>388d8cbf8e63aa90</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Key.Store</span></td><td><code>1a1546093db6edc8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Key.Store.Entry.Ambiguous</span></td><td><code>0b0a2fb9ec96eb00</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Key.Store.Entry.Initial</span></td><td><code>ea7f0be36536a4bb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Key.Store.Entry.Resolved</span></td><td><code>ba93041ed575e0c7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Key.Store.Entry.Resolved.Node</span></td><td><code>1f19152a07e27690</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Key.Store.Graph</span></td><td><code>dd183a5630da8a82</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Merger.Directional</span></td><td><code>431cb1fc240f1328</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.ForDeclaredMethods</span></td><td><code>80835a5a4610b1d3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Empty</span></td><td><code>de57d507ae61b464</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Linked.Delegation</span></td><td><code>7341085250d5f338</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Node.Simple</span></td><td><code>f9767f80e7124acc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Node.Sort</span></td><td><code>8e20af4bf9dad8a0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Node.Unresolved</span></td><td><code>c42332646fb3e771</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.NodeList</span></td><td><code>15622cc8eb6ac006</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Simple</span></td><td><code>3ab25bf2fa755adb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodRegistry.Default</span></td><td><code>a688cfda627119db</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodRegistry.Default.Compiled</span></td><td><code>dcd52aed23ae0b55</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodRegistry.Default.Compiled.Entry</span></td><td><code>44710ee8541c44cf</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodRegistry.Default.Entry</span></td><td><code>b1cbe9bdfc76e994</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodRegistry.Default.Prepared</span></td><td><code>9bba4ee547c8082c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodRegistry.Default.Prepared.Entry</span></td><td><code>53689d93cf82f768</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodRegistry.Handler.ForImplementation</span></td><td><code>ea77701fcbc47e2c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodRegistry.Handler.ForImplementation.Compiled</span></td><td><code>7b000ab44a4af2cc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.RecordComponentRegistry.Default</span></td><td><code>eec49897d441dcbe</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.RecordComponentRegistry.Default.Compiled</span></td><td><code>1d64a300c478cbd4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeInitializer.Drain.Default</span></td><td><code>a3bc2736d5ad95f5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeInitializer.None</span></td><td><code>d062b02ed3f4d342</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeInitializer.Simple</span></td><td><code>3429322f4d42e2d4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeValidation</span></td><td><code>b9ab70dc0d5e3c60</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default</span></td><td><code>c13cf997e386f3cc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ClassDumpAction.Dispatcher.Disabled</span></td><td><code>d4f0d2e7fbcab045</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ForCreation</span></td><td><code>fc9ad618be46b3c0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ForInlining</span></td><td><code>299c2478af802227</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ForInlining.ContextRegistry</span></td><td><code>dfee6deed9a49e33</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ForInlining.WithFullProcessing</span></td><td><code>bf4cd0530bebc828</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ForInlining.WithFullProcessing.InitializationHandler.Creating</span></td><td><code>b01ca83867dc0a50</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ForInlining.WithFullProcessing.OpenedClassRemapper</span></td><td><code>9e0d8af34c811602</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ForInlining.WithFullProcessing.RedefinitionClassVisitor</span></td><td><code>f41a382ab3215f3e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.SignatureKey</span></td><td><code>d20a5d7220afbb42</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.UnresolvedType</span></td><td><code>3f5380fd3549f07e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ValidatingClassVisitor</span></td><td><code>0449b85d73902e5f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ValidatingClassVisitor.Constraint.Compound</span></td><td><code>522fa4e49e512828</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ValidatingClassVisitor.Constraint.ForClass</span></td><td><code>73e7f3e477121987</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ValidatingClassVisitor.Constraint.ForClassFileVersion</span></td><td><code>9e87393ba441dbdc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ValidatingClassVisitor.ValidatingFieldVisitor</span></td><td><code>32779ab29633e9ef</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ValidatingClassVisitor.ValidatingMethodVisitor</span></td><td><code>a412717a1b97aba3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.FieldPool.Record.ForExplicitField</span></td><td><code>a03e0587988aae1f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.FieldPool.Record.ForImplicitField</span></td><td><code>b7f49ad994b5b989</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.MethodPool.Record.AccessBridgeWrapper</span></td><td><code>9527fd76169900c9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.MethodPool.Record.AccessBridgeWrapper.AccessorBridge</span></td><td><code>1496ecf7d9a77025</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.MethodPool.Record.AccessBridgeWrapper.BridgeTarget</span></td><td><code>993a3ceba7447d02</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.MethodPool.Record.ForDefinedMethod</span></td><td><code>e3fde8a86929682d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.MethodPool.Record.ForDefinedMethod.WithBody</span></td><td><code>963047d43410ba83</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.MethodPool.Record.ForNonImplementedMethod</span></td><td><code>28a00d78fb553a8c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.MethodPool.Record.Sort</span></td><td><code>928d954d831a88bc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.inline.AbstractInliningDynamicTypeBuilder</span></td><td><code>3dcbe96c7737ffda</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.inline.InliningImplementationMatcher</span></td><td><code>385ec334716921a9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.inline.MethodRebaseResolver.Disabled</span></td><td><code>687ef4457dff2d12</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.inline.RedefinitionDynamicTypeBuilder</span></td><td><code>cc7957febfc5cb21</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.ConstructorStrategy.Default</span></td><td><code>0d114e09a2faac83</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.ConstructorStrategy.Default.1</span></td><td><code>16fc5c99e02d7f9f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.ConstructorStrategy.Default.2</span></td><td><code>dd199479878d5739</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.ConstructorStrategy.Default.3</span></td><td><code>792ea5ce51475037</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.ConstructorStrategy.Default.4</span></td><td><code>98fceb895a262b45</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.ConstructorStrategy.Default.5</span></td><td><code>f0898605f9020c16</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.SubclassDynamicTypeBuilder</span></td><td><code>15df30285a830f7f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.SubclassDynamicTypeBuilder.InstrumentableMatcher</span></td><td><code>c2850d79fc87446b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.SubclassImplementationTarget</span></td><td><code>17f509a8b52b39f3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.SubclassImplementationTarget.Factory</span></td><td><code>f6c0a700d93e9d10</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.SubclassImplementationTarget.OriginTypeResolver</span></td><td><code>282c73cc811d5b71</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.SubclassImplementationTarget.OriginTypeResolver.1</span></td><td><code>2eb773d398b87160</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.SubclassImplementationTarget.OriginTypeResolver.2</span></td><td><code>903a99da03746eb8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.FieldAccessor</span></td><td><code>c717fff4ac23e0ca</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.FieldAccessor.FieldLocation.Relative</span></td><td><code>b3e919957424f848</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.FieldAccessor.FieldLocation.Relative.Prepared</span></td><td><code>aa68ebf60b4f0bef</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.FieldAccessor.FieldNameExtractor.ForBeanProperty</span></td><td><code>b178a2653a5bafe9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.FieldAccessor.FieldNameExtractor.ForBeanProperty.1</span></td><td><code>e8b3de54c6138911</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.FieldAccessor.FieldNameExtractor.ForBeanProperty.2</span></td><td><code>7de6825165503ed1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.FieldAccessor.ForImplicitProperty</span></td><td><code>2077b83bedb8edde</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.FieldAccessor.ForImplicitProperty.Appender</span></td><td><code>b07cb6f14ea187be</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.Default</span></td><td><code>8e12655fc557738e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.Default.AbstractPropertyAccessorMethod</span></td><td><code>f23dc6369a1530e9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.Default.AccessorMethod</span></td><td><code>9be66f5be8d9fa45</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.Default.AccessorMethodDelegation</span></td><td><code>542747c99b66ec54</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.Default.CacheValueField</span></td><td><code>31a151ad62bab895</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.Default.DelegationRecord</span></td><td><code>70526320a1ad9cc3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.Default.Factory</span></td><td><code>d24c34bb404ca859</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.Default.FieldCacheEntry</span></td><td><code>8e7d6b7ed6743234</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.Disabled</span></td><td><code>53c73dd8eaae49ac</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.Disabled.Factory</span></td><td><code>adbbab47d629267a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.ExtractableView.AbstractBase</span></td><td><code>959623d5e0291105</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.FrameGeneration</span></td><td><code>a627c6d2ae1b5444</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.FrameGeneration.1</span></td><td><code>aaa6feaf64d85e8c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.FrameGeneration.2</span></td><td><code>a780e343d57d9071</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.FrameGeneration.3</span></td><td><code>2c34a94c8147f015</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.SpecialMethodInvocation.AbstractBase</span></td><td><code>a38cf2d5897906e6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.SpecialMethodInvocation.Illegal</span></td><td><code>0c59caca158bef52</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.SpecialMethodInvocation.Simple</span></td><td><code>1d406914f1f50463</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Target.AbstractBase</span></td><td><code>f7115dc2601ca003</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Target.AbstractBase.DefaultMethodInvocation</span></td><td><code>d1fa9bdfb38c1038</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Target.AbstractBase.DefaultMethodInvocation.1</span></td><td><code>5721353bb15366ec</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Target.AbstractBase.DefaultMethodInvocation.2</span></td><td><code>a3a810091d4e9086</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.LoadedTypeInitializer.NoOp</span></td><td><code>1af8ca0d9b7adbe8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodAccessorFactory.AccessType</span></td><td><code>a8b1b417256441f1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall</span></td><td><code>ae4dca29f42e39d5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.Appender</span></td><td><code>36c14b929a5d9485</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.ArgumentLoader.ForMethodParameter</span></td><td><code>f435ec4bd832341c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.ArgumentLoader.ForMethodParameter.Factory</span></td><td><code>14d10834f68773ca</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.MethodInvoker.ForContextualInvocation</span></td><td><code>67d21233b61c5c16</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.MethodInvoker.ForContextualInvocation.Factory</span></td><td><code>473b92f68bfbccba</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.MethodInvoker.ForVirtualInvocation.WithImplicitType</span></td><td><code>a39c338c28e91204</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.MethodLocator.ForExplicitMethod</span></td><td><code>98c72c41253ed08a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TargetHandler.ForMethodCall</span></td><td><code>0caad707b30ae193</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TargetHandler.ForMethodCall.Factory</span></td><td><code>c1832cb5d54736e4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TargetHandler.ForMethodCall.Resolved</span></td><td><code>7bf0e6eeede8ac9d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TargetHandler.ForMethodParameter</span></td><td><code>7f338183a38839e1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TargetHandler.ForMethodParameter.Resolved</span></td><td><code>6392db92c53c1bb9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TargetHandler.ForSelfOrStaticInvocation</span></td><td><code>d1b18e3b58b886f7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TargetHandler.ForSelfOrStaticInvocation.Factory</span></td><td><code>ce3c235283ac0dd6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TargetHandler.ForSelfOrStaticInvocation.Resolved</span></td><td><code>1c1abf86b318738e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TerminationHandler.Simple</span></td><td><code>6690aed6e7a18218</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TerminationHandler.Simple.1</span></td><td><code>295d1288fc335ed1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TerminationHandler.Simple.2</span></td><td><code>9e9230bbbb470354</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TerminationHandler.Simple.3</span></td><td><code>f579959891e14d29</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.WithoutSpecifiedTarget</span></td><td><code>d0b373c9e0216c67</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodDelegation</span></td><td><code>c1415fee7b21870c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodDelegation.Appender</span></td><td><code>f1ea47b04d738fac</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodDelegation.ImplementationDelegate.Compiled.ForStaticCall</span></td><td><code>2afafc9e131f3a8c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodDelegation.ImplementationDelegate.ForStaticMethod</span></td><td><code>5b03f5bbc3a0bfa2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodDelegation.WithCustomProperties</span></td><td><code>15991377debf2c67</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.SuperMethodCall</span></td><td><code>48a9709638c71f00</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.SuperMethodCall.Appender</span></td><td><code>1278488d60ed8e86</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.SuperMethodCall.Appender.TerminationHandler</span></td><td><code>35d2e0ef6d7f630d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.SuperMethodCall.Appender.TerminationHandler.1</span></td><td><code>05664af3a3b6738b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.SuperMethodCall.Appender.TerminationHandler.2</span></td><td><code>be670f96c6d93831</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationAppender.1</span></td><td><code>09e39802151aefbf</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationAppender.Default</span></td><td><code>7787cf7f483d6685</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationAppender.ForTypeAnnotations</span></td><td><code>040d5aab72de4582</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationAppender.Target.OnField</span></td><td><code>52ad3ce83f52621f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationAppender.Target.OnMethod</span></td><td><code>b2534f024a4880dd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationAppender.Target.OnMethodParameter</span></td><td><code>c9f39d80b694c092</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationAppender.Target.OnType</span></td><td><code>db8f4f1dbbcf3c3e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationRetention</span></td><td><code>6dca59a58d56874f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationValueFilter.Default</span></td><td><code>190882f8828de18a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationValueFilter.Default.1</span></td><td><code>593737e47cc84848</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationValueFilter.Default.2</span></td><td><code>a61861baa0bc96ee</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.FieldAttributeAppender.ForInstrumentedField</span></td><td><code>ca19f51ae14fb7b4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.MethodAttributeAppender.Compound</span></td><td><code>87d24d92007e506e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.MethodAttributeAppender.Factory.Compound</span></td><td><code>85113e9ca3ae38c3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.MethodAttributeAppender.ForInstrumentedMethod</span></td><td><code>4e40a53e08d4cbbb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.MethodAttributeAppender.ForInstrumentedMethod.1</span></td><td><code>a3b87b1a75d290fd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.MethodAttributeAppender.ForInstrumentedMethod.2</span></td><td><code>10e734a991eea3bf</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.MethodAttributeAppender.NoOp</span></td><td><code>aa6841038c96aed0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.TypeAttributeAppender.ForInstrumentedType</span></td><td><code>537a1dac83c99ae9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.TypeAttributeAppender.ForInstrumentedType.Differentiating</span></td><td><code>542ad65dee4078dd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.auxiliary.AuxiliaryType</span></td><td><code>577555a7861b5701</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.auxiliary.AuxiliaryType.NamingStrategy.SuffixingRandom</span></td><td><code>9ff4d19573d987f3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.auxiliary.MethodCallProxy</span></td><td><code>e4ad67673bba91b3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.auxiliary.MethodCallProxy.AssignableSignatureCall</span></td><td><code>e32307e618f933aa</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.auxiliary.MethodCallProxy.ConstructorCall</span></td><td><code>b40129a97ef170e6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.auxiliary.MethodCallProxy.ConstructorCall.Appender</span></td><td><code>6a4a35552c21bf78</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.auxiliary.MethodCallProxy.MethodCall</span></td><td><code>d2f0f120376a3b4f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.auxiliary.MethodCallProxy.MethodCall.Appender</span></td><td><code>df4a3b2e219da333</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.auxiliary.MethodCallProxy.PrecomputedMethodGraph</span></td><td><code>7fb29fbd9d22e04c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.ArgumentTypeResolver</span></td><td><code>74973272be85ce17</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.ArgumentTypeResolver.ParameterIndexToken</span></td><td><code>a8052b758f0a0361</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.DeclaringTypeResolver</span></td><td><code>d1000b5d5bf7bd79</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.1</span></td><td><code>54de841f73ee4eae</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.AmbiguityResolver</span></td><td><code>7d40b5a2d5d69397</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.AmbiguityResolver.Compound</span></td><td><code>eab4a548d2693cd2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.AmbiguityResolver.Resolution</span></td><td><code>e8ca39d95b4ade42</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.BindingResolver.Default</span></td><td><code>ed3f9e212bdf4696</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.MethodBinding.Builder</span></td><td><code>ffaacecf2e1956bd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.MethodBinding.Builder.Build</span></td><td><code>fbe15ed2c0b7c26f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.MethodBinding.Illegal</span></td><td><code>ca301be97fe35cde</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.MethodInvoker.Simple</span></td><td><code>dafea2ba3b2f164b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.ParameterBinding.Anonymous</span></td><td><code>30b0f734840f8b2c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.ParameterBinding.Illegal</span></td><td><code>470dc52d77c3898e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.ParameterBinding.Unique</span></td><td><code>c60c100f523804e4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.Processor</span></td><td><code>1dd9238ba412581f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.TerminationHandler.Default</span></td><td><code>946265fda2ca27e8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.TerminationHandler.Default.1</span></td><td><code>db109132d7373fda</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.TerminationHandler.Default.2</span></td><td><code>cb3895b610bd15d5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodNameEqualityResolver</span></td><td><code>65a8d1431b34fdcd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.ParameterLengthResolver</span></td><td><code>58a025cd0f10dff1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.AllArguments.Assignment</span></td><td><code>a9a852c11b320ab1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.AllArguments.Binder</span></td><td><code>70d2d38d942236e9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.Argument.Binder</span></td><td><code>d9599526792299bc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.Argument.BindingMechanic</span></td><td><code>3c1577b22755160a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.Argument.BindingMechanic.1</span></td><td><code>0d55bcd6ddcb95ce</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.Argument.BindingMechanic.2</span></td><td><code>a10c7561f9e6f193</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.BindingPriority.Resolver</span></td><td><code>2fd170c18c979895</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.Default.Binder</span></td><td><code>fdd8dd2baa86d3db</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.DefaultCall.Binder</span></td><td><code>da1f6e99880fdd81</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.DefaultCallHandle.Binder</span></td><td><code>e06c83e6a5d67914</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.DefaultMethod.Binder</span></td><td><code>03d209c7b50b3b07</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.DefaultMethodHandle.Binder</span></td><td><code>a2ceb680358bbf3b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.Empty.Binder</span></td><td><code>7c3892404f623e5a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.FieldGetterHandle.Binder</span></td><td><code>861b7c22fc0276d1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.FieldGetterHandle.Binder.Delegate</span></td><td><code>311d13f023d8289a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.FieldSetterHandle.Binder</span></td><td><code>73928d415965e531</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.FieldSetterHandle.Binder.Delegate</span></td><td><code>87df40b62880da89</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.FieldValue.Binder</span></td><td><code>62660cf02a28bd16</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.FieldValue.Binder.Delegate</span></td><td><code>0f20336b20b2e19e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.IgnoreForBinding.Verifier</span></td><td><code>f6eaa0a37f2ce769</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.Origin.Binder</span></td><td><code>de6b5494873daefa</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.RuntimeType.Verifier</span></td><td><code>79ef98193cf36f83</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.StubValue.Binder</span></td><td><code>47dfbe906a0f1712</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.Super.Binder</span></td><td><code>159db3adf8f80917</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.SuperCall.Binder</span></td><td><code>ab7d9c4bff4cce1f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.SuperCallHandle.Binder</span></td><td><code>7b8a4c06e71007ba</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.SuperMethod.Binder</span></td><td><code>787b81ea7c3cf9d1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.SuperMethodHandle.Binder</span></td><td><code>24c923e11496eb8f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder</span></td><td><code>07e504cb3c546aab</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder.DelegationProcessor</span></td><td><code>2084514b37eafe57</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder.DelegationProcessor.Handler.Bound</span></td><td><code>ef7d428377a4cc32</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder.DelegationProcessor.Handler.Unbound</span></td><td><code>268e0923d2bba678</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder.ParameterBinder</span></td><td><code>ba9707c8f3fe13d6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder.ParameterBinder.ForFieldBinding</span></td><td><code>94bb239add34e1bc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder.ParameterBinder.ForFixedValue</span></td><td><code>655436a01f544525</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder.ParameterBinder.ForFixedValue.OfConstant</span></td><td><code>1a94e96610690841</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder.Record</span></td><td><code>e5a54c271a13fa1e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.This.Binder</span></td><td><code>365ed9c01801d8a8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.ByteCodeAppender.Compound</span></td><td><code>e6b18c005febea10</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.ByteCodeAppender.Simple</span></td><td><code>e1016f8961c133f9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.ByteCodeAppender.Size</span></td><td><code>18d689fcde916cfc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.Duplication</span></td><td><code>87726ed8bb6e39de</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.Duplication.1</span></td><td><code>6cbf4aae44bb9c6a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.Duplication.2</span></td><td><code>204abf23cbf37c68</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.Duplication.3</span></td><td><code>0631976e078609bd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.Removal</span></td><td><code>6d539a300caa5092</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.Removal.1</span></td><td><code>ab763f3b743f79a5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.Removal.2</span></td><td><code>fd766afb93ac2a09</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.StackManipulation.AbstractBase</span></td><td><code>31ac4a0904ac3e09</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.StackManipulation.Compound</span></td><td><code>96939a22aac4c91b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.StackManipulation.Illegal</span></td><td><code>d75e2eb0d394f6c3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.StackManipulation.Size</span></td><td><code>e69b15cd3e8d4461</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.StackManipulation.Trivial</span></td><td><code>56f2787cdbce4d40</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.StackSize</span></td><td><code>80f94e8effa2f7bb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.StackSize.1</span></td><td><code>3706a73bbafad769</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.TypeCreation</span></td><td><code>4865d2e454028bc1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.Assigner</span></td><td><code>7e67d52e9390b000</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.Assigner.Typing</span></td><td><code>b09adf7fa17d04b8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.TypeCasting</span></td><td><code>1a445bd188e2931d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.primitive.PrimitiveBoxingDelegate</span></td><td><code>dac9a66a711d1bdb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.primitive.PrimitiveBoxingDelegate.BoxingStackManipulation</span></td><td><code>96e0379915a5a251</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.primitive.PrimitiveTypeAwareAssigner</span></td><td><code>c888a19b998b7769</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.primitive.PrimitiveUnboxingDelegate</span></td><td><code>14e47d44e5cebb1d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.primitive.PrimitiveUnboxingDelegate.ImplicitlyTypedUnboxingResponsible</span></td><td><code>adf7d49661fe0566</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.primitive.PrimitiveWideningDelegate</span></td><td><code>1008755d8fe45330</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.primitive.PrimitiveWideningDelegate.WideningStackManipulation</span></td><td><code>796408ff7247d988</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.primitive.VoidAwareAssigner</span></td><td><code>3df36760b29d387a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.reference.GenericTypeAwareAssigner</span></td><td><code>3623cb487284bb53</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.reference.ReferenceTypeAwareAssigner</span></td><td><code>59b5f6f8641c87f2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.collection.ArrayFactory</span></td><td><code>f2dcfb1430649b3e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.collection.ArrayFactory.ArrayCreator</span></td><td><code>7ff584cc516e3f40</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.collection.ArrayFactory.ArrayCreator.ForReferenceType</span></td><td><code>2ffee25860dde2e1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.collection.ArrayFactory.ArrayStackManipulation</span></td><td><code>2420354f9fdfb502</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.ClassConstant</span></td><td><code>8c2c8e360f844ad5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.ClassConstant.ForReferenceType</span></td><td><code>a779a54b4d7fcd6c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.DefaultValue</span></td><td><code>56544d5987e5a6d8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.DoubleConstant</span></td><td><code>829c95b7b67e95cf</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.FloatConstant</span></td><td><code>bdee038754940fff</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.IntegerConstant</span></td><td><code>58a28f871a6a0499</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.LongConstant</span></td><td><code>113f925135fa3020</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.MethodConstant</span></td><td><code>4af2674773bedc86</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.MethodConstant.CachedMethod</span></td><td><code>927dce16203d5f6c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.MethodConstant.ForMethod</span></td><td><code>5c66dba4a8bfbcea</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.NullConstant</span></td><td><code>9cf4bfc5c52a2517</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.TextConstant</span></td><td><code>76b9599de59f2aeb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.FieldAccess</span></td><td><code>e098860a4703e90a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.FieldAccess.AccessDispatcher</span></td><td><code>20c90535a547e3cd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.FieldAccess.AccessDispatcher.AbstractFieldInstruction</span></td><td><code>75724b7b6b2e4a66</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.FieldAccess.AccessDispatcher.FieldGetInstruction</span></td><td><code>adcac7724ac0272c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.FieldAccess.AccessDispatcher.FieldPutInstruction</span></td><td><code>aeaedb775e139b65</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.MethodInvocation</span></td><td><code>14726e4d8770e5c2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.MethodInvocation.Invocation</span></td><td><code>fa9ba5217301f030</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.MethodInvocation.OfGenericMethod</span></td><td><code>17523e41efd5a475</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.MethodReturn</span></td><td><code>3cbfd6833fda70dd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.MethodVariableAccess</span></td><td><code>7ec211e72c6c3719</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.MethodVariableAccess.MethodLoading</span></td><td><code>0b690307be533e18</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.MethodVariableAccess.MethodLoading.TypeCastingHandler.ForBridgeTarget</span></td><td><code>89785916231f4dad</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.MethodVariableAccess.MethodLoading.TypeCastingHandler.NoOp</span></td><td><code>3f3d0d86b569e241</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.MethodVariableAccess.OffsetLoading</span></td><td><code>4794627822a950ec</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.MethodVariableAccess.OffsetWriting</span></td><td><code>ec4ccc785b7c7e50</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.AnnotationVisitor</span></td><td><code>cd8a8ae8c6a81aac</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.AnnotationWriter</span></td><td><code>0932d72e909ca807</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.Attribute</span></td><td><code>706e3dca943537f4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.ByteVector</span></td><td><code>7b954a37494ae9b1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.ClassReader</span></td><td><code>e338a717450267b6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.ClassVisitor</span></td><td><code>fadf18db959a51c0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.ClassWriter</span></td><td><code>8fef2f78c16bf3a1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.ConstantDynamic</span></td><td><code>b7229c3e0045f54c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.Context</span></td><td><code>e9c1b62b23feb9ea</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.FieldVisitor</span></td><td><code>1e68d610e857eaad</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.FieldWriter</span></td><td><code>3c4ebfcb2bc7032e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.Handle</span></td><td><code>6019e218815e3c26</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.Handler</span></td><td><code>763c7a3b0dc4fc7e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.Label</span></td><td><code>90adaa7d501e514d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.MethodVisitor</span></td><td><code>9ace78a4d431747d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.MethodWriter</span></td><td><code>3bbf4f45000a5b02</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.Opcodes</span></td><td><code>faeee4d0ece993c6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.Symbol</span></td><td><code>667e508aa34354b1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.SymbolTable</span></td><td><code>062167c3c6eec51b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.SymbolTable.Entry</span></td><td><code>9be5b08b0e9ad0e4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.Type</span></td><td><code>ae2dca90336e2c4e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.TypeReference</span></td><td><code>7c2c246da0bafedc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.commons.ClassRemapper</span></td><td><code>3b51d3b9fc7535e2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.commons.FieldRemapper</span></td><td><code>98cdb08947bd5f18</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.commons.Remapper</span></td><td><code>812a9f5a9bb9b509</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.commons.SignatureRemapper</span></td><td><code>f7906518cd91d799</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.commons.SimpleRemapper</span></td><td><code>193adda534bf00c4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.signature.SignatureReader</span></td><td><code>011d12c758b95e5f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.signature.SignatureVisitor</span></td><td><code>482dc0d879af867f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.signature.SignatureWriter</span></td><td><code>bb3fc83b8aaad021</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.AnnotationTypeMatcher</span></td><td><code>4c083a293a95675e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.BooleanMatcher</span></td><td><code>fc276a6c128e2875</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.CollectionErasureMatcher</span></td><td><code>76b5d2cc623cc312</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.CollectionItemMatcher</span></td><td><code>640386844f0e29b8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.CollectionOneToOneMatcher</span></td><td><code>670278e525ff9bfc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.CollectionSizeMatcher</span></td><td><code>8f59b8be9ab4a58b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.DeclaringAnnotationMatcher</span></td><td><code>72a4630003105f69</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.DeclaringTypeMatcher</span></td><td><code>76e282c5482618bb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.DescriptorMatcher</span></td><td><code>e5d21259f82507a7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.ElementMatcher.Junction.AbstractBase</span></td><td><code>d129e1a5bbea50cb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.ElementMatcher.Junction.Conjunction</span></td><td><code>6586c7d2abf8bf59</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.ElementMatcher.Junction.Disjunction</span></td><td><code>78eb86ff19c5e913</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.ElementMatcher.Junction.ForNonNullValues</span></td><td><code>40b97e222b442c20</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.ElementMatchers</span></td><td><code>5da3055b8ba94b32</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.EqualityMatcher</span></td><td><code>7ddcccca3867f2c6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.ErasureMatcher</span></td><td><code>327b39df894c794a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.FailSafeMatcher</span></td><td><code>e67ae39af120023b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.FilterableList.AbstractBase</span></td><td><code>acc833b482b3e913</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.FilterableList.Empty</span></td><td><code>994e694dc878695f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.LatentMatcher.Disjunction</span></td><td><code>cf547e86976c153f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.LatentMatcher.ForFieldToken</span></td><td><code>08b4951ce99afdff</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.LatentMatcher.ForFieldToken.ResolvedMatcher</span></td><td><code>7a313b55df92d5ce</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.LatentMatcher.ForMethodToken</span></td><td><code>acf53d7e0ad9c66c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.LatentMatcher.ForMethodToken.ResolvedMatcher</span></td><td><code>a1b47b682cdd16e5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.LatentMatcher.Resolved</span></td><td><code>838bf93f64347719</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodParameterTypeMatcher</span></td><td><code>d565dce3bed4679b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodParameterTypesMatcher</span></td><td><code>4f9a1c61c2ca1d30</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodParametersMatcher</span></td><td><code>754bf9d07553d1f9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodReturnTypeMatcher</span></td><td><code>1b6fa22a35a706bc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodSortMatcher</span></td><td><code>d9a4a7f8ba8d705a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodSortMatcher.Sort</span></td><td><code>df4da3ccf1c43fb2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodSortMatcher.Sort.1</span></td><td><code>9f8edcf420246fae</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodSortMatcher.Sort.2</span></td><td><code>5b30e294f2304972</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodSortMatcher.Sort.3</span></td><td><code>9c8b9e468a9ba4ee</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodSortMatcher.Sort.4</span></td><td><code>4c3709005a13f932</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodSortMatcher.Sort.5</span></td><td><code>93400b67a6230353</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.ModifierMatcher</span></td><td><code>c0d2e66fbd31c083</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.ModifierMatcher.Mode</span></td><td><code>09bd88f8f539be92</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.NameMatcher</span></td><td><code>b901fc4b35799fa4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.NegatingMatcher</span></td><td><code>a7d93978e9d78d7e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.SignatureTokenMatcher</span></td><td><code>60c758b99c3d9148</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher</span></td><td><code>236df1d1d60ab580</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode</span></td><td><code>78a8ab1a5e998326</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.1</span></td><td><code>197cd818fecbf0dc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.2</span></td><td><code>130a12e752b093e0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.3</span></td><td><code>37e1825b2b41bae8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.4</span></td><td><code>34a59e75ad57ee16</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.5</span></td><td><code>6b18de0e0195fcc7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.6</span></td><td><code>bdaf5299d13e3bfe</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.7</span></td><td><code>f608050eb76b29c9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.8</span></td><td><code>7a1f43a330aa49e3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.9</span></td><td><code>d97cfe0669542624</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.SuperTypeMatcher</span></td><td><code>5f65e9ccb1649334</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.TypeSortMatcher</span></td><td><code>bea3cd319f7a9ab6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.VisibilityMatcher</span></td><td><code>6f0d2c70b6ce50e1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.pool.TypePool.AbstractBase</span></td><td><code>9fb6083dd80a22fc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.pool.TypePool.AbstractBase.Hierarchical</span></td><td><code>af09d201760be842</code></td></tr><tr><td><span class="el_class">net.bytebuddy.pool.TypePool.CacheProvider.NoOp</span></td><td><code>174576454ae1c349</code></td></tr><tr><td><span class="el_class">net.bytebuddy.pool.TypePool.CacheProvider.Simple</span></td><td><code>7bfcbb81282fd7ba</code></td></tr><tr><td><span class="el_class">net.bytebuddy.pool.TypePool.ClassLoading</span></td><td><code>eacd715670bb9cf5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.pool.TypePool.Default</span></td><td><code>d652b7abbf41681e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.pool.TypePool.Default.ReaderMode</span></td><td><code>c7c49aee0ee313c2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.pool.TypePool.Empty</span></td><td><code>3dd3d1db982dbfc3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.pool.TypePool.Explicit</span></td><td><code>eceae2bc3c0ef42b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.CompoundList</span></td><td><code>b8b501baeee21c20</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.ConstantValue.Simple</span></td><td><code>e3630dc7d69b95ee</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.ConstructorComparator</span></td><td><code>c7333b6b982e8e09</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.FieldComparator</span></td><td><code>040e57b459196f7f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.GraalImageCode</span></td><td><code>99c2d8870a99ec8c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.Invoker.Dispatcher</span></td><td><code>b9b5f67cf01bb049</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.JavaConstant.Simple</span></td><td><code>5b025f7cd4895fd5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.JavaConstant.Simple.OfTrivialValue</span></td><td><code>d0617f655417a3d4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.JavaConstant.Simple.OfTrivialValue.ForString</span></td><td><code>45e71adc753caccd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.JavaModule</span></td><td><code>6655d87ef5c48770</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.MethodComparator</span></td><td><code>4e5549fe1a1bb16a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.OpenedClassReader</span></td><td><code>03aca7f7509a23be</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.RandomString</span></td><td><code>475c5a28b2a65671</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.StreamDrainer</span></td><td><code>264534737ce95d78</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher</span></td><td><code>787d0fb443c33196</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.Dispatcher.ForContainerCreation</span></td><td><code>6d0da494448f50f0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.Dispatcher.ForInstanceCheck</span></td><td><code>348c5ed1a0ea72ea</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.Dispatcher.ForNonStaticMethod</span></td><td><code>bf4d2158c4101736</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.Dispatcher.ForStaticMethod</span></td><td><code>2cbd19f9947661fd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.DynamicClassLoader</span></td><td><code>fb77b168217827f2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.DynamicClassLoader.Resolver.CreationAction</span></td><td><code>8ca4ae6007eb9fd7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.DynamicClassLoader.Resolver.ForModuleSystem</span></td><td><code>9a96cee67ed31732</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.InvokerCreationAction</span></td><td><code>8b81db7b9bb021a1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.ProxiedInvocationHandler</span></td><td><code>a4eb032d57e965fc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.privilege.GetMethodAction</span></td><td><code>74124300a1be96ce</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.privilege.GetSystemPropertyAction</span></td><td><code>3dcb9c5481b99d57</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.visitor.ExceptionTableSensitiveMethodVisitor</span></td><td><code>d6e802e0f103ce5a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.visitor.LineNumberPrependingMethodVisitor</span></td><td><code>39913d282d69be33</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.visitor.MetadataAwareClassVisitor</span></td><td><code>01777504b2dd8fd6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.visitor.StackAwareMethodVisitor</span></td><td><code>e665bc6a36ad6fe9</code></td></tr><tr><td><span class="el_class">org.apache.commons.lang.StringUtils</span></td><td><code>9dd94cc65aafa7e1</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.AbstractAssert</span></td><td><code>350d4a3c45c0d8b2</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.AbstractBooleanAssert</span></td><td><code>48a83efc83bd1062</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.AbstractCharSequenceAssert</span></td><td><code>da675e3ab7090aaa</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.AbstractComparableAssert</span></td><td><code>4bc0b15e745cd2bd</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.AbstractIntegerAssert</span></td><td><code>74584e5937642417</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.AbstractObjectAssert</span></td><td><code>9efff4a69b305ce5</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.AbstractStringAssert</span></td><td><code>bc722a6783ecab24</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.Assertions</span></td><td><code>4edb27c6dadb3b26</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.AssertionsForClassTypes</span></td><td><code>485dd7e71971d9a1</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.BooleanAssert</span></td><td><code>7c2437c2727b8309</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.IntegerAssert</span></td><td><code>8f698b21fd75dcf6</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.ObjectAssert</span></td><td><code>1bbc9fbe987a71e1</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.StringAssert</span></td><td><code>276d8048089fdd6d</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.WritableAssertionInfo</span></td><td><code>cfe8767c89787032</code></td></tr><tr><td><span class="el_class">org.assertj.core.configuration.Configuration</span></td><td><code>6ea356a40ee80ccf</code></td></tr><tr><td><span class="el_class">org.assertj.core.configuration.ConfigurationProvider</span></td><td><code>3346c4801f784bb9</code></td></tr><tr><td><span class="el_class">org.assertj.core.configuration.PreferredAssumptionException</span></td><td><code>2789214dba489051</code></td></tr><tr><td><span class="el_class">org.assertj.core.configuration.PreferredAssumptionException.1</span></td><td><code>1eab9d24cce924d2</code></td></tr><tr><td><span class="el_class">org.assertj.core.configuration.Services</span></td><td><code>3dc1dd22400d3099</code></td></tr><tr><td><span class="el_class">org.assertj.core.error.AssertionErrorCreator</span></td><td><code>744bd205226ec15f</code></td></tr><tr><td><span class="el_class">org.assertj.core.error.ConstructorInvoker</span></td><td><code>dbd17ff2cbb8bc28</code></td></tr><tr><td><span class="el_class">org.assertj.core.error.GroupTypeDescription</span></td><td><code>e2d30a487eec2c68</code></td></tr><tr><td><span class="el_class">org.assertj.core.internal.AbstractComparisonStrategy</span></td><td><code>40fb8687fd6113a4</code></td></tr><tr><td><span class="el_class">org.assertj.core.internal.Booleans</span></td><td><code>47899591edb7e017</code></td></tr><tr><td><span class="el_class">org.assertj.core.internal.Comparables</span></td><td><code>492c5254e1e386a8</code></td></tr><tr><td><span class="el_class">org.assertj.core.internal.Conditions</span></td><td><code>e092e4d723bc2314</code></td></tr><tr><td><span class="el_class">org.assertj.core.internal.Failures</span></td><td><code>2cd3f6ce6070185b</code></td></tr><tr><td><span class="el_class">org.assertj.core.internal.Integers</span></td><td><code>51f142568138237e</code></td></tr><tr><td><span class="el_class">org.assertj.core.internal.Numbers</span></td><td><code>b1c5a72fc2773178</code></td></tr><tr><td><span class="el_class">org.assertj.core.internal.Objects</span></td><td><code>fe71671260ce8f9c</code></td></tr><tr><td><span class="el_class">org.assertj.core.internal.StandardComparisonStrategy</span></td><td><code>cb180b5c43beb144</code></td></tr><tr><td><span class="el_class">org.assertj.core.internal.Strings</span></td><td><code>7e045dfabe913b45</code></td></tr><tr><td><span class="el_class">org.assertj.core.presentation.CompositeRepresentation</span></td><td><code>3230199b443ac68a</code></td></tr><tr><td><span class="el_class">org.assertj.core.presentation.StandardRepresentation</span></td><td><code>6d33658e7677a603</code></td></tr><tr><td><span class="el_class">org.assertj.core.util.Arrays</span></td><td><code>20c1f3363764d24e</code></td></tr><tr><td><span class="el_class">org.assertj.core.util.Lists</span></td><td><code>5895215344293d99</code></td></tr><tr><td><span class="el_class">org.assertj.core.util.Streams</span></td><td><code>d730dd591d3325a8</code></td></tr><tr><td><span class="el_class">org.assertj.core.util.introspection.FieldSupport</span></td><td><code>1f44f51b62bb0ce5</code></td></tr><tr><td><span class="el_class">org.assertj.core.util.introspection.PropertySupport</span></td><td><code>381c5ad4b48534d7</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.AbstractTestDescriptor</span></td><td><code>b7d6764e5c2ed1e2</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.DefaultTestClassDescriptor</span></td><td><code>29a580f844a707e9</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.DefaultTestClassRunInfo</span></td><td><code>68a7e79b2914fd4d</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.DefaultTestDescriptor</span></td><td><code>33f0f28b81218a57</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.DefaultTestOutputEvent</span></td><td><code>8b3d72b91c24a69b</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.DefaultTestSuiteDescriptor</span></td><td><code>7ca2225e2fb0b4b2</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.JULRedirector</span></td><td><code>bae8ac50b3f8106a</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor</span></td><td><code>61188fe4ac13d309</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.TestCompleteEvent</span></td><td><code>94a6da85674017e0</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.TestStartEvent</span></td><td><code>739a2bff9c36ddab</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.failure.DefaultThrowableToTestFailureMapper</span></td><td><code>98b3c6d95620e628</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.failure.TestFailureMapper</span></td><td><code>fad0361b08728e0d</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.failure.mappers.AssertErrorMapper</span></td><td><code>f8f52c2b08659a75</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.failure.mappers.AssertjMultipleAssertionsErrorMapper</span></td><td><code>6d9c88eceee97e47</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.failure.mappers.JUnitComparisonTestFailureMapper</span></td><td><code>1870ccedd70c62d3</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.failure.mappers.OpenTestAssertionFailedMapper</span></td><td><code>4ded763dc3dea331</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.failure.mappers.OpenTestMultipleFailuresErrorMapper</span></td><td><code>fd9e46b889182617</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.filter.TestFilterSpec</span></td><td><code>a7526e6ebab295a4</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.filter.TestSelectionMatcher</span></td><td><code>06128e54c9dca021</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.filter.TestSelectionMatcher.FullQualifiedClassNameSelector</span></td><td><code>b0cdbd341967c218</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.filter.TestSelectionMatcher.NoWildcardMatcher</span></td><td><code>c2434758b84103cc</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.filter.TestSelectionMatcher.TestPattern</span></td><td><code>bf83a0bf4a96f644</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestClassProcessor</span></td><td><code>672aa182353275ae</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformSpec</span></td><td><code>f5579f12caeb524a</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor</span></td><td><code>f682a3fb343b4c24</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.BackwardsCompatibleLauncherSession</span></td><td><code>15441bf1aaf0f299</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.ClassMethodNameFilter</span></td><td><code>2e75ab5ae4a5698f</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.CollectAllTestClassesExecutor</span></td><td><code>8c9350cf7e325a14</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessorFactory</span></td><td><code>a7b6a6fbba6df145</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestExecutionListener</span></td><td><code>b76948e94474cdbc</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.processors.CaptureTestOutputTestResultProcessor</span></td><td><code>29d7c45ae3841147</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.processors.DefaultStandardOutputRedirector</span></td><td><code>c0ce962d1b0afc6c</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.processors.DefaultStandardOutputRedirector.DiscardAction</span></td><td><code>b1b2c3fe575a0572</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.processors.DefaultStandardOutputRedirector.WriteAction</span></td><td><code>313e54868cd6f7bf</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.processors.TestOutputRedirector</span></td><td><code>3b6a0392c9e3dd02</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.processors.TestOutputRedirector.Forwarder</span></td><td><code>2f0a51434c23293a</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.results.AttachParentTestResultProcessor</span></td><td><code>6d02567fd2a7d62d</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer</span></td><td><code>86c8a2a7f444af17</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.DefaultNestedTestSuiteDescriptorSerializer</span></td><td><code>d06ce1b3d75f97ec</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.DefaultParameterizedTestDescriptorSerializer</span></td><td><code>110fe58b6a08d18a</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.DefaultTestClassDescriptorSerializer</span></td><td><code>7a33def0e5f77169</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.DefaultTestClassRunInfoSerializer</span></td><td><code>756d4261d461b736</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.DefaultTestDescriptorSerializer</span></td><td><code>f22763fb9799791b</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.DefaultTestFailureSerializer</span></td><td><code>a3fa0d4e2033ff7b</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.DefaultTestMethodDescriptorSerializer</span></td><td><code>8399fed70a5a5583</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.DefaultTestOutputEventSerializer</span></td><td><code>ab68b99e3ba8e6a7</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.DefaultTestSuiteDescriptorSerializer</span></td><td><code>00e4063cb0a3717e</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.IdSerializer</span></td><td><code>cdde38a9abcdd3c1</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.NullableSerializer</span></td><td><code>0b8b3e72f4fb326b</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.TestCompleteEventSerializer</span></td><td><code>971566bf8e6bbbc9</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.TestStartEventSerializer</span></td><td><code>46e7b262d38e1858</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.WorkerTestSuiteDescriptorSerializer</span></td><td><code>e06ab7fe365be81b</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestWorker</span></td><td><code>9da5c91b10b63d25</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestWorker.1</span></td><td><code>ccbe896c0f005689</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestWorker.2</span></td><td><code>fd29a630d60da1b8</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestWorker.3</span></td><td><code>b9c4ca4676087868</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestWorker.State</span></td><td><code>fa812eb1a8e0dd23</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestWorker.TestFrameworkServiceRegistry</span></td><td><code>e033f3a95f86732e</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.WorkerTestClassProcessor</span></td><td><code>0f6525b02f2bb3d2</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.WorkerTestClassProcessor.WorkerTestSuiteDescriptor</span></td><td><code>b3807e9b92351840</code></td></tr><tr><td><span class="el_class">org.gradle.api.logging.LogLevel</span></td><td><code>236e938e30516638</code></td></tr><tr><td><span class="el_class">org.gradle.api.tasks.testing.TestOutputEvent.Destination</span></td><td><code>a16caef1c278a81f</code></td></tr><tr><td><span class="el_class">org.gradle.internal.Cast</span></td><td><code>6130c81e08d81640</code></td></tr><tr><td><span class="el_class">org.gradle.internal.MutableBoolean</span></td><td><code>349de2b8a37d4338</code></td></tr><tr><td><span class="el_class">org.gradle.internal.SystemProperties</span></td><td><code>d691e6f045b4d8e8</code></td></tr><tr><td><span class="el_class">org.gradle.internal.actor.internal.DefaultActorFactory</span></td><td><code>2776985b64942a33</code></td></tr><tr><td><span class="el_class">org.gradle.internal.actor.internal.DefaultActorFactory.BlockingActor</span></td><td><code>abe31a572fce57fa</code></td></tr><tr><td><span class="el_class">org.gradle.internal.concurrent.AbstractDelegatingExecutorService</span></td><td><code>49d3dededcea40d0</code></td></tr><tr><td><span class="el_class">org.gradle.internal.concurrent.AbstractManagedExecutor</span></td><td><code>2b6c0f29fdff5244</code></td></tr><tr><td><span class="el_class">org.gradle.internal.concurrent.AbstractManagedExecutor.1</span></td><td><code>872460d8243510dc</code></td></tr><tr><td><span class="el_class">org.gradle.internal.concurrent.CompositeStoppable</span></td><td><code>e322584f6cb5969a</code></td></tr><tr><td><span class="el_class">org.gradle.internal.concurrent.CompositeStoppable.1</span></td><td><code>97a4a0e348c32238</code></td></tr><tr><td><span class="el_class">org.gradle.internal.concurrent.CompositeStoppable.2</span></td><td><code>d6e18202f5962cf7</code></td></tr><tr><td><span class="el_class">org.gradle.internal.concurrent.DefaultExecutorFactory</span></td><td><code>63847aa635eddd82</code></td></tr><tr><td><span class="el_class">org.gradle.internal.concurrent.DefaultExecutorFactory.TrackedManagedExecutor</span></td><td><code>36f4bc1cd93c039c</code></td></tr><tr><td><span class="el_class">org.gradle.internal.concurrent.ExecutorPolicy.CatchAndRecordFailures</span></td><td><code>2aacf6d3d0dd2240</code></td></tr><tr><td><span class="el_class">org.gradle.internal.concurrent.ManagedExecutorImpl</span></td><td><code>ce6f255f6fc1de83</code></td></tr><tr><td><span class="el_class">org.gradle.internal.concurrent.ThreadFactoryImpl</span></td><td><code>1d388becbfb01ad8</code></td></tr><tr><td><span class="el_class">org.gradle.internal.dispatch.ContextClassLoaderDispatch</span></td><td><code>132d0c3fd93e8141</code></td></tr><tr><td><span class="el_class">org.gradle.internal.dispatch.ContextClassLoaderProxy</span></td><td><code>4295807baa6fbb83</code></td></tr><tr><td><span class="el_class">org.gradle.internal.dispatch.MethodInvocation</span></td><td><code>56dc845f6b509e42</code></td></tr><tr><td><span class="el_class">org.gradle.internal.dispatch.ProxyDispatchAdapter</span></td><td><code>56827e7cbc177632</code></td></tr><tr><td><span class="el_class">org.gradle.internal.dispatch.ProxyDispatchAdapter.DispatchingInvocationHandler</span></td><td><code>91c49d997210d865</code></td></tr><tr><td><span class="el_class">org.gradle.internal.dispatch.ReflectionDispatch</span></td><td><code>6976fdf67f3e8979</code></td></tr><tr><td><span class="el_class">org.gradle.internal.event.AbstractBroadcastDispatch</span></td><td><code>3624329b4268ace0</code></td></tr><tr><td><span class="el_class">org.gradle.internal.event.BroadcastDispatch</span></td><td><code>8e28373cd592a460</code></td></tr><tr><td><span class="el_class">org.gradle.internal.event.BroadcastDispatch.CompositeDispatch</span></td><td><code>cb1fa3ce9072c0bf</code></td></tr><tr><td><span class="el_class">org.gradle.internal.event.BroadcastDispatch.EmptyDispatch</span></td><td><code>720dd233b7e6bc29</code></td></tr><tr><td><span class="el_class">org.gradle.internal.event.BroadcastDispatch.SingletonDispatch</span></td><td><code>1d8f3791fdfff085</code></td></tr><tr><td><span class="el_class">org.gradle.internal.event.ListenerBroadcast</span></td><td><code>bb9ab86e7f09e921</code></td></tr><tr><td><span class="el_class">org.gradle.internal.id.CompositeIdGenerator</span></td><td><code>f1c607aa5fccdbaa</code></td></tr><tr><td><span class="el_class">org.gradle.internal.id.CompositeIdGenerator.CompositeId</span></td><td><code>e710c854f802c58b</code></td></tr><tr><td><span class="el_class">org.gradle.internal.id.LongIdGenerator</span></td><td><code>6f8168bf486a560d</code></td></tr><tr><td><span class="el_class">org.gradle.internal.id.UUIDGenerator</span></td><td><code>047a43ab94df6ffa</code></td></tr><tr><td><span class="el_class">org.gradle.internal.io.BufferCaster</span></td><td><code>88a8af829d9f2dca</code></td></tr><tr><td><span class="el_class">org.gradle.internal.io.ClassLoaderObjectInputStream</span></td><td><code>acf45500b0d04661</code></td></tr><tr><td><span class="el_class">org.gradle.internal.io.LineBufferingOutputStream</span></td><td><code>bcb3506c9cb335f2</code></td></tr><tr><td><span class="el_class">org.gradle.internal.io.LinePerThreadBufferingOutputStream</span></td><td><code>2d2cc4f27d1ed01d</code></td></tr><tr><td><span class="el_class">org.gradle.internal.io.NullOutputStream</span></td><td><code>eefcfe0665bbfe4c</code></td></tr><tr><td><span class="el_class">org.gradle.internal.io.StreamByteBuffer</span></td><td><code>3ec3288935eb4819</code></td></tr><tr><td><span class="el_class">org.gradle.internal.io.StreamByteBuffer.StreamByteBufferChunk</span></td><td><code>ae7975dc16af2356</code></td></tr><tr><td><span class="el_class">org.gradle.internal.io.StreamByteBuffer.StreamByteBufferInputStream</span></td><td><code>d1fc83f589a55ee4</code></td></tr><tr><td><span class="el_class">org.gradle.internal.io.StreamByteBuffer.StreamByteBufferOutputStream</span></td><td><code>c78a467a714934e8</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.config.LoggingSystemAdapter</span></td><td><code>2bb5150ee66232e9</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.config.LoggingSystemAdapter.SnapshotImpl</span></td><td><code>221de860d84422df</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.console.DefaultUserInputReceiver</span></td><td><code>08050cb4428bad0e</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.events.EndOutputEvent</span></td><td><code>0d8edd2a5ce274ee</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.events.LogLevelChangeEvent</span></td><td><code>33b762c6d5852de7</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.events.OutputEvent</span></td><td><code>85bce87f1bcda18d</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.events.OutputEventListener</span></td><td><code>e7d50a9306531b49</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.events.OutputEventListener.1</span></td><td><code>5c6014dff2070607</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.events.StyledTextOutputEvent</span></td><td><code>11f48fb1a17330c8</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.events.StyledTextOutputEvent.Span</span></td><td><code>c55f799d2631f13d</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.serializer.LogEventSerializer</span></td><td><code>b6d88af223db296a</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.serializer.LogLevelChangeEventSerializer</span></td><td><code>f77a59533dde75ec</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.serializer.SpanSerializer</span></td><td><code>5f773b7d1ad07c9f</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.serializer.StyledTextOutputEventSerializer</span></td><td><code>faebed27ac3e65ba</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.services.DefaultLoggingManager</span></td><td><code>61e216a064052ff1</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.services.DefaultLoggingManager.StartableLoggingRouter</span></td><td><code>78396be937af48de</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.services.DefaultLoggingManager.StartableLoggingSystem</span></td><td><code>b121a97021902643</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.services.DefaultLoggingManagerFactory</span></td><td><code>eb1ab97193f0d177</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.services.LoggingServiceRegistry</span></td><td><code>f422be508a723dad</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.services.LoggingServiceRegistry.1</span></td><td><code>8077eb5bc8da45fa</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.services.LoggingServiceRegistry.CommandLineLogging</span></td><td><code>ab0f1f63de5d4641</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.services.TextStreamOutputEventListener</span></td><td><code>ef4d0c3267356598</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.sink.OutputEventListenerManager</span></td><td><code>d6dee3d6fea49020</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.sink.OutputEventListenerManager.1</span></td><td><code>1e218a705ff0ee7e</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.sink.OutputEventRenderer</span></td><td><code>ad1cc4fc552ab292</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.sink.OutputEventRenderer.1</span></td><td><code>b94418b2e260aede</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.sink.OutputEventRenderer.2</span></td><td><code>a956801cd98ca633</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.sink.OutputEventRenderer.LazyListener</span></td><td><code>7ee882569b166e1e</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.sink.OutputEventRenderer.SnapshotImpl</span></td><td><code>827634628a47c5f5</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.sink.OutputEventTransformer</span></td><td><code>06c2270eef0e291e</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.slf4j.BuildOperationAwareLogger</span></td><td><code>daea5fa552e68a8c</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.slf4j.OutputEventListenerBackedLogger</span></td><td><code>30ddd0a8ff91b5f5</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.slf4j.OutputEventListenerBackedLoggerContext</span></td><td><code>9d35d4b7a722eb08</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.slf4j.OutputEventListenerBackedLoggerContext.NoOpLogger</span></td><td><code>a09428f13d916349</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.slf4j.Slf4jLoggingConfigurer</span></td><td><code>75fba29c3739b15f</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.source.DefaultStdErrLoggingSystem</span></td><td><code>fd3dd0caab2f1d95</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.source.DefaultStdOutLoggingSystem</span></td><td><code>528bb39bfb67c3ae</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.source.JavaUtilLoggingSystem</span></td><td><code>5e967b17aabfd442</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.source.JavaUtilLoggingSystem.SnapshotImpl</span></td><td><code>15dfc30250723749</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.source.PrintStreamLoggingSystem</span></td><td><code>1ae6e6b715c6b3f9</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.source.PrintStreamLoggingSystem.1</span></td><td><code>65643cb979acba64</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.source.PrintStreamLoggingSystem.OutputEventDestination</span></td><td><code>8c1ddf1476568828</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.source.PrintStreamLoggingSystem.PrintStreamDestination</span></td><td><code>9e7273f370028123</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.source.PrintStreamLoggingSystem.SnapshotImpl</span></td><td><code>8f80a46f9780a57e</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.text.StyledTextOutput.Style</span></td><td><code>d676557b62e3f601</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.filesystem.services.FileSystemServices</span></td><td><code>b25a2a743a08dd2a</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.jansi.DefaultJansiRuntimeResolver</span></td><td><code>1aa17f25c9c1cad4</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.jansi.JansiBootPathConfigurer</span></td><td><code>3a766bce65ac1a48</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.jansi.JansiLibraryFactory</span></td><td><code>0cbaac430d6656c4</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.jansi.JansiStorageLocator</span></td><td><code>c8bff1ccb071f9b6</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.services.NativeServices</span></td><td><code>abb0c6b651fcb93a</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.services.NativeServices.1</span></td><td><code>cb6208604e1a9ad4</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.services.NativeServices.NativeFeatures</span></td><td><code>6aa09c4d82dd664e</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.services.NativeServices.NativeFeatures.1</span></td><td><code>a97bf0d4f5545599</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.services.NativeServices.NativeFeatures.2</span></td><td><code>b680e303b6631a7b</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.services.NativeServices.NativeServicesMode</span></td><td><code>c5dd13d016e14664</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.services.NativeServices.NativeServicesMode.1</span></td><td><code>95f5d7b5f2ef5cdf</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.services.NativeServices.NativeServicesMode.2</span></td><td><code>ed56f6dad8089839</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.services.NativeServices.NativeServicesMode.3</span></td><td><code>37a9e97bc1744917</code></td></tr><tr><td><span class="el_class">org.gradle.internal.reflect.JavaMethod</span></td><td><code>c42e01e56542d65c</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.KryoBackedMessageSerializer</span></td><td><code>0028157720ec1f27</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.ConnectionSet</span></td><td><code>323708d9214e34e4</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.ConnectionState</span></td><td><code>250fb1b274991d9a</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.DefaultMethodArgsSerializer</span></td><td><code>b5f4b38125033ffd</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.DefaultMethodArgsSerializer.ArraySerializer</span></td><td><code>16505d5ccbb1b78b</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.DefaultMethodArgsSerializer.EmptyArraySerializer</span></td><td><code>cdc53c79a631aa33</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.IncomingQueue</span></td><td><code>0e8ecdb8f31efe51</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.InterHubMessageSerializer</span></td><td><code>7d84d4aa85858c73</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.InterHubMessageSerializer.MessageReader</span></td><td><code>ab1cd6753eb75a29</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.InterHubMessageSerializer.MessageWriter</span></td><td><code>3e4611f758508afb</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.JavaSerializationBackedMethodArgsSerializer</span></td><td><code>4c7a738ee4525ff6</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHub</span></td><td><code>1326887a1f1da0ac</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHub.ChannelDispatch</span></td><td><code>8a9dfd1b6306d8e6</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHub.ConnectionDispatch</span></td><td><code>df1d0a86180d66e4</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHub.ConnectionReceive</span></td><td><code>e1dc78071e8e957d</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHub.Discard</span></td><td><code>63a8d677cc1f9101</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHub.Handler</span></td><td><code>3d232f51f2c02828</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHub.State</span></td><td><code>1b76747d7bce6b89</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHubBackedClient</span></td><td><code>77c2124c3c43d832</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection</span></td><td><code>c23964928f1aff22</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection.1</span></td><td><code>ac806a6bc6b1b21d</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection.2</span></td><td><code>8ac38215966e3a20</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection.DispatchWrapper</span></td><td><code>9aa5d8679dbc6601</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MethodInvocationSerializer</span></td><td><code>47063ab293644e83</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MethodInvocationSerializer.MethodDetails</span></td><td><code>b6b7fb55e88cc4b9</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MethodInvocationSerializer.MethodInvocationReader</span></td><td><code>e6b939136f207ff5</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MethodInvocationSerializer.MethodInvocationWriter</span></td><td><code>c3b77db1b2556afe</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.OutgoingQueue</span></td><td><code>fbcc05506ad40c68</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.protocol.ChannelIdentifier</span></td><td><code>7697ff6a7c712869</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.protocol.ChannelMessage</span></td><td><code>9bff479666e58802</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.protocol.EndOfStream</span></td><td><code>f29ffed85365f7db</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.protocol.InterHubMessage</span></td><td><code>0c6e49b6ec077e16</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.protocol.InterHubMessage.Delivery</span></td><td><code>0652d09c2a7fd1ac</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.queue.EndPointQueue</span></td><td><code>8038a5636529123d</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.queue.MultiChannelQueue</span></td><td><code>bcaac9c224068764</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.queue.MultiEndPointQueue</span></td><td><code>27222a892157733f</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.queue.MultiEndPointQueue.1</span></td><td><code>44049b3edc682954</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.queue.QueueInitializer</span></td><td><code>ad18361c23e679b1</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.inet.MultiChoiceAddress</span></td><td><code>91381aa03cdd48e7</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.inet.MultiChoiceAddressSerializer</span></td><td><code>7ffc395650705aaa</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.inet.SocketConnectCompletion</span></td><td><code>0da46ac4ccd1c9ce</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.inet.SocketConnection</span></td><td><code>b648fc2e70525f62</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.inet.SocketConnection.1</span></td><td><code>c7f1074dffaaa188</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.inet.SocketConnection.SocketInputStream</span></td><td><code>07d3128481116a21</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.inet.SocketConnection.SocketOutputStream</span></td><td><code>341e7a58a4db0e94</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.inet.SocketInetAddress</span></td><td><code>20cc3fd7992230e8</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.inet.SocketInetAddress.Serializer</span></td><td><code>d42dd7f644e6367c</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.inet.TcpOutgoingConnector</span></td><td><code>e658ec26090de909</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.services.MessagingServices</span></td><td><code>d686a35c2f44fd41</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.AbstractCollectionSerializer</span></td><td><code>7897b7a9a0c39b1b</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.AbstractDecoder</span></td><td><code>6f331f65d3691839</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.AbstractEncoder</span></td><td><code>44ea8279ea7b3a07</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.AbstractSerializer</span></td><td><code>d5cd8744f99ef12d</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory</span></td><td><code>83d030ef5f6c0526</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.BigDecimalSerializer</span></td><td><code>4dcd516a5e9202d8</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.BigIntegerSerializer</span></td><td><code>50f6ab963a855e2a</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.BooleanSerializer</span></td><td><code>9a343eeb20f2b7f4</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.ByteArraySerializer</span></td><td><code>9566e41ef84566ae</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.ByteSerializer</span></td><td><code>85286889be7534cf</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.CharSerializer</span></td><td><code>6fba21fa805857ff</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.DoubleSerializer</span></td><td><code>085b687ded9be124</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.EnumSerializer</span></td><td><code>a314f7118f1d0412</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.FileSerializer</span></td><td><code>c43bc85ad47073ee</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.FloatSerializer</span></td><td><code>dad7a35798e49d9d</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.IntegerSerializer</span></td><td><code>e8a55740afa66954</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.LongSerializer</span></td><td><code>3a08a2ef15abca0d</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.PathSerializer</span></td><td><code>22894f3c1859ada1</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.ShortSerializer</span></td><td><code>5791e5a0a4ad1ece</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.StringMapSerializer</span></td><td><code>eb348217154fd0ed</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.StringSerializer</span></td><td><code>01576ecfb2720760</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.ThrowableSerializer</span></td><td><code>ae463fe767977ceb</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.DefaultSerializer</span></td><td><code>f0908e23b4486288</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.DefaultSerializerRegistry</span></td><td><code>84449bcf590c1af7</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.DefaultSerializerRegistry.1</span></td><td><code>aeba2bb0cd2eab52</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.DefaultSerializerRegistry.HierarchySerializerMatcher</span></td><td><code>c4fa93579434fd2b</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.DefaultSerializerRegistry.InstanceBasedSerializerFactory</span></td><td><code>4d56c9c7fbddbcc0</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.DefaultSerializerRegistry.SerializerClassMatcherStrategy</span></td><td><code>ea36ea8beff22743</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.DefaultSerializerRegistry.StrictSerializerMatcher</span></td><td><code>6df6080c06573b93</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.DefaultSerializerRegistry.TaggedTypeSerializer</span></td><td><code>264fbb605d976b35</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.DefaultSerializerRegistry.TypeInfo</span></td><td><code>bd6904d4ac5974ce</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.HashCodeSerializer</span></td><td><code>4cc78fc15c246fbf</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.InputStreamBackedDecoder</span></td><td><code>1a43def6f05c6405</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.ListSerializer</span></td><td><code>fe472a367fb15381</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.kryo.KryoBackedDecoder</span></td><td><code>f9287092db21f40c</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.kryo.KryoBackedEncoder</span></td><td><code>c7b371f9548e9e06</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.kryo.TypeSafeSerializer</span></td><td><code>1dbc9e4c69fd1973</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.kryo.TypeSafeSerializer.1</span></td><td><code>bb88df969641a032</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.kryo.TypeSafeSerializer.2</span></td><td><code>599bac595545b9c0</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.AbstractServiceMethod</span></td><td><code>d8f9bf72435aa0d5</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceMethodFactory</span></td><td><code>7cd5dc9e6187cc39</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry</span></td><td><code>554c0bdbb65f55e5</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.1</span></td><td><code>726e10ffdfe2409a</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.ClassInspector</span></td><td><code>aa4210f935a4d0a5</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.ClassInspector.ClassDetails</span></td><td><code>53c53e0645999e10</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.CompositeServiceProvider</span></td><td><code>91db51aebd73dbaf</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.ConstructorService</span></td><td><code>bc8ae40bda9c59ff</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.FactoryMethodService</span></td><td><code>9f0229ae7d626482</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.FactoryService</span></td><td><code>c9da4433a3208962</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.FixedInstanceService</span></td><td><code>cf29b00c2e8b2d37</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.ManagedObjectServiceProvider</span></td><td><code>2ca44396bc0bc74b</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.OwnServices</span></td><td><code>1ee93f694ad228ec</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.ParentServices</span></td><td><code>1d4570e7353520f7</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.SingletonService</span></td><td><code>1f6b32eb0b444d88</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.SingletonService.BindState</span></td><td><code>3a2e6f45cbc059eb</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.State</span></td><td><code>455f607243c17726</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.ThisAsService</span></td><td><code>df926700e970f5a1</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.InjectUtil</span></td><td><code>4e32c5f95305147b</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.MethodHandleBasedServiceMethod</span></td><td><code>674037aa99129b52</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.MethodHandleBasedServiceMethodFactory</span></td><td><code>47e87df4713e4ce5</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.ReflectionBasedServiceMethod</span></td><td><code>56fdba7d8393253f</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.RelevantMethods</span></td><td><code>542516b051995f02</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.RelevantMethodsBuilder</span></td><td><code>2254a458e7bdf1d8</code></td></tr><tr><td><span class="el_class">org.gradle.internal.time.MonotonicClock</span></td><td><code>ba849f4eb1139bf6</code></td></tr><tr><td><span class="el_class">org.gradle.internal.time.Time</span></td><td><code>118854647ab7eed4</code></td></tr><tr><td><span class="el_class">org.gradle.internal.time.TimeSource</span></td><td><code>a96871955c3b895e</code></td></tr><tr><td><span class="el_class">org.gradle.internal.time.TimeSource.1</span></td><td><code>6de78f6b0e44a7b2</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.WorkerLoggingSerializer</span></td><td><code>adae78bad8b0e727</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.child.ActionExecutionWorker</span></td><td><code>a7d30aba9c762788</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.child.ActionExecutionWorker.1</span></td><td><code>d0eba6bfe3f78d57</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.child.DefaultWorkerDirectoryProvider</span></td><td><code>10469cccf2e081cb</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker</span></td><td><code>d51a401f71c96cf4</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.ContextImpl</span></td><td><code>6684822230e9827b</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.PrintUnrecoverableErrorToFileHandler</span></td><td><code>1b3eabcd9dbe24df</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.WorkerServices</span></td><td><code>14d92ee3ca1bb0be</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.WorkerServices.1</span></td><td><code>b7b72af63ebb5dff</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.WorkerServices.1.1</span></td><td><code>befc8ff806a5f547</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.child.WorkerLogEventListener</span></td><td><code>4a0b5fb708591833</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.messaging.WorkerConfig</span></td><td><code>8633f06980fb19fd</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.messaging.WorkerConfigSerializer</span></td><td><code>9cb8842482bd87b2</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.DisplayNameGenerator</span></td><td><code>1c70d4d828122f05</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.DisplayNameGenerator.IndicativeSentences</span></td><td><code>b23b44fe1a1ae4b6</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.DisplayNameGenerator.ReplaceUnderscores</span></td><td><code>45af1f815eb3bfc6</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.DisplayNameGenerator.Simple</span></td><td><code>3587fc3bd5ac68a7</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.DisplayNameGenerator.Standard</span></td><td><code>232bffaaa51a0c4e</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.TestInstance.Lifecycle</span></td><td><code>235138c6fffd45f1</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.extension.ConditionEvaluationResult</span></td><td><code>fc311dfabd3a0e23</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.extension.ExtensionContext</span></td><td><code>dacb7330135ba8f9</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.extension.ExtensionContext.Namespace</span></td><td><code>eb8d03782ab35d64</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.extension.ExtensionContext.Store</span></td><td><code>288780f400093c7c</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.extension.InvocationInterceptor</span></td><td><code>695ac2a6b4b9c7e4</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.JupiterTestEngine</span></td><td><code>011031d0b1fe58db</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.config.CachingJupiterConfiguration</span></td><td><code>9da5fe6b78ad9a14</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.config.DefaultJupiterConfiguration</span></td><td><code>bbee9c72790c271d</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.config.EnumConfigurationParameterConverter</span></td><td><code>433eec982a6fabbc</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.config.InstantiatingConfigurationParameterConverter</span></td><td><code>d2270f0957971443</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.AbstractExtensionContext</span></td><td><code>6b3fc41ad8b41d4f</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor</span></td><td><code>414ee653c9e673cf</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.ClassExtensionContext</span></td><td><code>e804dacaeaef4a6a</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.ClassTestDescriptor</span></td><td><code>2f87db51b4485e07</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.DefaultTestInstanceFactoryContext</span></td><td><code>b1b7d61e94c58605</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.DisplayNameUtils</span></td><td><code>8a6f8eeb3e12ddf6</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.ExtensionUtils</span></td><td><code>43a683ad1b768e92</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.JupiterEngineDescriptor</span></td><td><code>3d2dbddce296b041</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.JupiterEngineExtensionContext</span></td><td><code>7146ce9988edfce2</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.JupiterTestDescriptor</span></td><td><code>67ad750cdb2cb53b</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.LifecycleMethodUtils</span></td><td><code>286eb923d0b68032</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.MethodBasedTestDescriptor</span></td><td><code>f531f49451e39050</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.MethodExtensionContext</span></td><td><code>b5abe6523f4a32d7</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.TestInstanceLifecycleUtils</span></td><td><code>a247fc379f47df66</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor</span></td><td><code>35334f82ecefa63c</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.AbstractAnnotatedDescriptorWrapper</span></td><td><code>90b10f2d90d7b01b</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.AbstractOrderingVisitor</span></td><td><code>f8eb297929c247eb</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.AbstractOrderingVisitor.DescriptorWrapperOrderer</span></td><td><code>c8e1585f8474ed61</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.ClassOrderingVisitor</span></td><td><code>1f09fc1c6b9779bb</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.ClassSelectorResolver</span></td><td><code>e25bb2b197bc8493</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.DefaultClassDescriptor</span></td><td><code>9064f3528773a161</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.DiscoverySelectorResolver</span></td><td><code>5dc6be896f50996f</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.MethodFinder</span></td><td><code>621c8591e557439a</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.MethodOrderingVisitor</span></td><td><code>7d9864cebac818e1</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.MethodSelectorResolver</span></td><td><code>679c52dec5ee3cd2</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.MethodSelectorResolver.MethodType</span></td><td><code>2ca704c5264882ae</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.MethodSelectorResolver.MethodType.1</span></td><td><code>b3bc3007a7dfdaa0</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.MethodSelectorResolver.MethodType.2</span></td><td><code>598aec8eeefe85e3</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.MethodSelectorResolver.MethodType.3</span></td><td><code>e8fd5325e2431a2b</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsInnerClass</span></td><td><code>d746bcff9a71ec26</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsNestedTestClass</span></td><td><code>f75dfd9ee2347890</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsPotentialTestContainer</span></td><td><code>909f14a1b9fe84dc</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestClassWithTests</span></td><td><code>34690a186bfcf3ac</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestFactoryMethod</span></td><td><code>941a8af0d47a68fd</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestMethod</span></td><td><code>f2039dbd13fce110</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestTemplateMethod</span></td><td><code>c13a4260435c18a8</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestableMethod</span></td><td><code>4be487dee199f633</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.ConditionEvaluator</span></td><td><code>df91d94b180fe511</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.ConstructorInvocation</span></td><td><code>60b80968f2bdedc3</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.DefaultExecutableInvoker</span></td><td><code>97f15d1e3151968f</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.DefaultTestInstances</span></td><td><code>0fc6d90567826bc4</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.InterceptingExecutableInvoker</span></td><td><code>42cb185ff5e76387</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.ReflectiveInterceptorCall</span></td><td><code>7e154d03f7a732e5</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.InvocationInterceptorChain</span></td><td><code>9798b2a812d2015d</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.InvocationInterceptorChain.InterceptedInvocation</span></td><td><code>199eef1acbe0b316</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.InvocationInterceptorChain.ValidatingInvocation</span></td><td><code>f064b1c2c4a4bf86</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.JupiterEngineExecutionContext</span></td><td><code>b48cc2a96dab0116</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.JupiterEngineExecutionContext.Builder</span></td><td><code>d1557432e23d2776</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.JupiterEngineExecutionContext.State</span></td><td><code>3926323ef1c7fb03</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.MethodInvocation</span></td><td><code>8b8fd00463d994df</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.NamespaceAwareStore</span></td><td><code>00e5ea1337f34969</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.ParameterResolutionUtils</span></td><td><code>5aba48e342016f8f</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.TestInstancesProvider</span></td><td><code>357bca6226069e7b</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.DisabledCondition</span></td><td><code>1604b4e34c1363e4</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.ExtensionRegistry</span></td><td><code>687649643dbb04fc</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.MutableExtensionRegistry</span></td><td><code>4daca7ba95c88845</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.RepeatedTestExtension</span></td><td><code>7a30afad0f944ea5</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.TempDirectory</span></td><td><code>d2ce4804a30f8d8c</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.TempDirectory.Scope</span></td><td><code>81c9fea1068d7ff2</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.TestInfoParameterResolver</span></td><td><code>3c520f8376f91ff7</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.TestReporterParameterResolver</span></td><td><code>7187071bfc76c6ac</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.TimeoutConfiguration</span></td><td><code>44b8593a8e980687</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.TimeoutDurationParser</span></td><td><code>bb6a412c3829dae9</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.TimeoutExtension</span></td><td><code>13bcdadb20fcc7bb</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.support.JupiterThrowableCollectorFactory</span></td><td><code>46546a446de4c9c0</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.support.OpenTest4JAndJUnit4AwareThrowableCollector</span></td><td><code>e9ee7d4e1adecdd1</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.function.Try</span></td><td><code>5200e6adc191344c</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.function.Try.Success</span></td><td><code>98cdc5b539e1abfd</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.logging.LoggerFactory</span></td><td><code>39fdfe1f67bc0eda</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.logging.LoggerFactory.DelegatingLogger</span></td><td><code>c71dcf008235901c</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.support.AnnotationSupport</span></td><td><code>4b0c63263b83acb5</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.support.ReflectionSupport</span></td><td><code>db9de9450da5225a</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.AnnotationUtils</span></td><td><code>efebc064783617e1</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ClassLoaderUtils</span></td><td><code>0d0959e2f6aa173e</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ClassNamePatternFilterUtils</span></td><td><code>e725a6f058746f53</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ClassUtils</span></td><td><code>60a2276f3701443f</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ClasspathScanner</span></td><td><code>54e3df9bb2092b52</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.CollectionUtils</span></td><td><code>d47999c87f911057</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.Preconditions</span></td><td><code>2c2a6e13cda880d4</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ReflectionUtils</span></td><td><code>172cf9786a51e883</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ReflectionUtils.HierarchyTraversalMode</span></td><td><code>349d54e51f2ffb44</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.StringUtils</span></td><td><code>237c0cb03ac19254</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.CompositeFilter</span></td><td><code>6a52e5b4f7292f48</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.CompositeFilter.1</span></td><td><code>cc0aadc5880fb4e4</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.EngineDiscoveryListener</span></td><td><code>c3024068e43bb7f4</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.EngineDiscoveryListener.1</span></td><td><code>a4cdbe8dd38d8f57</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.EngineExecutionListener</span></td><td><code>693fee5cbd4c2df0</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.EngineExecutionListener.1</span></td><td><code>999902b68f81dd9a</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.ExecutionRequest</span></td><td><code>b74e001541d12dd1</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.Filter</span></td><td><code>5ffaaa90df97ca04</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.FilterResult</span></td><td><code>a787a89e1f12d534</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.SelectorResolutionResult</span></td><td><code>ca52e15a278dcf5c</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.SelectorResolutionResult.Status</span></td><td><code>c505c2274f89f01d</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.TestDescriptor</span></td><td><code>a828437d5cd2ea4f</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.TestDescriptor.Type</span></td><td><code>7628a7c639ef3a60</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.TestExecutionResult</span></td><td><code>6b1b512d17bb680e</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.TestExecutionResult.Status</span></td><td><code>ad256e9fb4407e04</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.UniqueId</span></td><td><code>4308af7bfbde4ba1</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.UniqueId.Segment</span></td><td><code>f2d36a9ca9d14367</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.UniqueIdFormat</span></td><td><code>6c86362ad62a1954</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.discovery.ClassSelector</span></td><td><code>3174b37b3ba53b7e</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.discovery.DiscoverySelectors</span></td><td><code>7863536f4276f4dd</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.discovery.MethodSelector</span></td><td><code>3fe9eccb2ba205d2</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.descriptor.AbstractTestDescriptor</span></td><td><code>b9c965daf4d9a476</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.descriptor.ClassSource</span></td><td><code>37bd92069360f773</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.descriptor.EngineDescriptor</span></td><td><code>8f2f77769ee0e9c9</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.descriptor.MethodSource</span></td><td><code>1d55ac49f5cabc20</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.ClassContainerSelectorResolver</span></td><td><code>dc6114dc7e983729</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolution</span></td><td><code>506a6b871d2fd8fe</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolution.DefaultContext</span></td><td><code>db18f59764ea1f2a</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolver</span></td><td><code>e7fb3042ea8112f0</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolver.Builder</span></td><td><code>d86618af76b95613</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolver.DefaultInitializationContext</span></td><td><code>1904819635770d62</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.SelectorResolver</span></td><td><code>e64e4fd796d9641d</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.SelectorResolver.Match</span></td><td><code>789c682356298d75</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.SelectorResolver.Match.Type</span></td><td><code>1761e56439c8d93c</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.SelectorResolver.Resolution</span></td><td><code>ab713bbdee405d17</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.ExclusiveResource</span></td><td><code>c29acbe41918b09a</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.ExclusiveResource.LockMode</span></td><td><code>96e95d210b150f97</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine</span></td><td><code>3ac292151741b7fc</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor</span></td><td><code>963cba9b029b4b19</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.LockManager</span></td><td><code>5aedd3bd3957b5a6</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.Node</span></td><td><code>5c68850150771b6e</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.Node.SkipResult</span></td><td><code>5aca1404ff0f9294</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.NodeExecutionAdvisor</span></td><td><code>7c2670c7a35cfba6</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.NodeTestTask</span></td><td><code>f652d8cc5e11bdc5</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.NodeTestTask.DefaultDynamicTestExecutor</span></td><td><code>abd00dd511d28b2f</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.NodeTestTaskContext</span></td><td><code>bdf88cd3834282a5</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.NodeTreeWalker</span></td><td><code>c689092b060d0b12</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.NodeUtils</span></td><td><code>a7ec8f66d373c169</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.NodeUtils.1</span></td><td><code>5a44a7e2cbf864b4</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService</span></td><td><code>2f3b283eba81629f</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.SingleLock</span></td><td><code>2036ec8b92a38105</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.ThrowableCollector</span></td><td><code>6fd7a27676be3c50</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.store.NamespacedHierarchicalStore</span></td><td><code>f773d297d7dc3275</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.store.NamespacedHierarchicalStore.CompositeKey</span></td><td><code>3f8758b273ff41a9</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.store.NamespacedHierarchicalStore.EvaluatedValue</span></td><td><code>3362298f87d9b160</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.store.NamespacedHierarchicalStore.MemoizingSupplier</span></td><td><code>be04f7b805ba11e1</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.store.NamespacedHierarchicalStore.StoredValue</span></td><td><code>8e79d12821d1a835</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.EngineDiscoveryResult</span></td><td><code>44ae55d9c94cdd13</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.EngineDiscoveryResult.Status</span></td><td><code>c6f73a818e869b3a</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.LauncherDiscoveryListener</span></td><td><code>c8e17526e895636b</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.LauncherDiscoveryListener.1</span></td><td><code>8959ed22ae756aca</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.LauncherSessionListener</span></td><td><code>fd09754de5a01f16</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.LauncherSessionListener.1</span></td><td><code>44b3640faa83f474</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.TestExecutionListener</span></td><td><code>268b267f76852bf6</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.TestIdentifier</span></td><td><code>543c59738c036e7f</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.TestPlan</span></td><td><code>125780e74ba9c50c</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.CompositeEngineExecutionListener</span></td><td><code>cea0030887322419</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.CompositeTestExecutionListener</span></td><td><code>283b3c281a0728e5</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DefaultDiscoveryRequest</span></td><td><code>5706e3938a47edbc</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DefaultLauncher</span></td><td><code>0bd6690ec3f385ab</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DefaultLauncherConfig</span></td><td><code>6fbfe73d83f861ce</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DefaultLauncherSession</span></td><td><code>593c9fadcd439bc2</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DefaultLauncherSession.1</span></td><td><code>4e7ad5e44df7008e</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DefaultLauncherSession.ClosedLauncher</span></td><td><code>1fe238faa78c4ee2</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DelegatingEngineExecutionListener</span></td><td><code>98129d4f91790da1</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DelegatingLauncher</span></td><td><code>443e4e7cef8118ba</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.EngineDiscoveryOrchestrator</span></td><td><code>9260ad30b5b1dcb4</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.EngineDiscoveryOrchestrator.Phase</span></td><td><code>c5da52319ffdb6cc</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.EngineDiscoveryResultValidator</span></td><td><code>241befbef6ea2edf</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.EngineExecutionOrchestrator</span></td><td><code>61a7d44fcaf1fd6d</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.EngineFilterer</span></td><td><code>5886e10a3932fe3b</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.EngineIdValidator</span></td><td><code>a3cbf4111f4706bd</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.ExecutionListenerAdapter</span></td><td><code>027b702b863a1b7b</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.InternalTestPlan</span></td><td><code>6c1da5c749fc1754</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.IterationOrder</span></td><td><code>67fbbac106398c55</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.IterationOrder.1</span></td><td><code>c32d4c631876b3d3</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.IterationOrder.2</span></td><td><code>b3c544910702c338</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherConfig</span></td><td><code>58100dc14c875cb9</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherConfig.Builder</span></td><td><code>b0426f929eec8a53</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherConfigurationParameters</span></td><td><code>443c9d189d7662aa</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherConfigurationParameters.Builder</span></td><td><code>89b3d95a424a68ea</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherConfigurationParameters.ParameterProvider</span></td><td><code>da0ae1240b20de42</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherConfigurationParameters.ParameterProvider.2</span></td><td><code>481aeb52e3ac15c4</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherConfigurationParameters.ParameterProvider.3</span></td><td><code>2d8e65fa362495e2</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherDiscoveryRequestBuilder</span></td><td><code>9eec1c5d1eee9fa1</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherDiscoveryResult</span></td><td><code>6ba764b26de92159</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherFactory</span></td><td><code>7c870cd17431cb9d</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherListenerRegistry</span></td><td><code>64d5f2a8ac991f94</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.ListenerRegistry</span></td><td><code>387fd40f10f1e6b5</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.OutcomeDelayingEngineExecutionListener</span></td><td><code>4c68ad66a29b4dd7</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.OutcomeDelayingEngineExecutionListener.Outcome</span></td><td><code>b6ca0889820c3cca</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.ServiceLoaderRegistry</span></td><td><code>2a95faa488a889e7</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.ServiceLoaderTestEngineRegistry</span></td><td><code>69f4349cc7042ed7</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.StackTracePruningEngineExecutionListener</span></td><td><code>dbf05583a874b58d</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.StreamInterceptingTestExecutionListener</span></td><td><code>36972afd5e542435</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.listeners.UniqueIdTrackingListener</span></td><td><code>05baa08d39a86a6a</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.listeners.discovery.AbortOnFailureLauncherDiscoveryListener</span></td><td><code>ee6720edc40a9ccf</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.listeners.discovery.LauncherDiscoveryListeners</span></td><td><code>03063623efb5e8b2</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.listeners.discovery.LauncherDiscoveryListeners.LauncherDiscoveryListenerType</span></td><td><code>e18e1a0e62e22287</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.listeners.session.LauncherSessionListeners</span></td><td><code>792ecbf10e49d607</code></td></tr><tr><td><span class="el_class">org.mockito.Answers</span></td><td><code>afd86bd70185fc83</code></td></tr><tr><td><span class="el_class">org.mockito.Mock.Strictness</span></td><td><code>009145878d43835a</code></td></tr><tr><td><span class="el_class">org.mockito.Mockito</span></td><td><code>5e987adfdd19a5b2</code></td></tr><tr><td><span class="el_class">org.mockito.MockitoAnnotations</span></td><td><code>74524dc0e5acf9f0</code></td></tr><tr><td><span class="el_class">org.mockito.configuration.DefaultMockitoConfiguration</span></td><td><code>b174879ae8ed115e</code></td></tr><tr><td><span class="el_class">org.mockito.internal.MockitoCore</span></td><td><code>f49bfbc3fe5350e5</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.CaptorAnnotationProcessor</span></td><td><code>2f21a4570b50b64a</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.ClassPathLoader</span></td><td><code>173a7c62160e6dbf</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.DefaultDoNotMockEnforcer</span></td><td><code>6a7cb49285062e7d</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.DefaultInjectionEngine</span></td><td><code>5622872b1b0aa27c</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.GlobalConfiguration</span></td><td><code>0df96c19dabdcfc0</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.IndependentAnnotationEngine</span></td><td><code>54aaab1155cc41fd</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.IndependentAnnotationEngine.1</span></td><td><code>288c2838a4732b5b</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.InjectingAnnotationEngine</span></td><td><code>3402d3906098d7e2</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.MockAnnotationProcessor</span></td><td><code>f32d9954d5c65205</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.SpyAnnotationEngine</span></td><td><code>6b53375c8a8a5cc1</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.ConstructorInjection</span></td><td><code>19dcf00154169dc3</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.ConstructorInjection.SimpleArgumentResolver</span></td><td><code>80e845e136e4a645</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.MockInjection</span></td><td><code>ca48d2168eb0379e</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.MockInjection.OngoingMockInjection</span></td><td><code>7332cebf2a8af19f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.MockInjectionStrategy</span></td><td><code>c2617130af96367b</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.MockInjectionStrategy.1</span></td><td><code>452f05e1d767d35b</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.PropertyAndSetterInjection</span></td><td><code>47bbc3a0a738f758</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.SpyOnInjectedFieldsHandler</span></td><td><code>c215fb083e355a56</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.filter.NameBasedCandidateFilter</span></td><td><code>022739292a1ee0bb</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.filter.TerminalMockCandidateFilter</span></td><td><code>33c9b708ed3e7c78</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.filter.TypeBasedCandidateFilter</span></td><td><code>e42765a95b390b22</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.scanner.InjectMocksScanner</span></td><td><code>46136c11b8e2ed65</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.scanner.MockScanner</span></td><td><code>9a1662242e3f2d24</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.plugins.DefaultMockitoPlugins</span></td><td><code>f2b7ceb1ff6789f3</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.plugins.DefaultPluginSwitch</span></td><td><code>bae35df711d1f747</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.plugins.PluginFileReader</span></td><td><code>f40c61def10749c5</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.plugins.PluginFinder</span></td><td><code>bd3cbb4ee283ccc1</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.plugins.PluginInitializer</span></td><td><code>7b55758cab21a0db</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.plugins.PluginLoader</span></td><td><code>1702b486e8f8c9ad</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.plugins.PluginRegistry</span></td><td><code>edba7ea1c6a85364</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.plugins.Plugins</span></td><td><code>b0a44acc68acdddb</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.DelegatingMethod</span></td><td><code>aa9a3605cadc5938</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.MockSettingsImpl</span></td><td><code>3040d7b3b87e5329</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.SuspendMethod</span></td><td><code>5807a496dfc9c4c6</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.ByteBuddyCrossClassLoaderSerializationSupport</span></td><td><code>cc16221692a6ad40</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.BytecodeGenerator</span></td><td><code>b96181544d17b32a</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.InlineByteBuddyMockMaker</span></td><td><code>a1a0ac895421946d</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.InlineBytecodeGenerator</span></td><td><code>4d280bd4890c7bfc</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.InlineBytecodeGenerator.ParameterWritingVisitorWrapper</span></td><td><code>f687cffac707cab0</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.InlineBytecodeGenerator.ParameterWritingVisitorWrapper.MethodParameterStrippingMethodVisitor</span></td><td><code>f73bf14929b93218</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.InlineBytecodeGenerator.ParameterWritingVisitorWrapper.ParameterAddingClassVisitor</span></td><td><code>d9e075cf41f65b6b</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.InlineDelegateByteBuddyMockMaker</span></td><td><code>60d0c826d258f2c7</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.InlineDelegateByteBuddyMockMaker.1</span></td><td><code>8ed606a1d3b15b19</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.MockFeatures</span></td><td><code>3948e31575d7accd</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.MockMethodAdvice</span></td><td><code>f2359792dc3778e4</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.MockMethodAdvice.ConstructorShortcut</span></td><td><code>e37fbd5282bb870b</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.MockMethodAdvice.ConstructorShortcut.1</span></td><td><code>d0e13ff90475a1a2</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.MockMethodAdvice.RealMethodCall</span></td><td><code>c2369bb294a6357d</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.MockMethodAdvice.ReturnValueWrapper</span></td><td><code>00efacc0ab0c5045</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.MockMethodAdvice.SelfCallInfo</span></td><td><code>23361b97116d3bc6</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.MockMethodInterceptor</span></td><td><code>0cc689df0bc804c0</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.MockMethodInterceptor.DispatcherDefaultingToRealMethod</span></td><td><code>dcca41190d27ae99</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.ModuleHandler</span></td><td><code>a9609957ab4bbbbb</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.ModuleHandler.ModuleSystemFound</span></td><td><code>8d938a4ac4779d75</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.StackWalkerChecker</span></td><td><code>68e569e3f7178506</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.SubclassBytecodeGenerator</span></td><td><code>4c19068b417bbacb</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.SubclassInjectionLoader</span></td><td><code>b44aeab62a314e0f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.SubclassInjectionLoader.WithReflection</span></td><td><code>4fa50c5021fa78c0</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.TypeCachingBytecodeGenerator</span></td><td><code>9b77b7f9f15ce65b</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.TypeCachingBytecodeGenerator.MockitoMockKey</span></td><td><code>6ab1c48e921f0e50</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.TypeCachingBytecodeGenerator.TypeCachingLock</span></td><td><code>f3718822abb34b6b</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.TypeSupport</span></td><td><code>d98a4f5abd337730</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.instance.DefaultInstantiatorProvider</span></td><td><code>844386c7887007f1</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.instance.ObjenesisInstantiator</span></td><td><code>7a7c1771759c8b2f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.settings.CreationSettings</span></td><td><code>1d27e65e4db303b9</code></td></tr><tr><td><span class="el_class">org.mockito.internal.debugging.LocationFactory</span></td><td><code>20c7d5b8c58d83b6</code></td></tr><tr><td><span class="el_class">org.mockito.internal.debugging.LocationFactory.DefaultLocationFactory</span></td><td><code>f8e464fb84825981</code></td></tr><tr><td><span class="el_class">org.mockito.internal.debugging.LocationImpl</span></td><td><code>530a4709e6947f60</code></td></tr><tr><td><span class="el_class">org.mockito.internal.debugging.LocationImpl.MetadataShim</span></td><td><code>e0e02617575176a4</code></td></tr><tr><td><span class="el_class">org.mockito.internal.exceptions.stacktrace.DefaultStackTraceCleaner</span></td><td><code>ccefdaf75b25508d</code></td></tr><tr><td><span class="el_class">org.mockito.internal.exceptions.stacktrace.DefaultStackTraceCleanerProvider</span></td><td><code>b96ca03f68c6b0bc</code></td></tr><tr><td><span class="el_class">org.mockito.internal.framework.DefaultMockitoFramework</span></td><td><code>9ff7a406a63b11b2</code></td></tr><tr><td><span class="el_class">org.mockito.internal.framework.DefaultMockitoSession</span></td><td><code>b769df66d2932b43</code></td></tr><tr><td><span class="el_class">org.mockito.internal.framework.DefaultMockitoSession.1</span></td><td><code>6d40a180fd180112</code></td></tr><tr><td><span class="el_class">org.mockito.internal.handler.InvocationNotifierHandler</span></td><td><code>81a88d2a9823ca2e</code></td></tr><tr><td><span class="el_class">org.mockito.internal.handler.MockHandlerFactory</span></td><td><code>60aaf611c9f037ba</code></td></tr><tr><td><span class="el_class">org.mockito.internal.handler.MockHandlerImpl</span></td><td><code>40af730c41726d19</code></td></tr><tr><td><span class="el_class">org.mockito.internal.handler.NullResultGuardian</span></td><td><code>887855f598dc7f26</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.ArgumentsProcessor</span></td><td><code>48a63d334fbe1568</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.DefaultInvocationFactory</span></td><td><code>fd7a2f1ca0abf244</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.InterceptedInvocation</span></td><td><code>2bc1759562590122</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.InterceptedInvocation.1</span></td><td><code>a808ee7e12b0c370</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.InvocationComparator</span></td><td><code>961ab6368446cd9c</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.InvocationMatcher</span></td><td><code>a60a277cde788c00</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.InvocationMatcher.1</span></td><td><code>d5c4b96c4388ebd1</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.MatcherApplicationStrategy</span></td><td><code>c26110ae251954b2</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.MatchersBinder</span></td><td><code>7855054a8c7718ee</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.RealMethod.IsIllegal</span></td><td><code>64f3caff97edef01</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.StubInfoImpl</span></td><td><code>9766984c92e9959b</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.TypeSafeMatching</span></td><td><code>db8fac8befb40512</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.finder.AllInvocationsFinder</span></td><td><code>a80f90b774f88fc5</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.mockref.MockWeakReference</span></td><td><code>1fbf38ee01ef223b</code></td></tr><tr><td><span class="el_class">org.mockito.internal.junit.DefaultStubbingLookupListener</span></td><td><code>13dcfa4167b96780</code></td></tr><tr><td><span class="el_class">org.mockito.internal.junit.UniversalTestListener</span></td><td><code>b0cc5166693438a8</code></td></tr><tr><td><span class="el_class">org.mockito.internal.junit.UniversalTestListener.1</span></td><td><code>c4d90e297ae82cc7</code></td></tr><tr><td><span class="el_class">org.mockito.internal.junit.UnusedStubbings</span></td><td><code>b53675bd52d6172d</code></td></tr><tr><td><span class="el_class">org.mockito.internal.junit.UnusedStubbingsFinder</span></td><td><code>675da25e30c00788</code></td></tr><tr><td><span class="el_class">org.mockito.internal.listeners.StubbingLookupNotifier</span></td><td><code>6f87fdb14780b091</code></td></tr><tr><td><span class="el_class">org.mockito.internal.listeners.StubbingLookupNotifier.Event</span></td><td><code>f6cc7c2930ac8f03</code></td></tr><tr><td><span class="el_class">org.mockito.internal.matchers.Equality</span></td><td><code>341b019eaeb85d40</code></td></tr><tr><td><span class="el_class">org.mockito.internal.matchers.Equals</span></td><td><code>84c89c09d537ae1d</code></td></tr><tr><td><span class="el_class">org.mockito.internal.progress.ArgumentMatcherStorageImpl</span></td><td><code>bd022035831d5c7c</code></td></tr><tr><td><span class="el_class">org.mockito.internal.progress.MockingProgressImpl</span></td><td><code>b4b478523e99786f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.progress.MockingProgressImpl.1</span></td><td><code>9f7db825fdcdf194</code></td></tr><tr><td><span class="el_class">org.mockito.internal.progress.SequenceNumber</span></td><td><code>a68ee1dd45f51b97</code></td></tr><tr><td><span class="el_class">org.mockito.internal.progress.ThreadSafeMockingProgress</span></td><td><code>452aa6e38ddff43e</code></td></tr><tr><td><span class="el_class">org.mockito.internal.progress.ThreadSafeMockingProgress.1</span></td><td><code>79ae9726492f0c4f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.session.DefaultMockitoSessionBuilder</span></td><td><code>b96a72121a8d44b7</code></td></tr><tr><td><span class="el_class">org.mockito.internal.session.MockitoLoggerAdapter</span></td><td><code>493d0e9955f91a80</code></td></tr><tr><td><span class="el_class">org.mockito.internal.session.MockitoSessionLoggerAdapter</span></td><td><code>f55620e96a8de521</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.BaseStubbing</span></td><td><code>7fb9abb0c3eadb7f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.ConsecutiveStubbing</span></td><td><code>557234368bf5ca41</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.DefaultLenientStubber</span></td><td><code>eb65121929ef8fcc</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.DoAnswerStyleStubbing</span></td><td><code>6e7ca0308caa0784</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.InvocationContainerImpl</span></td><td><code>67208a7429ee203f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.OngoingStubbingImpl</span></td><td><code>747b28f7f0499aba</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.StrictnessSelector</span></td><td><code>00cb65fb01fdc580</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.StubbedInvocationMatcher</span></td><td><code>73693c29dbd5f1d4</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.StubbingComparator</span></td><td><code>8d9934f6f6956410</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.UnusedStubbingReporting</span></td><td><code>076cd36a765c131f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.answers.CallsRealMethods</span></td><td><code>e57edbc68b0e39e6</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.answers.DefaultAnswerValidator</span></td><td><code>bc157688cbf26d9c</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.answers.InvocationInfo</span></td><td><code>35c4a7d4431e2604</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.answers.Returns</span></td><td><code>419d0de7c8cd9ec2</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.defaultanswers.GloballyConfiguredAnswer</span></td><td><code>b4af5d0cc4127c43</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.defaultanswers.ReturnsDeepStubs</span></td><td><code>9290a19f5dbdf1b2</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.defaultanswers.ReturnsEmptyValues</span></td><td><code>d6ed669583d1bf96</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.defaultanswers.ReturnsMocks</span></td><td><code>99d9220ab6ee9e86</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.defaultanswers.ReturnsMoreEmptyValues</span></td><td><code>708bd411a28382b5</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.defaultanswers.ReturnsSmartNulls</span></td><td><code>f434f2f732e6e80e</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.defaultanswers.TriesToReturnSelf</span></td><td><code>13e6f22c3923267d</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.Checks</span></td><td><code>693b7ec3dc9db88a</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.ConsoleMockitoLogger</span></td><td><code>8eb43018d32cf683</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.DefaultMockingDetails</span></td><td><code>445b7a7104a677ce</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.KotlinInlineClassUtil</span></td><td><code>8f2e65801baf9ad5</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.MockCreationValidator</span></td><td><code>83a10f2760252cf3</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.MockNameImpl</span></td><td><code>009cd5fc276ed0dd</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.MockUtil</span></td><td><code>8cedd1d6aa623c6c</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.ObjectMethodsGuru</span></td><td><code>e958146f93547352</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.Primitives</span></td><td><code>6b6a08aaf147839f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.StringUtil</span></td><td><code>0a51b9987b23cb8a</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.collections.HashCodeAndEqualsMockWrapper</span></td><td><code>93f7437facb707c5</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.collections.HashCodeAndEqualsSafeSet</span></td><td><code>737466b57a8efbc9</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.collections.HashCodeAndEqualsSafeSet.1</span></td><td><code>42fcd15141d4c88d</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.collections.Iterables</span></td><td><code>f7eb3a38de601237</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.collections.Sets</span></td><td><code>31c2cf4c7d79f16e</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.concurrent.DetachedThreadLocal</span></td><td><code>24c845c0cee0c23b</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.concurrent.DetachedThreadLocal.1</span></td><td><code>defaf890898faa64</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.concurrent.DetachedThreadLocal.Cleaner</span></td><td><code>fe82f09eda153c82</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.concurrent.WeakConcurrentMap</span></td><td><code>317df0cbe9bf65e4</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.concurrent.WeakConcurrentMap.LatentKey</span></td><td><code>49d0008ff01c2270</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.concurrent.WeakConcurrentMap.WeakKey</span></td><td><code>c9b8ab481aee9c32</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.concurrent.WeakConcurrentMap.WithInlinedExpunction</span></td><td><code>2900bb8f66594337</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.concurrent.WeakConcurrentSet</span></td><td><code>01665a2956990716</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.concurrent.WeakConcurrentSet.Cleaner</span></td><td><code>8e47207f365780a7</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.io.IOUtil</span></td><td><code>85aaa73b6a20c3ce</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.reflection.FieldInitializationReport</span></td><td><code>afb34a6be447d8bd</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.reflection.FieldInitializer</span></td><td><code>5664ed6e482410e9</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.reflection.FieldInitializer.ParameterizedConstructorInstantiator</span></td><td><code>41b0a2436abbee69</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.reflection.FieldInitializer.ParameterizedConstructorInstantiator.1</span></td><td><code>4c9971e1a5fee49f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.reflection.FieldReader</span></td><td><code>2d76f64107151601</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.reflection.GenericMetadataSupport</span></td><td><code>fa7ecde5970c0e5d</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.reflection.GenericMetadataSupport.FromClassGenericMetadataSupport</span></td><td><code>99c88b2ac93b8f3f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.reflection.GenericMetadataSupport.NotGenericReturnTypeSupport</span></td><td><code>8c611ef213f94120</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.reflection.GenericMetadataSupport.ParameterizedReturnType</span></td><td><code>25e3bc9dabf2fa9d</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.reflection.InstrumentationMemberAccessor</span></td><td><code>9e6d6acd35084d39</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.reflection.ModuleMemberAccessor</span></td><td><code>df6459cdb157634f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.verification.DefaultRegisteredInvocations</span></td><td><code>48184ff2108397ec</code></td></tr><tr><td><span class="el_class">org.mockito.junit.jupiter.MockitoExtension</span></td><td><code>15127f132851319e</code></td></tr><tr><td><span class="el_class">org.mockito.junit.jupiter.resolver.CaptorParameterResolver</span></td><td><code>2e8866c6a5127d6f</code></td></tr><tr><td><span class="el_class">org.mockito.junit.jupiter.resolver.CompositeParameterResolver</span></td><td><code>c7a126226052e288</code></td></tr><tr><td><span class="el_class">org.mockito.junit.jupiter.resolver.MockParameterResolver</span></td><td><code>2a46311d1d569871</code></td></tr><tr><td><span class="el_class">org.mockito.mock.MockType</span></td><td><code>0b5105452bbd0790</code></td></tr><tr><td><span class="el_class">org.mockito.mock.SerializableMode</span></td><td><code>d8db118920e53367</code></td></tr><tr><td><span class="el_class">org.mockito.plugins.AnnotationEngine.NoAction</span></td><td><code>cccb6d6b2cd49244</code></td></tr><tr><td><span class="el_class">org.mockito.plugins.DoNotMockEnforcer</span></td><td><code>d84a80636a3b2091</code></td></tr><tr><td><span class="el_class">org.mockito.plugins.DoNotMockEnforcer.Cache</span></td><td><code>7ad724250d9a8fd2</code></td></tr><tr><td><span class="el_class">org.mockito.quality.Strictness</span></td><td><code>fd006704ba980aef</code></td></tr><tr><td><span class="el_class">org.objenesis.ObjenesisBase</span></td><td><code>0c1d2fd83029257f</code></td></tr><tr><td><span class="el_class">org.objenesis.ObjenesisStd</span></td><td><code>f35c83a75caea811</code></td></tr><tr><td><span class="el_class">org.objenesis.strategy.BaseInstantiatorStrategy</span></td><td><code>b0aaa6460452f5ce</code></td></tr><tr><td><span class="el_class">org.objenesis.strategy.StdInstantiatorStrategy</span></td><td><code>abae05ba56ea35a6</code></td></tr><tr><td><span class="el_class">org.slf4j.LoggerFactory</span></td><td><code>a381b7ddf19bf47d</code></td></tr><tr><td><span class="el_class">org.slf4j.bridge.SLF4JBridgeHandler</span></td><td><code>a24ab9068b3f1049</code></td></tr><tr><td><span class="el_class">org.slf4j.helpers.NOPLoggerFactory</span></td><td><code>54f5632bfcb8d8d5</code></td></tr><tr><td><span class="el_class">org.slf4j.helpers.SubstituteLoggerFactory</span></td><td><code>dc7efc0107a4a62d</code></td></tr><tr><td><span class="el_class">org.slf4j.helpers.Util</span></td><td><code>857ff3acc0576435</code></td></tr><tr><td><span class="el_class">org.slf4j.impl.StaticLoggerBinder</span></td><td><code>6822bf7129d487fa</code></td></tr><tr><td><span class="el_class">org.springframework.aop.support.AopUtils</span></td><td><code>54db49eee568bbd6</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.mock.mockito.SpringBootMockResolver</span></td><td><code>e7844a493ab8f94c</code></td></tr><tr><td><span class="el_class">org.springframework.transaction.annotation.Isolation</span></td><td><code>37b131a74452c371</code></td></tr><tr><td><span class="el_class">org.springframework.transaction.annotation.Propagation</span></td><td><code>98d9856e50d13361</code></td></tr><tr><td><span class="el_class">org.springframework.util.Assert</span></td><td><code>fff12e6566010a09</code></td></tr><tr><td><span class="el_class">org.springframework.util.ClassUtils</span></td><td><code>e27c2a38ca92de9c</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrentReferenceHashMap</span></td><td><code>722cd58749bce5da</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrentReferenceHashMap.ReferenceManager</span></td><td><code>35eb6b9c1f2eedb5</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrentReferenceHashMap.ReferenceType</span></td><td><code>5b823be241865c2f</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrentReferenceHashMap.Segment</span></td><td><code>5daee5d71f2a6fe2</code></td></tr><tr><td><span class="el_class">sun.text.resources.cldr.ext.FormatData_ko</span></td><td><code>baf0b0c5ab453b12</code></td></tr><tr><td><span class="el_class">sun.util.resources.cldr.provider.CLDRLocaleDataMetaInfo</span></td><td><code>9ed83010eeaa402e</code></td></tr><tr><td><span class="el_class">sun.util.resources.provider.LocaleDataProvider</span></td><td><code>090384bcacb31f21</code></td></tr><tr><td><span class="el_class">worker.org.gradle.api.JavaVersion</span></td><td><code>b1ecdf7e3318cb73</code></td></tr><tr><td><span class="el_class">worker.org.gradle.api.internal.jvm.JavaVersionParser</span></td><td><code>1206b4dd1a2e9827</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.classloader.ClassLoaderSpec</span></td><td><code>cb374b01ccbebc0b</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.classloader.ClassLoaderUtils</span></td><td><code>8203100709821636</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.classloader.ClassLoaderUtils.AbstractClassLoaderLookuper</span></td><td><code>c285dc94ede87ba6</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.classloader.ClassLoaderUtils.Java9PackagesFetcher</span></td><td><code>66503273ab6df058</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.classloader.ClassLoaderUtils.LookupClassDefiner</span></td><td><code>101fed03f270a39f</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.classloader.FilteringClassLoader</span></td><td><code>685f3dec8c07e429</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.classloader.FilteringClassLoader.RetrieveSystemPackagesClassLoader</span></td><td><code>f37f538880fb8032</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.classloader.FilteringClassLoader.Spec</span></td><td><code>66254ecaab39094b</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.classloader.FilteringClassLoader.TrieSet</span></td><td><code>9ca6d89930a3c026</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.stream.EncodedStream.EncodedInput</span></td><td><code>6e5f5782b741154c</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.util.Trie</span></td><td><code>19fbee069a29feb3</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.util.Trie.Builder</span></td><td><code>3ff89b3303eddda1</code></td></tr><tr><td><span class="el_class">worker.org.gradle.process.internal.worker.GradleWorkerMain</span></td><td><code>232767ef46e8d7ca</code></td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    
    From 6bc8e171d096c7ed6a68e470c6e91b0d438ab7c3 Mon Sep 17 00:00:00 2001
    From: hyeokson <chanhuk1765@gmail.com>
    Date: Thu, 22 Aug 2024 14:24:28 +0900
    Subject: [PATCH 31/36] =?UTF-8?q?chore:=20jacoco=20=EC=82=AD=EC=A0=9C?=
    MIME-Version: 1.0
    Content-Type: text/plain; charset=UTF-8
    Content-Transfer-Encoding: 8bit
    
    ---
     .../AdminLoginController.html                 |    1 -
     .../AdminLoginController.java.html            |   48 -
     .../EventPageController.html                  |    1 -
     .../EventPageController.java.html             |   41 -
     .../IndicatorPageController.html              |    1 -
     .../IndicatorPageController.java.html         |   25 -
     .../WinnerPageController.html                 |    1 -
     .../WinnerPageController.java.html            |   58 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../EventPageResponseDto.html                 |    1 -
     .../EventPageResponseDto.java.html            |   85 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../EventIndicatorResponseDto.html            |    1 -
     .../EventIndicatorResponseDto.java.html       |   92 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../AdminMainPageResponseDto.html             |    1 -
     .../AdminMainPageResponseDto.java.html        |  124 --
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../DrawWinnerListResponseDto.html            |    1 -
     .../DrawWinnerListResponseDto.java.html       |   49 -
     .../FcfsWinnerListResponseDto.html            |    1 -
     .../FcfsWinnerListResponseDto.java.html       |   48 -
     .../WinnerPageResponseDto.html                |    1 -
     .../WinnerPageResponseDto.java.html           |   93 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../AdminException.html                       |    1 -
     .../AdminException.java.html                  |   12 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../PercentageSerializer.html                 |    1 -
     .../PercentageSerializer.java.html            |   20 -
     .../PhoneNumberSerializer.html                |    1 -
     .../PhoneNumberSerializer.java.html           |   18 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../AdminLoginService.html                    |    1 -
     .../AdminLoginService.java.html               |   73 -
     .../EventPageService.html                     |    1 -
     .../EventPageService.java.html                |   93 -
     .../IndicatorPageService.html                 |    1 -
     .../IndicatorPageService.java.html            |   34 -
     .../WinnerPageService.html                    |    1 -
     .../WinnerPageService.java.html               |   72 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../PasswordEncoder.html                      |    1 -
     .../PasswordEncoder.java.html                 |   19 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../DrawTimeRangeValidator.html               |    1 -
     .../DrawTimeRangeValidator.java.html          |   40 -
     .../FcfsDateRangeValidator.html               |    1 -
     .../FcfsDateRangeValidator.java.html          |   42 -
     .../FcfsTimeRangeValidator.html               |    1 -
     .../FcfsTimeRangeValidator.java.html          |   35 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../EventParticipationRepository.html         |    1 -
     .../EventParticipationRepository.java.html    |   25 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../CommentNickname.html                      |    1 -
     .../CommentNickname.java.html                 |   44 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../CommentController.html                    |    1 -
     .../CommentController.java.html               |   53 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../Comment.html                              |    1 -
     .../Comment.java.html                         |   52 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../CommentsResponseDto.html                  |    1 -
     .../CommentsResponseDto.java.html             |   85 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../CommentException.html                     |    1 -
     .../CommentException.java.html                |   12 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../CommentService.html                       |    1 -
     .../CommentService.java.html                  |   61 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../ScrollPaginationUtil.html                 |    1 -
     .../ScrollPaginationUtil.java.html            |   53 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../DrawController.html                       |    1 -
     .../DrawController.java.html                  |   44 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../DrawException.html                        |    1 -
     .../DrawException.java.html                   |   12 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../DrawTimeCheckInterceptor.html             |    1 -
     .../DrawTimeCheckInterceptor.java.html        |   68 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../DrawService.html                          |    1 -
     .../DrawService.java.html                     |  145 --
     .../DrawSettingManager.html                   |    1 -
     .../DrawSettingManager.java.html              |   68 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../DrawAttendanceCountUtil.html              |    1 -
     .../DrawAttendanceCountUtil.java.html         |   93 -
     .../DrawModalGenerateUtil.html                |    1 -
     .../DrawModalGenerateUtil.java.html           |   90 -
     .../DrawResponseGenerateUtil.html             |    1 -
     .../DrawResponseGenerateUtil.java.html        |  120 --
     .../DrawUtil.html                             |    1 -
     .../DrawUtil.java.html                        |  119 --
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../FcfsController.html                       |    1 -
     .../FcfsController.java.html                  |   67 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../FcfsException.html                        |    1 -
     .../FcfsException.java.html                   |   12 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../FcfsTimeCheckInterceptor.html             |    1 -
     .../FcfsTimeCheckInterceptor.java.html        |   45 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../FcfsService.html                          |    1 -
     .../FcfsService.java.html                     |  202 ---
     .../FcfsSettingManager.html                   |    1 -
     .../FcfsSettingManager.java.html              |  145 --
     .../QuizManager.html                          |    1 -
     .../QuizManager.java.html                     |   85 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../MainPageController.html                   |    1 -
     .../MainPageController.java.html              |   53 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../MainPageService.html                      |    1 -
     .../MainPageService.java.html                 |  298 ----
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../ShareController.html                      |    1 -
     .../ShareController.java.html                 |   45 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../ShareInfo.html                            |    1 -
     .../ShareInfo.java.html                       |   33 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../ShareInfoException.html                   |    1 -
     .../ShareInfoException.java.html              |   12 -
     .../ShareUrlInfoException.html                |    1 -
     .../ShareUrlInfoException.java.html           |   11 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../ShareUrlInfoService.html                  |    1 -
     .../ShareUrlInfoService.java.html             |   37 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../RedisVerificationPrefix.html              |    1 -
     .../RedisVerificationPrefix.java.html         |   17 -
     .../VerificationProperty.html                 |    1 -
     .../VerificationProperty.java.html            |   21 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../LoginController.html                      |    1 -
     .../LoginController.java.html                 |   26 -
     .../VerificationController.html               |    1 -
     .../VerificationController.java.html          |   48 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../UserException.html                        |    1 -
     .../UserException.java.html                   |   12 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../SmsProperties.html                        |    1 -
     .../SmsProperties.java.html                   |   26 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../LoginService.html                         |    1 -
     .../LoginService.java.html                    |  143 --
     .../VerificationService.html                  |    1 -
     .../VerificationService.java.html             |  158 --
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../AopForTransaction.html                    |    1 -
     .../AopForTransaction.java.html               |   26 -
     .../EventLockAop.html                         |    1 -
     .../EventLockAop.java.html                    |   61 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../AuthInfoArgumentResolver.html             |    1 -
     .../AuthInfoArgumentResolver.java.html        |   31 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../ErrorStatus.html                          |    1 -
     .../ErrorStatus.java.html                     |   95 --
     .../SuccessStatus.html                        |    1 -
     .../SuccessStatus.java.html                   |   63 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../RedisKeyPrefix.html                       |    1 -
     .../RedisKeyPrefix.java.html                  |   28 -
     .../RoleType.html                             |    1 -
     .../RoleType.java.html                        |   23 -
     .../ValidationConstant.html                   |    1 -
     .../ValidationConstant.java.html              |   27 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../ExceptionAdvice.html                      |    1 -
     .../ExceptionAdvice.java.html                 |  200 ---
     .../GeneralException.html                     |    1 -
     .../GeneralException.java.html                |   27 -
     .../JwtAuthenticationException.html           |    1 -
     .../JwtAuthenticationException.java.html      |   15 -
     .../JwtAuthorizationException.html            |    1 -
     .../JwtAuthorizationException.java.html       |   14 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../ResponseDto.html                          |    1 -
     .../ResponseDto.java.html                     |  114 --
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../SwaggerController.html                    |    1 -
     .../SwaggerController.java.html               |   14 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../CacheConfig.html                          |    1 -
     .../CacheConfig.java.html                     |   35 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../SwaggerConfig.html                        |    1 -
     .../SwaggerConfig.java.html                   |   74 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../JwtProperties.html                        |    1 -
     .../JwtProperties.java.html                   |   38 -
     .../RedisProperties.html                      |    1 -
     .../RedisProperties.java.html                 |   25 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../RedisConfig.html                          |    1 -
     .../RedisConfig.java.html                     |   62 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../SchedulerConfig.html                      |    1 -
     .../SchedulerConfig.java.html                 |   17 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../WebMvcConfig.html                         |    1 -
     .../WebMvcConfig.java.html                    |  121 --
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../ExceptionHandlingFilter.html              |    1 -
     .../ExceptionHandlingFilter.java.html         |   68 -
     .../JwtAuthenticationFilter.html              |    1 -
     .../JwtAuthenticationFilter.java.html         |  215 ---
     .../JwtAuthorizationFilter.html               |    1 -
     .../JwtAuthorizationFilter.java.html          |   56 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../DbInsertScheduler.html                    |    1 -
     .../DbInsertScheduler.java.html               |  155 --
     .../EventSettingScheduler.html                |    1 -
     .../EventSettingScheduler.java.html           |   59 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../S3FileName.html                           |    1 -
     .../S3FileName.java.html                      |   38 -
     .../StaticTextName.html                       |    1 -
     .../StaticTextName.java.html                  |   99 --
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../StaticResourceUtil.html                   |    1 -
     .../StaticResourceUtil.java.html              |   62 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../DrawRedisUtil.html                        |    1 -
     .../DrawRedisUtil.java.html                   |   89 -
     .../EventLockRedisUtil.html                   |    1 -
     .../EventLockRedisUtil.java.html              |   75 -
     .../FcfsRedisUtil.html                        |    1 -
     .../FcfsRedisUtil.java.html                   |   81 -
     .../JwtUtil.html                              |    1 -
     .../JwtUtil.java.html                         |  151 --
     .../RandomCodeUtil.html                       |    1 -
     .../RandomCodeUtil.java.html                  |   24 -
     .../SpringELParser.html                       |    1 -
     .../SpringELParser.java.html                  |   23 -
     .../StringRedisUtil.html                      |    1 -
     .../StringRedisUtil.java.html                 |   93 -
     .../index.html                                |    1 -
     .../index.source.html                         |    1 -
     .../BackendApplication.html                   |    1 -
     .../BackendApplication.java.html              |   21 -
     .../jacocoHtml/com.softeer.backend/index.html |    1 -
     .../com.softeer.backend/index.source.html     |    1 -
     jacoco/jacocoHtml/index.html                  |    1 -
     .../jacocoHtml/jacoco-resources/branchfc.gif  |  Bin 91 -> 0 bytes
     .../jacocoHtml/jacoco-resources/branchnc.gif  |  Bin 91 -> 0 bytes
     .../jacocoHtml/jacoco-resources/branchpc.gif  |  Bin 91 -> 0 bytes
     jacoco/jacocoHtml/jacoco-resources/bundle.gif |  Bin 709 -> 0 bytes
     jacoco/jacocoHtml/jacoco-resources/class.gif  |  Bin 586 -> 0 bytes
     jacoco/jacocoHtml/jacoco-resources/down.gif   |  Bin 67 -> 0 bytes
     .../jacocoHtml/jacoco-resources/greenbar.gif  |  Bin 91 -> 0 bytes
     jacoco/jacocoHtml/jacoco-resources/group.gif  |  Bin 351 -> 0 bytes
     jacoco/jacocoHtml/jacoco-resources/method.gif |  Bin 193 -> 0 bytes
     .../jacocoHtml/jacoco-resources/package.gif   |  Bin 227 -> 0 bytes
     .../jacocoHtml/jacoco-resources/prettify.css  |   13 -
     .../jacocoHtml/jacoco-resources/prettify.js   | 1510 -----------------
     jacoco/jacocoHtml/jacoco-resources/redbar.gif |  Bin 91 -> 0 bytes
     jacoco/jacocoHtml/jacoco-resources/report.css |  243 ---
     jacoco/jacocoHtml/jacoco-resources/report.gif |  Bin 363 -> 0 bytes
     .../jacocoHtml/jacoco-resources/session.gif   |  Bin 213 -> 0 bytes
     jacoco/jacocoHtml/jacoco-resources/sort.gif   |  Bin 58 -> 0 bytes
     jacoco/jacocoHtml/jacoco-resources/sort.js    |  148 --
     jacoco/jacocoHtml/jacoco-resources/source.gif |  Bin 354 -> 0 bytes
     jacoco/jacocoHtml/jacoco-resources/up.gif     |  Bin 67 -> 0 bytes
     jacoco/jacocoHtml/jacoco-sessions.html        |    1 -
     328 files changed, 8306 deletions(-)
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/AdminLoginController.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/AdminLoginController.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/EventPageController.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/EventPageController.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/IndicatorPageController.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/IndicatorPageController.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/WinnerPageController.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/WinnerPageController.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.event/EventPageResponseDto.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.event/EventPageResponseDto.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.event/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.event/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.indicator/EventIndicatorResponseDto.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.indicator/EventIndicatorResponseDto.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.indicator/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.indicator/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.main/AdminMainPageResponseDto.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.main/AdminMainPageResponseDto.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.main/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.main/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/DrawWinnerListResponseDto.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/DrawWinnerListResponseDto.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/FcfsWinnerListResponseDto.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/FcfsWinnerListResponseDto.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/WinnerPageResponseDto.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/WinnerPageResponseDto.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.exception/AdminException.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.exception/AdminException.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.exception/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.exception/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/PercentageSerializer.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/PercentageSerializer.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/PhoneNumberSerializer.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/PhoneNumberSerializer.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/AdminLoginService.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/AdminLoginService.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/EventPageService.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/EventPageService.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/IndicatorPageService.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/IndicatorPageService.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/WinnerPageService.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/WinnerPageService.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.util/PasswordEncoder.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.util/PasswordEncoder.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.util/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.util/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/DrawTimeRangeValidator.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/DrawTimeRangeValidator.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/FcfsDateRangeValidator.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/FcfsDateRangeValidator.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/FcfsTimeRangeValidator.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/FcfsTimeRangeValidator.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.eventparticipation.repository/EventParticipationRepository.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.eventparticipation.repository/EventParticipationRepository.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.eventparticipation.repository/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.bo_domain.eventparticipation.repository/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.constant/CommentNickname.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.constant/CommentNickname.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.constant/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.constant/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.controller/CommentController.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.controller/CommentController.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.controller/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.controller/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.domain/Comment.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.domain/Comment.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.domain/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.domain/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.dto/CommentsResponseDto.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.dto/CommentsResponseDto.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.dto/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.dto/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.exception/CommentException.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.exception/CommentException.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.exception/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.exception/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.service/CommentService.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.service/CommentService.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.service/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.service/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.util/ScrollPaginationUtil.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.util/ScrollPaginationUtil.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.util/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.util/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.controller/DrawController.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.controller/DrawController.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.controller/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.controller/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.exception/DrawException.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.exception/DrawException.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.exception/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.exception/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.interceptor/DrawTimeCheckInterceptor.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.interceptor/DrawTimeCheckInterceptor.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.interceptor/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.interceptor/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/DrawService.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/DrawService.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/DrawSettingManager.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/DrawSettingManager.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawAttendanceCountUtil.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawAttendanceCountUtil.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawModalGenerateUtil.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawModalGenerateUtil.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawResponseGenerateUtil.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawResponseGenerateUtil.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawUtil.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawUtil.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.controller/FcfsController.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.controller/FcfsController.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.controller/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.controller/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.exception/FcfsException.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.exception/FcfsException.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.exception/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.exception/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.interceptor/FcfsTimeCheckInterceptor.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.interceptor/FcfsTimeCheckInterceptor.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.interceptor/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.interceptor/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/FcfsService.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/FcfsService.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/FcfsSettingManager.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/FcfsSettingManager.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/QuizManager.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/QuizManager.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.controller/MainPageController.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.controller/MainPageController.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.controller/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.controller/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.service/MainPageService.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.service/MainPageService.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.service/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.service/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.controller/ShareController.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.controller/ShareController.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.controller/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.controller/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.domain/ShareInfo.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.domain/ShareInfo.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.domain/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.domain/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/ShareInfoException.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/ShareInfoException.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/ShareUrlInfoException.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/ShareUrlInfoException.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.service/ShareUrlInfoService.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.service/ShareUrlInfoService.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.service/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.service/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/RedisVerificationPrefix.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/RedisVerificationPrefix.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/VerificationProperty.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/VerificationProperty.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/LoginController.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/LoginController.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/VerificationController.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/VerificationController.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.exception/UserException.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.exception/UserException.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.exception/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.exception/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.properties/SmsProperties.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.properties/SmsProperties.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.properties/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.properties/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/LoginService.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/LoginService.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/VerificationService.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/VerificationService.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/AopForTransaction.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/AopForTransaction.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/EventLockAop.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/EventLockAop.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.annotation.argumentresolver/AuthInfoArgumentResolver.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.annotation.argumentresolver/AuthInfoArgumentResolver.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.annotation.argumentresolver/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.annotation.argumentresolver/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/ErrorStatus.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/ErrorStatus.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/SuccessStatus.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/SuccessStatus.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.constant/RedisKeyPrefix.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.constant/RedisKeyPrefix.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.constant/RoleType.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.constant/RoleType.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.constant/ValidationConstant.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.constant/ValidationConstant.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.constant/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.constant/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.exception/ExceptionAdvice.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.exception/ExceptionAdvice.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.exception/GeneralException.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.exception/GeneralException.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.exception/JwtAuthenticationException.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.exception/JwtAuthenticationException.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.exception/JwtAuthorizationException.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.exception/JwtAuthorizationException.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.exception/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.exception/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.response/ResponseDto.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.response/ResponseDto.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.response/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.response/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.swagger/SwaggerController.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.swagger/SwaggerController.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.swagger/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.common.swagger/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.cache/CacheConfig.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.cache/CacheConfig.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.cache/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.cache/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.docs/SwaggerConfig.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.docs/SwaggerConfig.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.docs/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.docs/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.properties/JwtProperties.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.properties/JwtProperties.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.properties/RedisProperties.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.properties/RedisProperties.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.properties/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.properties/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.redis/RedisConfig.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.redis/RedisConfig.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.redis/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.redis/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.schedular/SchedulerConfig.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.schedular/SchedulerConfig.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.schedular/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.schedular/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.web/WebMvcConfig.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.web/WebMvcConfig.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.web/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.config.web/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.filter/ExceptionHandlingFilter.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.filter/ExceptionHandlingFilter.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.filter/JwtAuthenticationFilter.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.filter/JwtAuthenticationFilter.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.filter/JwtAuthorizationFilter.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.filter/JwtAuthorizationFilter.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.filter/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.filter/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.scheduler/DbInsertScheduler.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.scheduler/DbInsertScheduler.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.scheduler/EventSettingScheduler.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.scheduler/EventSettingScheduler.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.scheduler/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.scheduler/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/S3FileName.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/S3FileName.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/StaticTextName.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/StaticTextName.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.staticresources.util/StaticResourceUtil.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.staticresources.util/StaticResourceUtil.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.staticresources.util/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.staticresources.util/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.util/DrawRedisUtil.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.util/DrawRedisUtil.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.util/EventLockRedisUtil.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.util/EventLockRedisUtil.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.util/FcfsRedisUtil.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.util/FcfsRedisUtil.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.util/JwtUtil.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.util/JwtUtil.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.util/RandomCodeUtil.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.util/RandomCodeUtil.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.util/SpringELParser.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.util/SpringELParser.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.util/StringRedisUtil.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.util/StringRedisUtil.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.util/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend.global.util/index.source.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend/BackendApplication.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend/BackendApplication.java.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend/index.html
     delete mode 100644 jacoco/jacocoHtml/com.softeer.backend/index.source.html
     delete mode 100644 jacoco/jacocoHtml/index.html
     delete mode 100644 jacoco/jacocoHtml/jacoco-resources/branchfc.gif
     delete mode 100644 jacoco/jacocoHtml/jacoco-resources/branchnc.gif
     delete mode 100644 jacoco/jacocoHtml/jacoco-resources/branchpc.gif
     delete mode 100644 jacoco/jacocoHtml/jacoco-resources/bundle.gif
     delete mode 100644 jacoco/jacocoHtml/jacoco-resources/class.gif
     delete mode 100644 jacoco/jacocoHtml/jacoco-resources/down.gif
     delete mode 100644 jacoco/jacocoHtml/jacoco-resources/greenbar.gif
     delete mode 100644 jacoco/jacocoHtml/jacoco-resources/group.gif
     delete mode 100644 jacoco/jacocoHtml/jacoco-resources/method.gif
     delete mode 100644 jacoco/jacocoHtml/jacoco-resources/package.gif
     delete mode 100644 jacoco/jacocoHtml/jacoco-resources/prettify.css
     delete mode 100644 jacoco/jacocoHtml/jacoco-resources/prettify.js
     delete mode 100644 jacoco/jacocoHtml/jacoco-resources/redbar.gif
     delete mode 100644 jacoco/jacocoHtml/jacoco-resources/report.css
     delete mode 100644 jacoco/jacocoHtml/jacoco-resources/report.gif
     delete mode 100644 jacoco/jacocoHtml/jacoco-resources/session.gif
     delete mode 100644 jacoco/jacocoHtml/jacoco-resources/sort.gif
     delete mode 100644 jacoco/jacocoHtml/jacoco-resources/sort.js
     delete mode 100644 jacoco/jacocoHtml/jacoco-resources/source.gif
     delete mode 100644 jacoco/jacocoHtml/jacoco-resources/up.gif
     delete mode 100644 jacoco/jacocoHtml/jacoco-sessions.html
    
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/AdminLoginController.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/AdminLoginController.html
    deleted file mode 100644
    index e138e1a3..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/AdminLoginController.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>AdminLoginController</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.bo_domain.admin.controller</a> &gt; <span class="el_class">AdminLoginController</span></div><h1>AdminLoginController</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">21 of 21</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">6</td><td class="ctr2">6</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a0"><a href="AdminLoginController.java.html#L26" class="el_method">handleLogin(AdminLoginRequestDto)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="8" alt="8"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="AdminLoginController.java.html#L33" class="el_method">handleLogout(Integer)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="105" height="10" title="7" alt="7"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="AdminLoginController.java.html#L41" class="el_method">handleSignUp(AdminSignUpRequestDto)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="90" height="10" title="6" alt="6"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">2</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/AdminLoginController.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/AdminLoginController.java.html
    deleted file mode 100644
    index 78575ebb..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/AdminLoginController.java.html
    +++ /dev/null
    @@ -1,48 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>AdminLoginController.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.bo_domain.admin.controller</a> &gt; <span class="el_source">AdminLoginController.java</span></div><h1>AdminLoginController.java</h1><pre class="source lang-java linenums">package com.softeer.backend.bo_domain.admin.controller;
    -
    -import com.softeer.backend.bo_domain.admin.dto.login.AdminLoginRequestDto;
    -import com.softeer.backend.bo_domain.admin.dto.login.AdminSignUpRequestDto;
    -import com.softeer.backend.bo_domain.admin.service.AdminLoginService;
    -import com.softeer.backend.global.annotation.AuthInfo;
    -import com.softeer.backend.global.common.dto.JwtTokenResponseDto;
    -import com.softeer.backend.global.common.response.ResponseDto;
    -import io.swagger.v3.oas.annotations.Parameter;
    -import jakarta.validation.Valid;
    -import lombok.RequiredArgsConstructor;
    -import org.springframework.web.bind.annotation.PostMapping;
    -import org.springframework.web.bind.annotation.RequestBody;
    -import org.springframework.web.bind.annotation.RequestMapping;
    -import org.springframework.web.bind.annotation.RestController;
    -
    -@RestController
    -@RequiredArgsConstructor
    -@RequestMapping(&quot;/admin&quot;)
    -public class AdminLoginController {
    -
    -    private final AdminLoginService adminLoginService;
    -
    -    @PostMapping(&quot;/login&quot;)
    -    ResponseDto&lt;JwtTokenResponseDto&gt; handleLogin(@Valid @RequestBody AdminLoginRequestDto adminLoginRequestDto) {
    -<span class="nc" id="L26">        JwtTokenResponseDto jwtTokenResponseDto = adminLoginService.handleLogin(adminLoginRequestDto);</span>
    -
    -<span class="nc" id="L28">        return ResponseDto.onSuccess(jwtTokenResponseDto);</span>
    -    }
    -
    -    @PostMapping(&quot;/logout&quot;)
    -    ResponseDto&lt;Void&gt; handleLogout(@Parameter(hidden = true) @AuthInfo Integer adminId) {
    -<span class="nc" id="L33">        adminLoginService.handleLogout(adminId);</span>
    -
    -<span class="nc" id="L35">        return ResponseDto.onSuccess();</span>
    -    }
    -
    -    @PostMapping(&quot;/signup&quot;)
    -    ResponseDto&lt;Void&gt; handleSignUp(@Valid @RequestBody AdminSignUpRequestDto adminSignUpRequestDto) {
    -
    -<span class="nc" id="L41">        adminLoginService.handleSignUp(adminSignUpRequestDto);</span>
    -
    -<span class="nc" id="L43">        return ResponseDto.onSuccess();</span>
    -    }
    -
    -
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/EventPageController.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/EventPageController.html
    deleted file mode 100644
    index 08794e13..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/EventPageController.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>EventPageController</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.bo_domain.admin.controller</a> &gt; <span class="el_class">EventPageController</span></div><h1>EventPageController</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">19 of 19</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">6</td><td class="ctr2">6</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a0"><a href="EventPageController.java.html#L21" class="el_method">getEventPage()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="7" alt="7"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="EventPageController.java.html#L28" class="el_method">updateFcfsEventTime(FcfsEventTimeRequestDto)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="102" height="10" title="6" alt="6"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a1"><a href="EventPageController.java.html#L35" class="el_method">updateDrawEventTime(DrawEventTimeRequestDto)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="102" height="10" title="6" alt="6"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">2</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/EventPageController.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/EventPageController.java.html
    deleted file mode 100644
    index 14eff7a1..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/EventPageController.java.html
    +++ /dev/null
    @@ -1,41 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>EventPageController.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.bo_domain.admin.controller</a> &gt; <span class="el_source">EventPageController.java</span></div><h1>EventPageController.java</h1><pre class="source lang-java linenums">package com.softeer.backend.bo_domain.admin.controller;
    -
    -import com.softeer.backend.bo_domain.admin.dto.event.DrawEventTimeRequestDto;
    -import com.softeer.backend.bo_domain.admin.dto.event.EventPageResponseDto;
    -import com.softeer.backend.bo_domain.admin.dto.event.FcfsEventTimeRequestDto;
    -import com.softeer.backend.bo_domain.admin.service.EventPageService;
    -import com.softeer.backend.global.common.response.ResponseDto;
    -import jakarta.validation.Valid;
    -import lombok.RequiredArgsConstructor;
    -import org.springframework.web.bind.annotation.*;
    -
    -@RestController
    -@RequiredArgsConstructor
    -@RequestMapping(&quot;/admin/event&quot;)
    -public class EventPageController {
    -
    -    private final EventPageService eventPageService;
    -
    -    @GetMapping
    -    public ResponseDto&lt;EventPageResponseDto&gt; getEventPage() {
    -<span class="nc" id="L21">        EventPageResponseDto eventPageResponseDto = eventPageService.getEventPage();</span>
    -
    -<span class="nc" id="L23">        return ResponseDto.onSuccess(eventPageResponseDto);</span>
    -    }
    -
    -    @PostMapping(&quot;/fcfs&quot;)
    -    public ResponseDto&lt;Void&gt; updateFcfsEventTime(@Valid @RequestBody FcfsEventTimeRequestDto fcfsEventTimeRequestDto) {
    -<span class="nc" id="L28">        eventPageService.updateFcfsEventTime(fcfsEventTimeRequestDto);</span>
    -
    -<span class="nc" id="L30">        return ResponseDto.onSuccess();</span>
    -    }
    -
    -    @PostMapping(&quot;/draw&quot;)
    -    public ResponseDto&lt;Void&gt; updateDrawEventTime(@Valid @RequestBody DrawEventTimeRequestDto drawEventTimeRequestDto) {
    -<span class="nc" id="L35">        eventPageService.updateDrawEventTime(drawEventTimeRequestDto);</span>
    -
    -<span class="nc" id="L37">        return ResponseDto.onSuccess();</span>
    -    }
    -
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/IndicatorPageController.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/IndicatorPageController.html
    deleted file mode 100644
    index 15894db2..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/IndicatorPageController.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>IndicatorPageController</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.bo_domain.admin.controller</a> &gt; <span class="el_class">IndicatorPageController</span></div><h1>IndicatorPageController</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">7 of 7</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="IndicatorPageController.java.html#L20" class="el_method">getEventIndicator()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="7" alt="7"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/IndicatorPageController.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/IndicatorPageController.java.html
    deleted file mode 100644
    index 51a219c9..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/IndicatorPageController.java.html
    +++ /dev/null
    @@ -1,25 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>IndicatorPageController.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.bo_domain.admin.controller</a> &gt; <span class="el_source">IndicatorPageController.java</span></div><h1>IndicatorPageController.java</h1><pre class="source lang-java linenums">package com.softeer.backend.bo_domain.admin.controller;
    -
    -import com.softeer.backend.bo_domain.admin.dto.indicator.EventIndicatorResponseDto;
    -import com.softeer.backend.bo_domain.admin.service.IndicatorPageService;
    -import com.softeer.backend.global.common.response.ResponseDto;
    -import lombok.RequiredArgsConstructor;
    -import org.springframework.web.bind.annotation.GetMapping;
    -import org.springframework.web.bind.annotation.RequestMapping;
    -import org.springframework.web.bind.annotation.RestController;
    -
    -@RestController
    -@RequiredArgsConstructor
    -@RequestMapping(&quot;/admin&quot;)
    -public class IndicatorPageController {
    -
    -    private final IndicatorPageService indicatorPageService;
    -
    -    @GetMapping(&quot;/indicator&quot;)
    -    public ResponseDto&lt;EventIndicatorResponseDto&gt; getEventIndicator() {
    -<span class="nc" id="L20">        EventIndicatorResponseDto eventIndicatorResponseDto = indicatorPageService.getEventIndicator();</span>
    -
    -<span class="nc" id="L22">        return ResponseDto.onSuccess(eventIndicatorResponseDto);</span>
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/WinnerPageController.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/WinnerPageController.html
    deleted file mode 100644
    index 24d984b3..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/WinnerPageController.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>WinnerPageController</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.bo_domain.admin.controller</a> &gt; <span class="el_class">WinnerPageController</span></div><h1>WinnerPageController</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">37 of 37</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">10</td><td class="ctr2">10</td><td class="ctr1">5</td><td class="ctr2">5</td></tr></tfoot><tbody><tr><td id="a1"><a href="WinnerPageController.java.html#L27" class="el_method">getFcfsWinnerList(Integer)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="9" alt="9"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="WinnerPageController.java.html#L35" class="el_method">getDrawWinnerList(Integer)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="9" alt="9"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="WinnerPageController.java.html#L19" class="el_method">getWinnerPage()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="93" height="10" title="7" alt="7"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">2</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a4"><a href="WinnerPageController.java.html#L43" class="el_method">updateFcfsWinnerNum(FcfsWinnerUpdateRequestDto)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="80" height="10" title="6" alt="6"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">2</td><td class="ctr2" id="i3">2</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a3"><a href="WinnerPageController.java.html#L51" class="el_method">updateFcfsWinnerNum(DrawWinnerUpdateRequestDto)</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="80" height="10" title="6" alt="6"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">2</td><td class="ctr2" id="i4">2</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/WinnerPageController.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/WinnerPageController.java.html
    deleted file mode 100644
    index 4c3ce32c..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/WinnerPageController.java.html
    +++ /dev/null
    @@ -1,58 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>WinnerPageController.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.bo_domain.admin.controller</a> &gt; <span class="el_source">WinnerPageController.java</span></div><h1>WinnerPageController.java</h1><pre class="source lang-java linenums">package com.softeer.backend.bo_domain.admin.controller;
    -
    -import com.softeer.backend.bo_domain.admin.dto.event.EventPageResponseDto;
    -import com.softeer.backend.bo_domain.admin.dto.winner.*;
    -import com.softeer.backend.bo_domain.admin.service.WinnerPageService;
    -import com.softeer.backend.global.common.response.ResponseDto;
    -import jakarta.validation.Valid;
    -import lombok.RequiredArgsConstructor;
    -import org.springframework.web.bind.annotation.*;
    -
    -@RestController
    -@RequiredArgsConstructor
    -@RequestMapping(&quot;/admin/winner&quot;)
    -public class WinnerPageController {
    -    private final WinnerPageService winnerPageService;
    -
    -    @GetMapping
    -    public ResponseDto&lt;WinnerPageResponseDto&gt; getWinnerPage() {
    -<span class="nc" id="L19">        WinnerPageResponseDto winnerPageResponseDto = winnerPageService.getWinnerPage();</span>
    -
    -<span class="nc" id="L21">        return ResponseDto.onSuccess(winnerPageResponseDto);</span>
    -    }
    -
    -    @GetMapping(&quot;/fcfs/{round}&quot;)
    -    public ResponseDto&lt;FcfsWinnerListResponseDto&gt; getFcfsWinnerList(@PathVariable Integer round) {
    -
    -<span class="nc" id="L27">        FcfsWinnerListResponseDto fcfsWinnerListResponseDto = winnerPageService.getFcfsWinnerList(round);</span>
    -
    -<span class="nc" id="L29">        return ResponseDto.onSuccess(fcfsWinnerListResponseDto);</span>
    -    }
    -
    -    @GetMapping(&quot;/draw/{rank}&quot;)
    -    public ResponseDto&lt;DrawWinnerListResponseDto&gt; getDrawWinnerList(@PathVariable Integer rank) {
    -
    -<span class="nc" id="L35">        DrawWinnerListResponseDto drawWinnerListResponseDto = winnerPageService.getDrawWinnerList(rank);</span>
    -
    -<span class="nc" id="L37">        return ResponseDto.onSuccess(drawWinnerListResponseDto);</span>
    -    }
    -
    -    @PostMapping(&quot;/fcfs&quot;)
    -    public ResponseDto&lt;Void&gt; updateFcfsWinnerNum(@Valid @RequestBody FcfsWinnerUpdateRequestDto fcfsWinnerUpdateRequestDto) {
    -
    -<span class="nc" id="L43">        winnerPageService.updateFcfsWinnerNum(fcfsWinnerUpdateRequestDto);</span>
    -
    -<span class="nc" id="L45">        return ResponseDto.onSuccess();</span>
    -    }
    -
    -    @PostMapping(&quot;/draw&quot;)
    -    public ResponseDto&lt;Void&gt; updateFcfsWinnerNum(@Valid @RequestBody DrawWinnerUpdateRequestDto drawWinnerUpdateRequestDto) {
    -
    -<span class="nc" id="L51">        winnerPageService.updateDrawWinnerNum(drawWinnerUpdateRequestDto);</span>
    -
    -<span class="nc" id="L53">        return ResponseDto.onSuccess();</span>
    -    }
    -
    -
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/index.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/index.html
    deleted file mode 100644
    index ef8b497e..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.bo_domain.admin.controller</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.bo_domain.admin.controller</span></div><h1>com.softeer.backend.bo_domain.admin.controller</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">84 of 84</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">24</td><td class="ctr2">24</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">4</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a3"><a href="WinnerPageController.html" class="el_class">WinnerPageController</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="37" alt="37"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">5</td><td class="ctr2" id="g0">5</td><td class="ctr1" id="h0">10</td><td class="ctr2" id="i0">10</td><td class="ctr1" id="j0">5</td><td class="ctr2" id="k0">5</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="AdminLoginController.html" class="el_class">AdminLoginController</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="68" height="10" title="21" alt="21"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">3</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h1">6</td><td class="ctr2" id="i1">6</td><td class="ctr1" id="j1">3</td><td class="ctr2" id="k1">3</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a1"><a href="EventPageController.html" class="el_class">EventPageController</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="61" height="10" title="19" alt="19"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">3</td><td class="ctr2" id="g2">3</td><td class="ctr1" id="h2">6</td><td class="ctr2" id="i2">6</td><td class="ctr1" id="j2">3</td><td class="ctr2" id="k2">3</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a2"><a href="IndicatorPageController.html" class="el_class">IndicatorPageController</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="22" height="10" title="7" alt="7"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">2</td><td class="ctr2" id="i3">2</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td><td class="ctr1" id="l3">1</td><td class="ctr2" id="m3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/index.source.html
    deleted file mode 100644
    index 1a276f93..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.controller/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.bo_domain.admin.controller</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.bo_domain.admin.controller</span></div><h1>com.softeer.backend.bo_domain.admin.controller</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">84 of 84</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">24</td><td class="ctr2">24</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">4</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a3"><a href="WinnerPageController.java.html" class="el_source">WinnerPageController.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="37" alt="37"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">5</td><td class="ctr2" id="g0">5</td><td class="ctr1" id="h0">10</td><td class="ctr2" id="i0">10</td><td class="ctr1" id="j0">5</td><td class="ctr2" id="k0">5</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="AdminLoginController.java.html" class="el_source">AdminLoginController.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="68" height="10" title="21" alt="21"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">3</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h1">6</td><td class="ctr2" id="i1">6</td><td class="ctr1" id="j1">3</td><td class="ctr2" id="k1">3</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a1"><a href="EventPageController.java.html" class="el_source">EventPageController.java</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="61" height="10" title="19" alt="19"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">3</td><td class="ctr2" id="g2">3</td><td class="ctr1" id="h2">6</td><td class="ctr2" id="i2">6</td><td class="ctr1" id="j2">3</td><td class="ctr2" id="k2">3</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a2"><a href="IndicatorPageController.java.html" class="el_source">IndicatorPageController.java</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="22" height="10" title="7" alt="7"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">2</td><td class="ctr2" id="i3">2</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td><td class="ctr1" id="l3">1</td><td class="ctr2" id="m3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.event/EventPageResponseDto.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.event/EventPageResponseDto.html
    deleted file mode 100644
    index d01d99c4..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.event/EventPageResponseDto.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>EventPageResponseDto</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.bo_domain.admin.dto.event</a> &gt; <span class="el_class">EventPageResponseDto</span></div><h1>EventPageResponseDto</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">40 of 40</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">18</td><td class="ctr2">18</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="EventPageResponseDto.java.html#L62" class="el_method">of(List, DrawSetting)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="28" alt="28"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">13</td><td class="ctr2" id="i0">13</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="EventPageResponseDto.java.html#L64" class="el_method">lambda$of$0(FcfsSetting)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="51" height="10" title="12" alt="12"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">5</td><td class="ctr2" id="i1">5</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.event/EventPageResponseDto.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.event/EventPageResponseDto.java.html
    deleted file mode 100644
    index 1d290aac..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.event/EventPageResponseDto.java.html
    +++ /dev/null
    @@ -1,85 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>EventPageResponseDto.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.bo_domain.admin.dto.event</a> &gt; <span class="el_source">EventPageResponseDto.java</span></div><h1>EventPageResponseDto.java</h1><pre class="source lang-java linenums">package com.softeer.backend.bo_domain.admin.dto.event;
    -
    -import com.fasterxml.jackson.annotation.JsonFormat;
    -import com.softeer.backend.bo_domain.admin.dto.main.AdminMainPageResponseDto;
    -import com.softeer.backend.fo_domain.draw.domain.DrawSetting;
    -import com.softeer.backend.fo_domain.draw.service.DrawSettingManager;
    -import com.softeer.backend.fo_domain.fcfs.domain.FcfsSetting;
    -import com.softeer.backend.fo_domain.fcfs.service.FcfsSettingManager;
    -import lombok.*;
    -
    -import java.time.LocalDate;
    -import java.time.LocalDateTime;
    -import java.time.LocalTime;
    -import java.util.Arrays;
    -import java.util.List;
    -
    -@NoArgsConstructor(access = AccessLevel.PRIVATE)
    -@AllArgsConstructor(access = AccessLevel.PUBLIC)
    -@Builder
    -@Getter
    -public class EventPageResponseDto {
    -
    -    private List&lt;FcfsEvent&gt; fcfsEventList;
    -
    -    private DrawEvent drawEvent;
    -
    -    @Getter
    -    @AllArgsConstructor
    -    @Builder
    -    public static class FcfsEvent {
    -
    -        private int round;
    -
    -        @JsonFormat(pattern = &quot;yyyy-MM-dd hh:mm:ss&quot;)
    -        private LocalDateTime startTime;
    -
    -        @JsonFormat(pattern = &quot;yyyy-MM-dd hh:mm:ss&quot;)
    -        private LocalDateTime endTime;
    -
    -    }
    -
    -    @Getter
    -    @AllArgsConstructor
    -    @Builder
    -    public static class DrawEvent {
    -
    -        @JsonFormat(pattern = &quot;yyyy-MM-dd&quot;)
    -        private LocalDate startDate;
    -
    -        @JsonFormat(pattern = &quot;yyyy-MM-dd&quot;)
    -        private LocalDate endDate;
    -
    -        @JsonFormat(pattern = &quot;HH:mm:ss&quot;)
    -        private LocalTime startTime;
    -
    -        @JsonFormat(pattern = &quot;HH:mm:ss&quot;)
    -        private LocalTime endTime;
    -
    -    }
    -
    -    public static EventPageResponseDto of(List&lt;FcfsSetting&gt; fcfsSettingList, DrawSetting drawSetting) {
    -<span class="nc" id="L62">        List&lt;FcfsEvent&gt; fcfsEventList = fcfsSettingList.stream()</span>
    -<span class="nc" id="L63">                .map((fcfsSetting) -&gt;</span>
    -<span class="nc" id="L64">                        EventPageResponseDto.FcfsEvent.builder()</span>
    -<span class="nc" id="L65">                                .round(fcfsSetting.getRound())</span>
    -<span class="nc" id="L66">                                .startTime(fcfsSetting.getStartTime())</span>
    -<span class="nc" id="L67">                                .endTime(fcfsSetting.getEndTime())</span>
    -<span class="nc" id="L68">                                .build())</span>
    -<span class="nc" id="L69">                .toList();</span>
    -
    -<span class="nc" id="L71">        DrawEvent drawEvent = DrawEvent.builder()</span>
    -<span class="nc" id="L72">                .startDate(drawSetting.getStartDate())</span>
    -<span class="nc" id="L73">                .endDate(drawSetting.getEndDate())</span>
    -<span class="nc" id="L74">                .startTime(drawSetting.getStartTime())</span>
    -<span class="nc" id="L75">                .endTime(drawSetting.getEndTime())</span>
    -<span class="nc" id="L76">                .build();</span>
    -
    -<span class="nc" id="L78">        return EventPageResponseDto.builder()</span>
    -<span class="nc" id="L79">                .fcfsEventList(fcfsEventList)</span>
    -<span class="nc" id="L80">                .drawEvent(drawEvent)</span>
    -<span class="nc" id="L81">                .build();</span>
    -
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.event/index.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.event/index.html
    deleted file mode 100644
    index d863bb43..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.event/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.bo_domain.admin.dto.event</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.bo_domain.admin.dto.event</span></div><h1>com.softeer.backend.bo_domain.admin.dto.event</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">40 of 40</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">18</td><td class="ctr2">18</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="EventPageResponseDto.html" class="el_class">EventPageResponseDto</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="40" alt="40"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">18</td><td class="ctr2" id="i0">18</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.event/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.event/index.source.html
    deleted file mode 100644
    index 428ee76a..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.event/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.bo_domain.admin.dto.event</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.bo_domain.admin.dto.event</span></div><h1>com.softeer.backend.bo_domain.admin.dto.event</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">40 of 40</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">18</td><td class="ctr2">18</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="EventPageResponseDto.java.html" class="el_source">EventPageResponseDto.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="40" alt="40"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">18</td><td class="ctr2" id="i0">18</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.indicator/EventIndicatorResponseDto.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.indicator/EventIndicatorResponseDto.html
    deleted file mode 100644
    index c5a599f4..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.indicator/EventIndicatorResponseDto.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>EventIndicatorResponseDto</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.bo_domain.admin.dto.indicator</a> &gt; <span class="el_class">EventIndicatorResponseDto</span></div><h1>EventIndicatorResponseDto</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">78 of 78</td><td class="ctr2">0%</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">30</td><td class="ctr2">30</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="EventIndicatorResponseDto.java.html#L54" class="el_method">of(List, DrawSetting)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="69" alt="69"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">26</td><td class="ctr2" id="i0">26</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="EventIndicatorResponseDto.java.html#L74" class="el_method">lambda$of$0(EventParticipation)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="15" height="10" title="9" alt="9"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">4</td><td class="ctr2" id="i1">4</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.indicator/EventIndicatorResponseDto.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.indicator/EventIndicatorResponseDto.java.html
    deleted file mode 100644
    index a4143d26..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.indicator/EventIndicatorResponseDto.java.html
    +++ /dev/null
    @@ -1,92 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>EventIndicatorResponseDto.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.bo_domain.admin.dto.indicator</a> &gt; <span class="el_source">EventIndicatorResponseDto.java</span></div><h1>EventIndicatorResponseDto.java</h1><pre class="source lang-java linenums">package com.softeer.backend.bo_domain.admin.dto.indicator;
    -
    -
    -import com.fasterxml.jackson.annotation.JsonFormat;
    -import com.fasterxml.jackson.databind.annotation.JsonSerialize;
    -import com.softeer.backend.bo_domain.admin.serializer.PercentageSerializer;
    -import com.softeer.backend.bo_domain.admin.serializer.PhoneNumberSerializer;
    -import com.softeer.backend.bo_domain.eventparticipation.domain.EventParticipation;
    -import com.softeer.backend.fo_domain.draw.domain.DrawSetting;
    -import com.softeer.backend.fo_domain.draw.service.DrawSettingManager;
    -import lombok.*;
    -
    -import java.time.LocalDate;
    -import java.util.List;
    -
    -@NoArgsConstructor(access = AccessLevel.PRIVATE)
    -@AllArgsConstructor(access = AccessLevel.PUBLIC)
    -@Builder
    -@Getter
    -public class EventIndicatorResponseDto {
    -
    -    @JsonFormat(pattern = &quot;yyyy-MM-dd&quot;)
    -    private LocalDate startDate;
    -
    -    @JsonFormat(pattern = &quot;yyyy-MM-dd&quot;)
    -    private LocalDate endDate;
    -
    -    private int totalVisitorCount;
    -
    -    private int totalFcfsParticipantCount;
    -
    -    private int totalDrawParticipantCount;
    -
    -    @JsonSerialize(using = PercentageSerializer.class)
    -    private double fcfsParticipantRate;
    -
    -    @JsonSerialize(using = PercentageSerializer.class)
    -    private double drawParticipantRate;
    -
    -    private List&lt;VisitorNum&gt; visitorNumList;
    -
    -    @Getter
    -    @AllArgsConstructor
    -    @Builder
    -    public static class VisitorNum {
    -
    -        @JsonFormat(pattern = &quot;yyyy-MM-dd&quot;)
    -        private LocalDate visitDate;
    -
    -        private int visitorNum;
    -    }
    -
    -    public static EventIndicatorResponseDto of(List&lt;EventParticipation&gt; eventParticipationList, DrawSetting drawSetting) {
    -<span class="nc" id="L54">        LocalDate startDate = drawSetting.getStartDate();</span>
    -<span class="nc" id="L55">        LocalDate endDate = drawSetting.getEndDate();</span>
    -
    -<span class="nc" id="L57">        int totalVisitorCount = eventParticipationList.stream()</span>
    -<span class="nc" id="L58">                .mapToInt(EventParticipation::getVisitorCount)</span>
    -<span class="nc" id="L59">                .sum();</span>
    -
    -<span class="nc" id="L61">        int totalFcfsParticipantCount = eventParticipationList.stream()</span>
    -<span class="nc" id="L62">                .mapToInt(EventParticipation::getFcfsParticipantCount)</span>
    -<span class="nc" id="L63">                .sum();</span>
    -
    -<span class="nc" id="L65">        int totalDrawParticipantCount = eventParticipationList.stream()</span>
    -<span class="nc" id="L66">                .mapToInt(EventParticipation::getDrawParticipantCount)</span>
    -<span class="nc" id="L67">                .sum();</span>
    -
    -<span class="nc bnc" id="L69" title="All 2 branches missed.">        double fcfsParticipantRate = totalVisitorCount == 0 ? 0 : (double) totalFcfsParticipantCount / (double) totalVisitorCount;</span>
    -<span class="nc bnc" id="L70" title="All 2 branches missed.">        double drawParticipantRate = totalVisitorCount == 0 ? 0 : (double) totalDrawParticipantCount / (double) totalVisitorCount;</span>
    -
    -<span class="nc" id="L72">        List&lt;VisitorNum&gt; visitorNumList = eventParticipationList.stream()</span>
    -<span class="nc" id="L73">                .map((eventParticipation) -&gt;</span>
    -<span class="nc" id="L74">                        VisitorNum.builder()</span>
    -<span class="nc" id="L75">                                .visitDate(eventParticipation.getEventDate())</span>
    -<span class="nc" id="L76">                                .visitorNum(eventParticipation.getVisitorCount())</span>
    -<span class="nc" id="L77">                                .build())</span>
    -<span class="nc" id="L78">                .toList();</span>
    -
    -<span class="nc" id="L80">        return EventIndicatorResponseDto.builder()</span>
    -<span class="nc" id="L81">                .startDate(startDate)</span>
    -<span class="nc" id="L82">                .endDate(endDate)</span>
    -<span class="nc" id="L83">                .totalVisitorCount(totalVisitorCount)</span>
    -<span class="nc" id="L84">                .totalFcfsParticipantCount(totalFcfsParticipantCount)</span>
    -<span class="nc" id="L85">                .totalDrawParticipantCount(totalDrawParticipantCount)</span>
    -<span class="nc" id="L86">                .fcfsParticipantRate(fcfsParticipantRate)</span>
    -<span class="nc" id="L87">                .drawParticipantRate(drawParticipantRate)</span>
    -<span class="nc" id="L88">                .visitorNumList(visitorNumList)</span>
    -<span class="nc" id="L89">                .build();</span>
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.indicator/index.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.indicator/index.html
    deleted file mode 100644
    index ecaf2aa4..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.indicator/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.bo_domain.admin.dto.indicator</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.bo_domain.admin.dto.indicator</span></div><h1>com.softeer.backend.bo_domain.admin.dto.indicator</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">78 of 78</td><td class="ctr2">0%</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">30</td><td class="ctr2">30</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="EventIndicatorResponseDto.html" class="el_class">EventIndicatorResponseDto</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="78" alt="78"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">30</td><td class="ctr2" id="i0">30</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.indicator/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.indicator/index.source.html
    deleted file mode 100644
    index feb28f64..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.indicator/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.bo_domain.admin.dto.indicator</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.bo_domain.admin.dto.indicator</span></div><h1>com.softeer.backend.bo_domain.admin.dto.indicator</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">78 of 78</td><td class="ctr2">0%</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">30</td><td class="ctr2">30</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="EventIndicatorResponseDto.java.html" class="el_source">EventIndicatorResponseDto.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="78" alt="78"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">30</td><td class="ctr2" id="i0">30</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.main/AdminMainPageResponseDto.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.main/AdminMainPageResponseDto.html
    deleted file mode 100644
    index 3b4e06bb..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.main/AdminMainPageResponseDto.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>AdminMainPageResponseDto</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.bo_domain.admin.dto.main</a> &gt; <span class="el_class">AdminMainPageResponseDto</span></div><h1>AdminMainPageResponseDto</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">113 of 113</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">38</td><td class="ctr2">38</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a2"><a href="AdminMainPageResponseDto.java.html#L77" class="el_method">of(List, List)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="93" alt="93"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">31</td><td class="ctr2" id="i0">31</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="AdminMainPageResponseDto.java.html#L79" class="el_method">lambda$of$0(FcfsSetting)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="19" height="10" title="15" alt="15"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">6</td><td class="ctr2" id="i1">6</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="AdminMainPageResponseDto.java.html#L121" class="el_method">calculateWinningProbability(int)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="6" height="10" title="5" alt="5"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.main/AdminMainPageResponseDto.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.main/AdminMainPageResponseDto.java.html
    deleted file mode 100644
    index 7fe0a016..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.main/AdminMainPageResponseDto.java.html
    +++ /dev/null
    @@ -1,124 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>AdminMainPageResponseDto.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.bo_domain.admin.dto.main</a> &gt; <span class="el_source">AdminMainPageResponseDto.java</span></div><h1>AdminMainPageResponseDto.java</h1><pre class="source lang-java linenums">package com.softeer.backend.bo_domain.admin.dto.main;
    -
    -import com.fasterxml.jackson.annotation.JsonFormat;
    -import com.fasterxml.jackson.databind.annotation.JsonSerialize;
    -import com.softeer.backend.bo_domain.admin.serializer.PercentageSerializer;
    -import com.softeer.backend.fo_domain.draw.domain.DrawSetting;
    -import com.softeer.backend.fo_domain.fcfs.domain.FcfsSetting;
    -import lombok.*;
    -
    -import java.time.LocalDate;
    -import java.time.LocalDateTime;
    -import java.time.LocalTime;
    -import java.util.Arrays;
    -import java.util.List;
    -
    -@NoArgsConstructor(access = AccessLevel.PRIVATE)
    -@AllArgsConstructor(access = AccessLevel.PUBLIC)
    -@Builder
    -@Getter
    -public class AdminMainPageResponseDto {
    -    public static final int EXPECTED_PARTICIPANT_COUNT = 10000;
    -
    -    private List&lt;FcfsEvent&gt; fcfsEventList;
    -
    -    private DrawEvent drawEvent;
    -
    -    @Getter
    -    @AllArgsConstructor
    -    @Builder
    -    public static class FcfsEvent {
    -
    -        private int round;
    -
    -        @JsonFormat(pattern = &quot;yyyy-MM-dd hh:mm:ss&quot;)
    -        private LocalDateTime startTime;
    -
    -        @JsonFormat(pattern = &quot;yyyy-MM-dd hh:mm:ss&quot;)
    -        private LocalDateTime endTime;
    -
    -        private int winnerNum;
    -    }
    -
    -    @Getter
    -    @AllArgsConstructor
    -    @Builder
    -    public static class DrawEvent {
    -
    -        @JsonFormat(pattern = &quot;yyyy-MM-dd&quot;)
    -        private LocalDate startDate;
    -
    -        @JsonFormat(pattern = &quot;yyyy-MM-dd&quot;)
    -        private LocalDate endDate;
    -
    -        @JsonFormat(pattern = &quot;hh:mm:ss&quot;)
    -        private LocalTime startTime;
    -
    -        @JsonFormat(pattern = &quot;hh:mm:ss&quot;)
    -        private LocalTime endTime;
    -
    -        private List&lt;DrawInfo&gt; drawInfoList;
    -    }
    -
    -    @Getter
    -    @AllArgsConstructor
    -    @Builder
    -    public static class DrawInfo {
    -
    -        private int rank;
    -
    -        private int winnerNum;
    -
    -        @JsonSerialize(using = PercentageSerializer.class)
    -        private double probability;
    -    }
    -
    -    public static AdminMainPageResponseDto of(List&lt;FcfsSetting&gt; fcfsSettingList, List&lt;DrawSetting&gt; drawSettingList) {
    -<span class="nc" id="L77">        List&lt;FcfsEvent&gt; fcfsEventList = fcfsSettingList.stream()</span>
    -<span class="nc" id="L78">                .map((fcfsSetting) -&gt;</span>
    -<span class="nc" id="L79">                        FcfsEvent.builder()</span>
    -<span class="nc" id="L80">                                .round(fcfsSetting.getRound())</span>
    -<span class="nc" id="L81">                                .startTime(fcfsSetting.getStartTime())</span>
    -<span class="nc" id="L82">                                .endTime(fcfsSetting.getEndTime())</span>
    -<span class="nc" id="L83">                                .winnerNum(fcfsSetting.getWinnerNum())</span>
    -<span class="nc" id="L84">                                .build())</span>
    -<span class="nc" id="L85">                .toList();</span>
    -
    -<span class="nc" id="L87">        DrawSetting drawSetting = drawSettingList.get(0);</span>
    -<span class="nc" id="L88">        DrawInfo drawInfoFirst = DrawInfo.builder()</span>
    -<span class="nc" id="L89">                .rank(1)</span>
    -<span class="nc" id="L90">                .winnerNum(drawSetting.getWinnerNum1())</span>
    -<span class="nc" id="L91">                .probability(calculateWinningProbability(drawSetting.getWinnerNum1()))</span>
    -<span class="nc" id="L92">                .build();</span>
    -<span class="nc" id="L93">        DrawInfo drawInfoSecond = DrawInfo.builder()</span>
    -<span class="nc" id="L94">                .rank(2)</span>
    -<span class="nc" id="L95">                .winnerNum(drawSetting.getWinnerNum2())</span>
    -<span class="nc" id="L96">                .probability(calculateWinningProbability(drawSetting.getWinnerNum2()))</span>
    -<span class="nc" id="L97">                .build();</span>
    -<span class="nc" id="L98">        DrawInfo drawInfoThird = DrawInfo.builder()</span>
    -<span class="nc" id="L99">                .rank(3)</span>
    -<span class="nc" id="L100">                .winnerNum(drawSetting.getWinnerNum3())</span>
    -<span class="nc" id="L101">                .probability(calculateWinningProbability(drawSetting.getWinnerNum3()))</span>
    -<span class="nc" id="L102">                .build();</span>
    -
    -<span class="nc" id="L104">        List&lt;DrawInfo&gt; drawInfoList = Arrays.asList(drawInfoFirst, drawInfoSecond, drawInfoThird);</span>
    -<span class="nc" id="L105">        DrawEvent drawEvent = DrawEvent.builder()</span>
    -<span class="nc" id="L106">                .startDate(drawSetting.getStartDate())</span>
    -<span class="nc" id="L107">                .endDate(drawSetting.getEndDate())</span>
    -<span class="nc" id="L108">                .startTime(drawSetting.getStartTime())</span>
    -<span class="nc" id="L109">                .endTime(drawSetting.getEndTime())</span>
    -<span class="nc" id="L110">                .drawInfoList(drawInfoList)</span>
    -<span class="nc" id="L111">                .build();</span>
    -
    -<span class="nc" id="L113">        return AdminMainPageResponseDto.builder()</span>
    -<span class="nc" id="L114">                .fcfsEventList(fcfsEventList)</span>
    -<span class="nc" id="L115">                .drawEvent(drawEvent)</span>
    -<span class="nc" id="L116">                .build();</span>
    -
    -    }
    -
    -    private static double calculateWinningProbability(int winnerNum) {
    -<span class="nc" id="L121">        return (double) winnerNum / (double) EXPECTED_PARTICIPANT_COUNT;</span>
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.main/index.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.main/index.html
    deleted file mode 100644
    index b3eb3563..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.main/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.bo_domain.admin.dto.main</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.bo_domain.admin.dto.main</span></div><h1>com.softeer.backend.bo_domain.admin.dto.main</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">113 of 113</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">38</td><td class="ctr2">38</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="AdminMainPageResponseDto.html" class="el_class">AdminMainPageResponseDto</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="113" alt="113"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">38</td><td class="ctr2" id="i0">38</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k0">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.main/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.main/index.source.html
    deleted file mode 100644
    index 1d064aa4..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.main/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.bo_domain.admin.dto.main</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.bo_domain.admin.dto.main</span></div><h1>com.softeer.backend.bo_domain.admin.dto.main</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">113 of 113</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">38</td><td class="ctr2">38</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="AdminMainPageResponseDto.java.html" class="el_source">AdminMainPageResponseDto.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="113" alt="113"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">38</td><td class="ctr2" id="i0">38</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k0">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/DrawWinnerListResponseDto.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/DrawWinnerListResponseDto.html
    deleted file mode 100644
    index 447e24eb..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/DrawWinnerListResponseDto.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DrawWinnerListResponseDto</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.bo_domain.admin.dto.winner</a> &gt; <span class="el_class">DrawWinnerListResponseDto</span></div><h1>DrawWinnerListResponseDto</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">27 of 27</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">11</td><td class="ctr2">11</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="DrawWinnerListResponseDto.java.html#L34" class="el_method">of(List, int)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="16" alt="16"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">8</td><td class="ctr2" id="i0">8</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="DrawWinnerListResponseDto.java.html#L35" class="el_method">lambda$of$0(Draw)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="82" height="10" title="11" alt="11"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">4</td><td class="ctr2" id="i1">4</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/DrawWinnerListResponseDto.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/DrawWinnerListResponseDto.java.html
    deleted file mode 100644
    index f5fe3075..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/DrawWinnerListResponseDto.java.html
    +++ /dev/null
    @@ -1,49 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DrawWinnerListResponseDto.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.bo_domain.admin.dto.winner</a> &gt; <span class="el_source">DrawWinnerListResponseDto.java</span></div><h1>DrawWinnerListResponseDto.java</h1><pre class="source lang-java linenums">package com.softeer.backend.bo_domain.admin.dto.winner;
    -
    -import com.fasterxml.jackson.databind.annotation.JsonSerialize;
    -import com.softeer.backend.bo_domain.admin.serializer.PhoneNumberSerializer;
    -import com.softeer.backend.fo_domain.draw.domain.Draw;
    -import com.softeer.backend.fo_domain.fcfs.domain.Fcfs;
    -import lombok.*;
    -
    -import java.util.Comparator;
    -import java.util.List;
    -
    -@NoArgsConstructor(access = AccessLevel.PRIVATE)
    -@AllArgsConstructor(access = AccessLevel.PUBLIC)
    -@Builder
    -@Getter
    -public class DrawWinnerListResponseDto {
    -
    -    int rank;
    -
    -    private List&lt;DrawWinner&gt; drawWinnerList;
    -
    -    @Getter
    -    @AllArgsConstructor
    -    @Builder
    -    public static class DrawWinner {
    -
    -        private String name;
    -
    -        @JsonSerialize(using = PhoneNumberSerializer.class)
    -        private String phoneNumber;
    -    }
    -
    -    public static DrawWinnerListResponseDto of(List&lt;Draw&gt; drawList, int rank) {
    -<span class="nc" id="L34">        List&lt;DrawWinner&gt; drawWinnerList = drawList.stream()</span>
    -<span class="nc" id="L35">                .map((draw) -&gt; DrawWinner.builder()</span>
    -<span class="nc" id="L36">                        .name(draw.getUser().getName())</span>
    -<span class="nc" id="L37">                        .phoneNumber(draw.getUser().getPhoneNumber())</span>
    -<span class="nc" id="L38">                        .build())</span>
    -<span class="nc" id="L39">                .sorted(Comparator.comparing(DrawWinnerListResponseDto.DrawWinner::getName))</span>
    -<span class="nc" id="L40">                .toList();</span>
    -
    -<span class="nc" id="L42">        return DrawWinnerListResponseDto.builder()</span>
    -<span class="nc" id="L43">                .rank(rank)</span>
    -<span class="nc" id="L44">                .drawWinnerList(drawWinnerList)</span>
    -<span class="nc" id="L45">                .build();</span>
    -    }
    -
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/FcfsWinnerListResponseDto.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/FcfsWinnerListResponseDto.html
    deleted file mode 100644
    index 89a22cf8..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/FcfsWinnerListResponseDto.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>FcfsWinnerListResponseDto</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.bo_domain.admin.dto.winner</a> &gt; <span class="el_class">FcfsWinnerListResponseDto</span></div><h1>FcfsWinnerListResponseDto</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">27 of 27</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">11</td><td class="ctr2">11</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="FcfsWinnerListResponseDto.java.html#L34" class="el_method">of(List, int)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="16" alt="16"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">8</td><td class="ctr2" id="i0">8</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="FcfsWinnerListResponseDto.java.html#L35" class="el_method">lambda$of$0(Fcfs)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="82" height="10" title="11" alt="11"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">4</td><td class="ctr2" id="i1">4</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/FcfsWinnerListResponseDto.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/FcfsWinnerListResponseDto.java.html
    deleted file mode 100644
    index dc3cbb3d..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/FcfsWinnerListResponseDto.java.html
    +++ /dev/null
    @@ -1,48 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>FcfsWinnerListResponseDto.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.bo_domain.admin.dto.winner</a> &gt; <span class="el_source">FcfsWinnerListResponseDto.java</span></div><h1>FcfsWinnerListResponseDto.java</h1><pre class="source lang-java linenums">package com.softeer.backend.bo_domain.admin.dto.winner;
    -
    -import com.fasterxml.jackson.databind.annotation.JsonSerialize;
    -import com.softeer.backend.bo_domain.admin.serializer.PhoneNumberSerializer;
    -import com.softeer.backend.fo_domain.fcfs.domain.Fcfs;
    -import lombok.*;
    -
    -import java.util.ArrayList;
    -import java.util.Comparator;
    -import java.util.List;
    -
    -@NoArgsConstructor(access = AccessLevel.PRIVATE)
    -@AllArgsConstructor(access = AccessLevel.PUBLIC)
    -@Builder
    -@Getter
    -public class FcfsWinnerListResponseDto {
    -
    -    int round;
    -
    -    private List&lt;FcfsWinner&gt; fcfsWinnerList;
    -
    -    @Getter
    -    @AllArgsConstructor
    -    @Builder
    -    public static class FcfsWinner {
    -
    -        private String name;
    -
    -        @JsonSerialize(using = PhoneNumberSerializer.class)
    -        private String phoneNumber;
    -    }
    -
    -    public static FcfsWinnerListResponseDto of(List&lt;Fcfs&gt; fcfsList, int round) {
    -<span class="nc" id="L34">        List&lt;FcfsWinner&gt; fcfsWinnerList = fcfsList.stream()</span>
    -<span class="nc" id="L35">                .map((fcfs) -&gt; FcfsWinner.builder()</span>
    -<span class="nc" id="L36">                        .name(fcfs.getUser().getName())</span>
    -<span class="nc" id="L37">                        .phoneNumber(fcfs.getUser().getPhoneNumber())</span>
    -<span class="nc" id="L38">                        .build())</span>
    -<span class="nc" id="L39">                .sorted(Comparator.comparing(FcfsWinner::getName))</span>
    -<span class="nc" id="L40">                .toList();</span>
    -
    -<span class="nc" id="L42">        return FcfsWinnerListResponseDto.builder()</span>
    -<span class="nc" id="L43">                .round(round)</span>
    -<span class="nc" id="L44">                .fcfsWinnerList(fcfsWinnerList)</span>
    -<span class="nc" id="L45">                .build();</span>
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/WinnerPageResponseDto.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/WinnerPageResponseDto.html
    deleted file mode 100644
    index bb48d7cd..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/WinnerPageResponseDto.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>WinnerPageResponseDto</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.bo_domain.admin.dto.winner</a> &gt; <span class="el_class">WinnerPageResponseDto</span></div><h1>WinnerPageResponseDto</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">89 of 89</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">29</td><td class="ctr2">29</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a2"><a href="WinnerPageResponseDto.java.html#L55" class="el_method">of(List, DrawSetting)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="71" alt="71"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">23</td><td class="ctr2" id="i0">23</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="WinnerPageResponseDto.java.html#L57" class="el_method">lambda$of$0(FcfsSetting)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="21" height="10" title="13" alt="13"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">5</td><td class="ctr2" id="i1">5</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="WinnerPageResponseDto.java.html#L90" class="el_method">calculateWinningProbability(int)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="8" height="10" title="5" alt="5"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/WinnerPageResponseDto.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/WinnerPageResponseDto.java.html
    deleted file mode 100644
    index 3ea0ac87..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/WinnerPageResponseDto.java.html
    +++ /dev/null
    @@ -1,93 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>WinnerPageResponseDto.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.bo_domain.admin.dto.winner</a> &gt; <span class="el_source">WinnerPageResponseDto.java</span></div><h1>WinnerPageResponseDto.java</h1><pre class="source lang-java linenums">package com.softeer.backend.bo_domain.admin.dto.winner;
    -
    -import com.fasterxml.jackson.annotation.JsonFormat;
    -import com.fasterxml.jackson.databind.annotation.JsonSerialize;
    -import com.softeer.backend.bo_domain.admin.serializer.PercentageSerializer;
    -import com.softeer.backend.fo_domain.draw.domain.DrawSetting;
    -import com.softeer.backend.fo_domain.draw.service.DrawSettingManager;
    -import com.softeer.backend.fo_domain.fcfs.domain.FcfsSetting;
    -import com.softeer.backend.fo_domain.fcfs.service.FcfsSettingManager;
    -import lombok.*;
    -
    -import java.time.LocalDate;
    -import java.util.Arrays;
    -import java.util.List;
    -
    -@NoArgsConstructor(access = AccessLevel.PRIVATE)
    -@AllArgsConstructor(access = AccessLevel.PUBLIC)
    -@Builder
    -@Getter
    -public class WinnerPageResponseDto {
    -
    -    public static final int EXPECTED_PARTICIPANT_COUNT = 10000;
    -
    -    private List&lt;FcfsEvent&gt; fcfsEventList;
    -
    -    private List&lt;DrawEvent&gt; drawEventList;
    -
    -    @Getter
    -    @AllArgsConstructor
    -    @Builder
    -    public static class FcfsEvent {
    -
    -        private int round;
    -
    -        @JsonFormat(pattern = &quot;yyyy-MM-dd&quot;)
    -        private LocalDate eventDate;
    -
    -        private int winnerNum;
    -    }
    -
    -    @Getter
    -    @AllArgsConstructor
    -    @Builder
    -    public static class DrawEvent {
    -
    -        private int rank;
    -
    -        private int winnerNum;
    -
    -        @JsonSerialize(using = PercentageSerializer.class)
    -        private double probability;
    -    }
    -
    -    public static WinnerPageResponseDto of(List&lt;FcfsSetting&gt; fcfsSettingList, DrawSetting drawSetting) {
    -<span class="nc" id="L55">        List&lt;FcfsEvent&gt; fcfsEventList = fcfsSettingList.stream()</span>
    -<span class="nc" id="L56">                .map((fcfsSetting) -&gt;</span>
    -<span class="nc" id="L57">                        FcfsEvent.builder()</span>
    -<span class="nc" id="L58">                                .round(fcfsSetting.getRound())</span>
    -<span class="nc" id="L59">                                .eventDate(LocalDate.from(fcfsSetting.getStartTime()))</span>
    -<span class="nc" id="L60">                                .winnerNum(fcfsSetting.getWinnerNum())</span>
    -<span class="nc" id="L61">                                .build())</span>
    -<span class="nc" id="L62">                .toList();</span>
    -
    -<span class="nc" id="L64">        DrawEvent drawEvent1 = DrawEvent.builder()</span>
    -<span class="nc" id="L65">                .rank(1)</span>
    -<span class="nc" id="L66">                .winnerNum(drawSetting.getWinnerNum1())</span>
    -<span class="nc" id="L67">                .probability(calculateWinningProbability(drawSetting.getWinnerNum1()))</span>
    -<span class="nc" id="L68">                .build();</span>
    -<span class="nc" id="L69">        DrawEvent drawEvent2 = DrawEvent.builder()</span>
    -<span class="nc" id="L70">                .rank(2)</span>
    -<span class="nc" id="L71">                .winnerNum(drawSetting.getWinnerNum2())</span>
    -<span class="nc" id="L72">                .probability(calculateWinningProbability(drawSetting.getWinnerNum2()))</span>
    -<span class="nc" id="L73">                .build();</span>
    -<span class="nc" id="L74">        DrawEvent drawEvent3 = DrawEvent.builder()</span>
    -<span class="nc" id="L75">                .rank(3)</span>
    -<span class="nc" id="L76">                .winnerNum(drawSetting.getWinnerNum3())</span>
    -<span class="nc" id="L77">                .probability(calculateWinningProbability(drawSetting.getWinnerNum3()))</span>
    -<span class="nc" id="L78">                .build();</span>
    -
    -<span class="nc" id="L80">        List&lt;DrawEvent&gt; drawEventList = Arrays.asList(drawEvent1, drawEvent2, drawEvent3);</span>
    -
    -<span class="nc" id="L82">        return WinnerPageResponseDto.builder()</span>
    -<span class="nc" id="L83">                .fcfsEventList(fcfsEventList)</span>
    -<span class="nc" id="L84">                .drawEventList(drawEventList)</span>
    -<span class="nc" id="L85">                .build();</span>
    -
    -    }
    -
    -    private static double calculateWinningProbability(int winnerNum) {
    -<span class="nc" id="L90">        return (double) winnerNum / (double) EXPECTED_PARTICIPANT_COUNT;</span>
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/index.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/index.html
    deleted file mode 100644
    index 4c94cde8..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.bo_domain.admin.dto.winner</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.bo_domain.admin.dto.winner</span></div><h1>com.softeer.backend.bo_domain.admin.dto.winner</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">143 of 143</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">7</td><td class="ctr2">7</td><td class="ctr1">51</td><td class="ctr2">51</td><td class="ctr1">7</td><td class="ctr2">7</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a2"><a href="WinnerPageResponseDto.html" class="el_class">WinnerPageResponseDto</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="89" alt="89"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">29</td><td class="ctr2" id="i0">29</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k0">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="DrawWinnerListResponseDto.html" class="el_class">DrawWinnerListResponseDto</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="36" height="10" title="27" alt="27"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">2</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h1">11</td><td class="ctr2" id="i1">11</td><td class="ctr1" id="j1">2</td><td class="ctr2" id="k1">2</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a1"><a href="FcfsWinnerListResponseDto.html" class="el_class">FcfsWinnerListResponseDto</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="36" height="10" title="27" alt="27"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">2</td><td class="ctr2" id="g2">2</td><td class="ctr1" id="h2">11</td><td class="ctr2" id="i2">11</td><td class="ctr1" id="j2">2</td><td class="ctr2" id="k2">2</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/index.source.html
    deleted file mode 100644
    index 400abace..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.dto.winner/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.bo_domain.admin.dto.winner</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.bo_domain.admin.dto.winner</span></div><h1>com.softeer.backend.bo_domain.admin.dto.winner</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">143 of 143</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">7</td><td class="ctr2">7</td><td class="ctr1">51</td><td class="ctr2">51</td><td class="ctr1">7</td><td class="ctr2">7</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a2"><a href="WinnerPageResponseDto.java.html" class="el_source">WinnerPageResponseDto.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="89" alt="89"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">29</td><td class="ctr2" id="i0">29</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k0">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a1"><a href="FcfsWinnerListResponseDto.java.html" class="el_source">FcfsWinnerListResponseDto.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="36" height="10" title="27" alt="27"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">2</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h1">11</td><td class="ctr2" id="i1">11</td><td class="ctr1" id="j1">2</td><td class="ctr2" id="k1">2</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a0"><a href="DrawWinnerListResponseDto.java.html" class="el_source">DrawWinnerListResponseDto.java</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="36" height="10" title="27" alt="27"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">2</td><td class="ctr2" id="g2">2</td><td class="ctr1" id="h2">11</td><td class="ctr2" id="i2">11</td><td class="ctr1" id="j2">2</td><td class="ctr2" id="k2">2</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.exception/AdminException.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.exception/AdminException.html
    deleted file mode 100644
    index 134b3b24..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.exception/AdminException.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>AdminException</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.bo_domain.admin.exception</a> &gt; <span class="el_class">AdminException</span></div><h1>AdminException</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="AdminException.java.html#L9" class="el_method">AdminException(BaseErrorCode)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.exception/AdminException.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.exception/AdminException.java.html
    deleted file mode 100644
    index ae60560e..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.exception/AdminException.java.html
    +++ /dev/null
    @@ -1,12 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>AdminException.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.bo_domain.admin.exception</a> &gt; <span class="el_source">AdminException.java</span></div><h1>AdminException.java</h1><pre class="source lang-java linenums">package com.softeer.backend.bo_domain.admin.exception;
    -
    -import com.softeer.backend.global.common.code.BaseErrorCode;
    -import com.softeer.backend.global.common.exception.GeneralException;
    -
    -public class AdminException extends GeneralException {
    -
    -    public AdminException(BaseErrorCode code) {
    -<span class="nc" id="L9">        super(code);</span>
    -<span class="nc" id="L10">    }</span>
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.exception/index.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.exception/index.html
    deleted file mode 100644
    index 216a9f3e..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.exception/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.bo_domain.admin.exception</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.bo_domain.admin.exception</span></div><h1>com.softeer.backend.bo_domain.admin.exception</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="AdminException.html" class="el_class">AdminException</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.exception/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.exception/index.source.html
    deleted file mode 100644
    index 269a73e4..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.exception/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.bo_domain.admin.exception</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.bo_domain.admin.exception</span></div><h1>com.softeer.backend.bo_domain.admin.exception</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="AdminException.java.html" class="el_source">AdminException.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/PercentageSerializer.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/PercentageSerializer.html
    deleted file mode 100644
    index 383a1cc3..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/PercentageSerializer.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>PercentageSerializer</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.bo_domain.admin.serializer</a> &gt; <span class="el_class">PercentageSerializer</span></div><h1>PercentageSerializer</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">22 of 22</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="PercentageSerializer.java.html#L13" class="el_method">serialize(Double, JsonGenerator, SerializerProvider)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="19" alt="19"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">4</td><td class="ctr2" id="i0">4</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="PercentageSerializer.java.html#L9" class="el_method">PercentageSerializer()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="18" height="10" title="3" alt="3"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/PercentageSerializer.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/PercentageSerializer.java.html
    deleted file mode 100644
    index d15bed41..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/PercentageSerializer.java.html
    +++ /dev/null
    @@ -1,20 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>PercentageSerializer.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.bo_domain.admin.serializer</a> &gt; <span class="el_source">PercentageSerializer.java</span></div><h1>PercentageSerializer.java</h1><pre class="source lang-java linenums">package com.softeer.backend.bo_domain.admin.serializer;
    -
    -import com.fasterxml.jackson.core.JsonGenerator;
    -import com.fasterxml.jackson.databind.JsonSerializer;
    -import com.fasterxml.jackson.databind.SerializerProvider;
    -
    -import java.io.IOException;
    -
    -<span class="nc" id="L9">public class PercentageSerializer extends JsonSerializer&lt;Double&gt; {</span>
    -
    -    @Override
    -    public void serialize(Double value, JsonGenerator gen, SerializerProvider serializers) throws IOException {
    -<span class="nc bnc" id="L13" title="All 2 branches missed.">        if (value != null) {</span>
    -            // 백분율로 변환하고 % 기호를 붙입니다.
    -<span class="nc" id="L15">            String formatted = String.format(&quot;%.2f%%&quot;, value * 100);</span>
    -<span class="nc" id="L16">            gen.writeString(formatted);</span>
    -        }
    -<span class="nc" id="L18">    }</span>
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/PhoneNumberSerializer.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/PhoneNumberSerializer.html
    deleted file mode 100644
    index 49823d36..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/PhoneNumberSerializer.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>PhoneNumberSerializer</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.bo_domain.admin.serializer</a> &gt; <span class="el_class">PhoneNumberSerializer</span></div><h1>PhoneNumberSerializer</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">12 of 12</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="PhoneNumberSerializer.java.html#L14" class="el_method">serialize(String, JsonGenerator, SerializerProvider)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="9" alt="9"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">3</td><td class="ctr2" id="i0">3</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="PhoneNumberSerializer.java.html#L9" class="el_method">PhoneNumberSerializer()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="40" height="10" title="3" alt="3"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/PhoneNumberSerializer.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/PhoneNumberSerializer.java.html
    deleted file mode 100644
    index 5b3f7632..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/PhoneNumberSerializer.java.html
    +++ /dev/null
    @@ -1,18 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>PhoneNumberSerializer.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.bo_domain.admin.serializer</a> &gt; <span class="el_source">PhoneNumberSerializer.java</span></div><h1>PhoneNumberSerializer.java</h1><pre class="source lang-java linenums">package com.softeer.backend.bo_domain.admin.serializer;
    -
    -import com.fasterxml.jackson.core.JsonGenerator;
    -import com.fasterxml.jackson.databind.JsonSerializer;
    -import com.fasterxml.jackson.databind.SerializerProvider;
    -
    -import java.io.IOException;
    -
    -<span class="nc" id="L9">public class PhoneNumberSerializer extends JsonSerializer&lt;String&gt; {</span>
    -
    -    @Override
    -    public void serialize(String value, JsonGenerator gen, SerializerProvider serializers) throws IOException {
    -
    -<span class="nc" id="L14">        String formatted = value.replaceAll(&quot;(\\d{3})(\\d{4})(\\d+)&quot;, &quot;$1-$2-$3&quot;);</span>
    -<span class="nc" id="L15">        gen.writeString(formatted);</span>
    -<span class="nc" id="L16">    }</span>
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/index.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/index.html
    deleted file mode 100644
    index cd7d0e99..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.bo_domain.admin.serializer</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.bo_domain.admin.serializer</span></div><h1>com.softeer.backend.bo_domain.admin.serializer</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">34 of 34</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">9</td><td class="ctr2">9</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="PercentageSerializer.html" class="el_class">PercentageSerializer</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="22" alt="22"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">5</td><td class="ctr2" id="i0">5</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a1"><a href="PhoneNumberSerializer.html" class="el_class">PhoneNumberSerializer</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="65" height="10" title="12" alt="12"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">2</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h1">4</td><td class="ctr2" id="i1">4</td><td class="ctr1" id="j1">2</td><td class="ctr2" id="k1">2</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/index.source.html
    deleted file mode 100644
    index 743c8e2e..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.serializer/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.bo_domain.admin.serializer</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.bo_domain.admin.serializer</span></div><h1>com.softeer.backend.bo_domain.admin.serializer</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">34 of 34</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">9</td><td class="ctr2">9</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="PercentageSerializer.java.html" class="el_source">PercentageSerializer.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="22" alt="22"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">5</td><td class="ctr2" id="i0">5</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a1"><a href="PhoneNumberSerializer.java.html" class="el_source">PhoneNumberSerializer.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="65" height="10" title="12" alt="12"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">2</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h1">4</td><td class="ctr2" id="i1">4</td><td class="ctr1" id="j1">2</td><td class="ctr2" id="k1">2</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/AdminLoginService.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/AdminLoginService.html
    deleted file mode 100644
    index 346d68e1..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/AdminLoginService.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>AdminLoginService</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.bo_domain.admin.service</a> &gt; <span class="el_class">AdminLoginService</span></div><h1>AdminLoginService</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">89 of 89</td><td class="ctr2">0%</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="ctr1">7</td><td class="ctr2">7</td><td class="ctr1">25</td><td class="ctr2">25</td><td class="ctr1">5</td><td class="ctr2">5</td></tr></tfoot><tbody><tr><td id="a0"><a href="AdminLoginService.java.html#L33" class="el_method">handleLogin(AdminLoginRequestDto)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="37" alt="37"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">9</td><td class="ctr2" id="i0">9</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="AdminLoginService.java.html#L62" class="el_method">handleSignUp(AdminSignUpRequestDto)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="97" height="10" title="30" alt="30"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f1">2</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h1">8</td><td class="ctr2" id="i1">8</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a1"><a href="AdminLoginService.java.html#L53" class="el_method">handleLogout(int)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="32" height="10" title="10" alt="10"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">5</td><td class="ctr2" id="i2">5</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a3"><a href="AdminLoginService.java.html#L35" class="el_method">lambda$handleLogin$0()</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="25" height="10" title="8" alt="8"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">2</td><td class="ctr2" id="i3">2</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a4"><a href="AdminLoginService.java.html#L20" class="el_method">static {...}</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="12" height="10" title="4" alt="4"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">1</td><td class="ctr2" id="i4">1</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/AdminLoginService.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/AdminLoginService.java.html
    deleted file mode 100644
    index c2a389e6..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/AdminLoginService.java.html
    +++ /dev/null
    @@ -1,73 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>AdminLoginService.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.bo_domain.admin.service</a> &gt; <span class="el_source">AdminLoginService.java</span></div><h1>AdminLoginService.java</h1><pre class="source lang-java linenums">package com.softeer.backend.bo_domain.admin.service;
    -
    -import com.softeer.backend.bo_domain.admin.domain.Admin;
    -import com.softeer.backend.bo_domain.admin.dto.login.AdminLoginRequestDto;
    -import com.softeer.backend.bo_domain.admin.dto.login.AdminSignUpRequestDto;
    -import com.softeer.backend.bo_domain.admin.exception.AdminException;
    -import com.softeer.backend.bo_domain.admin.repository.AdminRepository;
    -import com.softeer.backend.bo_domain.admin.util.PasswordEncoder;
    -import com.softeer.backend.global.common.code.status.ErrorStatus;
    -import com.softeer.backend.global.common.constant.RoleType;
    -import com.softeer.backend.global.common.dto.JwtClaimsDto;
    -import com.softeer.backend.global.common.dto.JwtTokenResponseDto;
    -import com.softeer.backend.global.util.JwtUtil;
    -import com.softeer.backend.global.util.StringRedisUtil;
    -import lombok.RequiredArgsConstructor;
    -import lombok.extern.slf4j.Slf4j;
    -import org.springframework.stereotype.Service;
    -import org.springframework.transaction.annotation.Transactional;
    -
    -<span class="nc" id="L20">@Slf4j</span>
    -@Service
    -@RequiredArgsConstructor
    -public class AdminLoginService {
    -
    -    private final AdminRepository adminRepository;
    -    private final JwtUtil jwtUtil;
    -    private final StringRedisUtil stringRedisUtil;
    -    private final PasswordEncoder passwordEncoder;
    -
    -    @Transactional(readOnly = true)
    -    public JwtTokenResponseDto handleLogin(AdminLoginRequestDto adminLoginRequestDto) {
    -
    -<span class="nc" id="L33">        Admin admin = adminRepository.findByAccount(adminLoginRequestDto.getAccount())</span>
    -<span class="nc" id="L34">                .orElseThrow(() -&gt; {</span>
    -<span class="nc" id="L35">                    log.error(&quot;Admin not found.&quot;);</span>
    -<span class="nc" id="L36">                    return new AdminException(ErrorStatus._NOT_FOUND);</span>
    -                });
    -
    -<span class="nc bnc" id="L39" title="All 2 branches missed.">        if (!passwordEncoder.matches(adminLoginRequestDto.getPassword(), admin.getPassword())) {</span>
    -<span class="nc" id="L40">            log.error(&quot;Admin password not match.&quot;);</span>
    -<span class="nc" id="L41">            throw new AdminException(ErrorStatus._NOT_FOUND);</span>
    -        }
    -
    -<span class="nc" id="L44">        return jwtUtil.createServiceToken(JwtClaimsDto.builder()</span>
    -<span class="nc" id="L45">                .id(admin.getId())</span>
    -<span class="nc" id="L46">                .roleType(RoleType.ROLE_ADMIN)</span>
    -<span class="nc" id="L47">                .build());</span>
    -
    -    }
    -
    -    public void handleLogout(int adminId) {
    -
    -<span class="nc" id="L53">        stringRedisUtil.deleteRefreshToken(JwtClaimsDto.builder()</span>
    -<span class="nc" id="L54">                .id(adminId)</span>
    -<span class="nc" id="L55">                .roleType(RoleType.ROLE_ADMIN)</span>
    -<span class="nc" id="L56">                .build());</span>
    -<span class="nc" id="L57">    }</span>
    -
    -    @Transactional
    -    public void handleSignUp(AdminSignUpRequestDto adminSignUpRequestDto) {
    -
    -<span class="nc bnc" id="L62" title="All 2 branches missed.">        if (adminRepository.existsByAccount(adminSignUpRequestDto.getAccount())) {</span>
    -<span class="nc" id="L63">            log.error(&quot;Admin account already exist.&quot;);</span>
    -<span class="nc" id="L64">            throw new AdminException(ErrorStatus._BAD_REQUEST);</span>
    -        }
    -
    -<span class="nc" id="L67">        adminRepository.save(Admin.builder()</span>
    -<span class="nc" id="L68">                .account(adminSignUpRequestDto.getAccount())</span>
    -<span class="nc" id="L69">                .password(passwordEncoder.encode(adminSignUpRequestDto.getPassword()))</span>
    -<span class="nc" id="L70">                .build());</span>
    -<span class="nc" id="L71">    }</span>
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/EventPageService.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/EventPageService.html
    deleted file mode 100644
    index 592b6ba9..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/EventPageService.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>EventPageService</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.bo_domain.admin.service</a> &gt; <span class="el_class">EventPageService</span></div><h1>EventPageService</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">138 of 138</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">29</td><td class="ctr2">29</td><td class="ctr1">5</td><td class="ctr2">5</td></tr></tfoot><tbody><tr><td id="a3"><a href="EventPageService.java.html#L42" class="el_method">updateFcfsEventTime(FcfsEventTimeRequestDto)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="74" alt="74"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">13</td><td class="ctr2" id="i0">13</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="EventPageService.java.html#L73" class="el_method">updateDrawSetting(DrawSetting, LocalDate, LocalDate)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="35" height="10" title="22" alt="22"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">6</td><td class="ctr2" id="i1">6</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a1"><a href="EventPageService.java.html#L84" class="el_method">updateDrawEventTime(DrawEventTimeRequestDto)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="25" height="10" title="16" alt="16"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h3">4</td><td class="ctr2" id="i3">4</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a4"><a href="EventPageService.java.html#L64" class="el_method">updateFcfsSetting(FcfsSetting, LocalDate, LocalTime)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="24" height="10" title="15" alt="15"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h2">5</td><td class="ctr2" id="i2">5</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a0"><a href="EventPageService.java.html#L37" class="el_method">getEventPage()</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="17" height="10" title="11" alt="11"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">1</td><td class="ctr2" id="i4">1</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/EventPageService.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/EventPageService.java.html
    deleted file mode 100644
    index 7a030ee4..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/EventPageService.java.html
    +++ /dev/null
    @@ -1,93 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>EventPageService.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.bo_domain.admin.service</a> &gt; <span class="el_source">EventPageService.java</span></div><h1>EventPageService.java</h1><pre class="source lang-java linenums">package com.softeer.backend.bo_domain.admin.service;
    -
    -import com.fasterxml.jackson.annotation.JsonFormat;
    -import com.softeer.backend.bo_domain.admin.dto.event.DrawEventTimeRequestDto;
    -import com.softeer.backend.bo_domain.admin.dto.event.EventPageResponseDto;
    -import com.softeer.backend.bo_domain.admin.dto.event.FcfsEventTimeRequestDto;
    -import com.softeer.backend.bo_domain.admin.dto.main.AdminMainPageResponseDto;
    -import com.softeer.backend.fo_domain.draw.domain.DrawSetting;
    -import com.softeer.backend.fo_domain.draw.repository.DrawSettingRepository;
    -import com.softeer.backend.fo_domain.draw.service.DrawSettingManager;
    -import com.softeer.backend.fo_domain.fcfs.domain.FcfsSetting;
    -import com.softeer.backend.fo_domain.fcfs.repository.FcfsSettingRepository;
    -import com.softeer.backend.fo_domain.fcfs.service.FcfsSettingManager;
    -import lombok.RequiredArgsConstructor;
    -import org.springframework.data.domain.Sort;
    -import org.springframework.stereotype.Service;
    -import org.springframework.transaction.annotation.Transactional;
    -
    -import java.time.DayOfWeek;
    -import java.time.LocalDate;
    -import java.time.LocalDateTime;
    -import java.time.LocalTime;
    -import java.time.temporal.TemporalAdjusters;
    -import java.util.List;
    -
    -@Service
    -@RequiredArgsConstructor
    -@Transactional
    -public class EventPageService {
    -
    -    private final FcfsSettingRepository fcfsSettingRepository;
    -    private final DrawSettingRepository drawSettingRepository;
    -
    -    @Transactional(readOnly = true)
    -    public EventPageResponseDto getEventPage() {
    -
    -<span class="nc" id="L37">        return EventPageResponseDto.of(fcfsSettingRepository.findAll(), drawSettingRepository.findAll().get(0));</span>
    -    }
    -
    -    public void updateFcfsEventTime(FcfsEventTimeRequestDto fcfsEventTimeRequestDto) {
    -
    -<span class="nc" id="L42">        List&lt;FcfsSetting&gt; fcfsSettingList = fcfsSettingRepository.findAll(Sort.by(Sort.Order.asc(&quot;id&quot;)));</span>
    -
    -<span class="nc" id="L44">        LocalDate startDate = fcfsEventTimeRequestDto.getStartDate();</span>
    -<span class="nc" id="L45">        LocalDate endDate = fcfsEventTimeRequestDto.getEndDate();</span>
    -<span class="nc" id="L46">        LocalTime startTime = fcfsEventTimeRequestDto.getStartTime();</span>
    -
    -<span class="nc" id="L48">        updateFcfsSetting(fcfsSettingList.get(0), startDate, startTime);</span>
    -<span class="nc" id="L49">        updateFcfsSetting(fcfsSettingList.get(1), endDate, startTime);</span>
    -
    -<span class="nc" id="L51">        LocalDate nextWeekStartDate = startDate.plusWeeks(1);</span>
    -<span class="nc" id="L52">        LocalDate nextWeekEndDate = endDate.plusWeeks(1);</span>
    -
    -<span class="nc" id="L54">        updateFcfsSetting(fcfsSettingList.get(2), nextWeekStartDate, startTime);</span>
    -<span class="nc" id="L55">        updateFcfsSetting(fcfsSettingList.get(3), nextWeekEndDate, startTime);</span>
    -
    -<span class="nc" id="L57">        DrawSetting drawSetting = drawSettingRepository.findAll().get(0);</span>
    -<span class="nc" id="L58">        updateDrawSetting(drawSetting, startDate, endDate);</span>
    -
    -<span class="nc" id="L60">    }</span>
    -
    -    private void updateFcfsSetting(FcfsSetting fcfsSetting, LocalDate date, LocalTime time) {
    -
    -<span class="nc" id="L64">        LocalDateTime newStartTime = LocalDateTime.of(date, time);</span>
    -<span class="nc" id="L65">        LocalDateTime newEndTime = newStartTime.plusHours(2);</span>
    -
    -<span class="nc" id="L67">        fcfsSetting.setStartTime(newStartTime);</span>
    -<span class="nc" id="L68">        fcfsSetting.setEndTime(newEndTime);</span>
    -
    -<span class="nc" id="L70">    }</span>
    -
    -    private void updateDrawSetting(DrawSetting drawSetting, LocalDate startDate, LocalDate endDate) {
    -<span class="nc" id="L73">        LocalDate startDateOfDraw = startDate.with(TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY));</span>
    -
    -<span class="nc" id="L75">        LocalDate endDateOfPreviousWeek = endDate.with(TemporalAdjusters.nextOrSame(DayOfWeek.SUNDAY));</span>
    -<span class="nc" id="L76">        LocalDate endDateOfDraw = endDateOfPreviousWeek.with(TemporalAdjusters.next(DayOfWeek.SUNDAY));</span>
    -
    -<span class="nc" id="L78">        drawSetting.setStartDate(startDateOfDraw);</span>
    -<span class="nc" id="L79">        drawSetting.setEndDate(endDateOfDraw);</span>
    -
    -<span class="nc" id="L81">    }</span>
    -
    -    public void updateDrawEventTime(DrawEventTimeRequestDto drawEventTimeRequestDto) {
    -<span class="nc" id="L84">        DrawSetting drawSetting = drawSettingRepository.findAll().get(0);</span>
    -
    -<span class="nc" id="L86">        drawSetting.setStartTime(drawEventTimeRequestDto.getStartTime());</span>
    -<span class="nc" id="L87">        drawSetting.setEndTime(drawEventTimeRequestDto.getEndTime());</span>
    -
    -<span class="nc" id="L89">    }</span>
    -
    -
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/IndicatorPageService.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/IndicatorPageService.html
    deleted file mode 100644
    index eaeaba56..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/IndicatorPageService.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>IndicatorPageService</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.bo_domain.admin.service</a> &gt; <span class="el_class">IndicatorPageService</span></div><h1>IndicatorPageService</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">19 of 19</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="IndicatorPageService.java.html#L24" class="el_method">getEventIndicator()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="19" alt="19"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">4</td><td class="ctr2" id="i0">4</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/IndicatorPageService.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/IndicatorPageService.java.html
    deleted file mode 100644
    index bc2862e9..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/IndicatorPageService.java.html
    +++ /dev/null
    @@ -1,34 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>IndicatorPageService.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.bo_domain.admin.service</a> &gt; <span class="el_source">IndicatorPageService.java</span></div><h1>IndicatorPageService.java</h1><pre class="source lang-java linenums">package com.softeer.backend.bo_domain.admin.service;
    -
    -import com.softeer.backend.bo_domain.admin.dto.indicator.EventIndicatorResponseDto;
    -import com.softeer.backend.bo_domain.eventparticipation.domain.EventParticipation;
    -import com.softeer.backend.bo_domain.eventparticipation.repository.EventParticipationRepository;
    -import com.softeer.backend.fo_domain.draw.domain.DrawSetting;
    -import com.softeer.backend.fo_domain.draw.repository.DrawSettingRepository;
    -import com.softeer.backend.fo_domain.draw.service.DrawSettingManager;
    -import kotlinx.serialization.Required;
    -import lombok.RequiredArgsConstructor;
    -import org.springframework.stereotype.Service;
    -
    -import java.util.List;
    -
    -@Service
    -@RequiredArgsConstructor
    -public class IndicatorPageService {
    -
    -    private final EventParticipationRepository eventParticipationRepository;
    -    private final DrawSettingRepository drawSettingRepository;
    -
    -    public EventIndicatorResponseDto getEventIndicator() {
    -
    -<span class="nc" id="L24">        DrawSetting drawSetting = drawSettingRepository.findAll().get(0);</span>
    -
    -<span class="nc" id="L26">        List&lt;EventParticipation&gt; eventParticipationList = eventParticipationRepository.findAllByEventDateBetween(</span>
    -<span class="nc" id="L27">                drawSetting.getStartDate(), drawSetting.getEndDate()</span>
    -        );
    -
    -<span class="nc" id="L30">        return EventIndicatorResponseDto.of(eventParticipationList, drawSetting);</span>
    -    }
    -
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/WinnerPageService.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/WinnerPageService.html
    deleted file mode 100644
    index 23e3109b..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/WinnerPageService.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>WinnerPageService</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.bo_domain.admin.service</a> &gt; <span class="el_class">WinnerPageService</span></div><h1>WinnerPageService</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">68 of 68</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">7</td><td class="ctr2">7</td><td class="ctr1">14</td><td class="ctr2">14</td><td class="ctr1">7</td><td class="ctr2">7</td></tr></tfoot><tbody><tr><td id="a5"><a href="WinnerPageService.java.html#L65" class="el_method">updateDrawWinnerNum(DrawWinnerUpdateRequestDto)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="20" alt="20"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">5</td><td class="ctr2" id="i0">5</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="WinnerPageService.java.html#L39" class="el_method">getWinnerPage()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="66" height="10" title="11" alt="11"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h4">1</td><td class="ctr2" id="i4">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a1"><a href="WinnerPageService.java.html#L44" class="el_method">getFcfsWinnerList(int)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="54" height="10" title="9" alt="9"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">2</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a0"><a href="WinnerPageService.java.html#L51" class="el_method">getDrawWinnerList(int)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="54" height="10" title="9" alt="9"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">2</td><td class="ctr2" id="i3">2</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a6"><a href="WinnerPageService.java.html#L58" class="el_method">updateFcfsWinnerNum(FcfsWinnerUpdateRequestDto)</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="54" height="10" title="9" alt="9"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h1">3</td><td class="ctr2" id="i1">3</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a3"><a href="WinnerPageService.java.html#L60" class="el_method">lambda$updateFcfsWinnerNum$0(FcfsWinnerUpdateRequestDto, FcfsSetting)</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="36" height="10" title="6" alt="6"/></td><td class="ctr2" id="c5">0%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">1</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">1</td><td class="ctr2" id="i5">1</td><td class="ctr1" id="j5">1</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a4"><a href="WinnerPageService.java.html#L26" class="el_method">static {...}</a></td><td class="bar" id="b6"><img src="../jacoco-resources/redbar.gif" width="24" height="10" title="4" alt="4"/></td><td class="ctr2" id="c6">0%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">1</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h6">1</td><td class="ctr2" id="i6">1</td><td class="ctr1" id="j6">1</td><td class="ctr2" id="k6">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/WinnerPageService.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/WinnerPageService.java.html
    deleted file mode 100644
    index fd80c074..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/WinnerPageService.java.html
    +++ /dev/null
    @@ -1,72 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>WinnerPageService.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.bo_domain.admin.service</a> &gt; <span class="el_source">WinnerPageService.java</span></div><h1>WinnerPageService.java</h1><pre class="source lang-java linenums">package com.softeer.backend.bo_domain.admin.service;
    -
    -import com.softeer.backend.bo_domain.admin.dto.event.EventPageResponseDto;
    -import com.softeer.backend.bo_domain.admin.dto.winner.*;
    -import com.softeer.backend.bo_domain.admin.exception.AdminException;
    -import com.softeer.backend.fo_domain.draw.domain.Draw;
    -import com.softeer.backend.fo_domain.draw.domain.DrawSetting;
    -import com.softeer.backend.fo_domain.draw.repository.DrawRepository;
    -import com.softeer.backend.fo_domain.draw.repository.DrawSettingRepository;
    -import com.softeer.backend.fo_domain.draw.service.DrawSettingManager;
    -import com.softeer.backend.fo_domain.fcfs.domain.Fcfs;
    -import com.softeer.backend.fo_domain.fcfs.domain.FcfsSetting;
    -import com.softeer.backend.fo_domain.fcfs.repository.FcfsRepository;
    -import com.softeer.backend.fo_domain.fcfs.repository.FcfsSettingRepository;
    -import com.softeer.backend.fo_domain.fcfs.service.FcfsSettingManager;
    -import com.softeer.backend.fo_domain.user.repository.UserRepository;
    -import com.softeer.backend.global.common.code.status.ErrorStatus;
    -import lombok.RequiredArgsConstructor;
    -import lombok.extern.slf4j.Slf4j;
    -import org.springframework.data.domain.Sort;
    -import org.springframework.stereotype.Service;
    -import org.springframework.transaction.annotation.Transactional;
    -
    -import java.util.List;
    -
    -<span class="nc" id="L26">@Slf4j</span>
    -@Service
    -@RequiredArgsConstructor
    -public class WinnerPageService {
    -
    -    private final FcfsRepository fcfsRepository;
    -    private final DrawRepository drawRepository;
    -    private final FcfsSettingRepository fcfsSettingRepository;
    -    private final DrawSettingRepository drawSettingRepository;
    -
    -    @Transactional(readOnly = true)
    -    public WinnerPageResponseDto getWinnerPage() {
    -
    -<span class="nc" id="L39">        return WinnerPageResponseDto.of(fcfsSettingRepository.findAll(), drawSettingRepository.findAll().get(0));</span>
    -    }
    -
    -    @Transactional(readOnly = true)
    -    public FcfsWinnerListResponseDto getFcfsWinnerList(int round) {
    -<span class="nc" id="L44">        List&lt;Fcfs&gt; fcfsList = fcfsRepository.findFcfsWithUser(round);</span>
    -
    -<span class="nc" id="L46">        return FcfsWinnerListResponseDto.of(fcfsList, round);</span>
    -    }
    -
    -    @Transactional(readOnly = true)
    -    public DrawWinnerListResponseDto getDrawWinnerList(int rank) {
    -<span class="nc" id="L51">        List&lt;Draw&gt; drawList = drawRepository.findDrawWithUser(rank);</span>
    -
    -<span class="nc" id="L53">        return DrawWinnerListResponseDto.of(drawList, rank);</span>
    -    }
    -
    -    @Transactional
    -    public void updateFcfsWinnerNum(FcfsWinnerUpdateRequestDto fcfsWinnerUpdateRequestDto) {
    -<span class="nc" id="L58">        List&lt;FcfsSetting&gt; fcfsSettingList = fcfsSettingRepository.findAll();</span>
    -
    -<span class="nc" id="L60">        fcfsSettingList.forEach((fcfsSetting) -&gt; fcfsSetting.setWinnerNum(fcfsWinnerUpdateRequestDto.getFcfsWinnerNum()));</span>
    -<span class="nc" id="L61">    }</span>
    -
    -    @Transactional
    -    public void updateDrawWinnerNum(DrawWinnerUpdateRequestDto drawWinnerUpdateRequestDto) {
    -<span class="nc" id="L65">        DrawSetting drawSetting = drawSettingRepository.findAll().get(0);</span>
    -
    -<span class="nc" id="L67">        drawSetting.setWinnerNum1(drawWinnerUpdateRequestDto.getFirstWinnerNum());</span>
    -<span class="nc" id="L68">        drawSetting.setWinnerNum2(drawWinnerUpdateRequestDto.getSecondWinnerNum());</span>
    -<span class="nc" id="L69">        drawSetting.setWinnerNum3(drawWinnerUpdateRequestDto.getThirdWinnerNum());</span>
    -<span class="nc" id="L70">    }</span>
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/index.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/index.html
    deleted file mode 100644
    index 2d68aec4..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.bo_domain.admin.service</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.bo_domain.admin.service</span></div><h1>com.softeer.backend.bo_domain.admin.service</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">314 of 314</td><td class="ctr2">0%</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="ctr1">20</td><td class="ctr2">20</td><td class="ctr1">72</td><td class="ctr2">72</td><td class="ctr1">18</td><td class="ctr2">18</td><td class="ctr1">4</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a1"><a href="EventPageService.html" class="el_class">EventPageService</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="138" alt="138"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f2">5</td><td class="ctr2" id="g2">5</td><td class="ctr1" id="h0">29</td><td class="ctr2" id="i0">29</td><td class="ctr1" id="j1">5</td><td class="ctr2" id="k1">5</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="AdminLoginService.html" class="el_class">AdminLoginService</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="77" height="10" title="89" alt="89"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">7</td><td class="ctr2" id="g0">7</td><td class="ctr1" id="h1">25</td><td class="ctr2" id="i1">25</td><td class="ctr1" id="j2">5</td><td class="ctr2" id="k2">5</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a3"><a href="WinnerPageService.html" class="el_class">WinnerPageService</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="59" height="10" title="68" alt="68"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f1">7</td><td class="ctr2" id="g1">7</td><td class="ctr1" id="h2">14</td><td class="ctr2" id="i2">14</td><td class="ctr1" id="j0">7</td><td class="ctr2" id="k0">7</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a2"><a href="IndicatorPageService.html" class="el_class">IndicatorPageService</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="16" height="10" title="19" alt="19"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">4</td><td class="ctr2" id="i3">4</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td><td class="ctr1" id="l3">1</td><td class="ctr2" id="m3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/index.source.html
    deleted file mode 100644
    index 8e3490dc..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.service/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.bo_domain.admin.service</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.bo_domain.admin.service</span></div><h1>com.softeer.backend.bo_domain.admin.service</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">314 of 314</td><td class="ctr2">0%</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="ctr1">20</td><td class="ctr2">20</td><td class="ctr1">72</td><td class="ctr2">72</td><td class="ctr1">18</td><td class="ctr2">18</td><td class="ctr1">4</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a1"><a href="EventPageService.java.html" class="el_source">EventPageService.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="138" alt="138"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f2">5</td><td class="ctr2" id="g2">5</td><td class="ctr1" id="h0">29</td><td class="ctr2" id="i0">29</td><td class="ctr1" id="j1">5</td><td class="ctr2" id="k1">5</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="AdminLoginService.java.html" class="el_source">AdminLoginService.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="77" height="10" title="89" alt="89"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">7</td><td class="ctr2" id="g0">7</td><td class="ctr1" id="h1">25</td><td class="ctr2" id="i1">25</td><td class="ctr1" id="j2">5</td><td class="ctr2" id="k2">5</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a3"><a href="WinnerPageService.java.html" class="el_source">WinnerPageService.java</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="59" height="10" title="68" alt="68"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f1">7</td><td class="ctr2" id="g1">7</td><td class="ctr1" id="h2">14</td><td class="ctr2" id="i2">14</td><td class="ctr1" id="j0">7</td><td class="ctr2" id="k0">7</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a2"><a href="IndicatorPageService.java.html" class="el_source">IndicatorPageService.java</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="16" height="10" title="19" alt="19"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">4</td><td class="ctr2" id="i3">4</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td><td class="ctr1" id="l3">1</td><td class="ctr2" id="m3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.util/PasswordEncoder.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.util/PasswordEncoder.html
    deleted file mode 100644
    index 4951a1e2..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.util/PasswordEncoder.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>PasswordEncoder</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.bo_domain.admin.util</a> &gt; <span class="el_class">PasswordEncoder</span></div><h1>PasswordEncoder</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">11 of 11</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a0"><a href="PasswordEncoder.java.html#L11" class="el_method">encode(String)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">1</td><td class="ctr2" id="i0">1</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="PasswordEncoder.java.html#L16" class="el_method">matches(String, String)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="PasswordEncoder.java.html#L7" class="el_method">PasswordEncoder()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="90" height="10" title="3" alt="3"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.util/PasswordEncoder.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.util/PasswordEncoder.java.html
    deleted file mode 100644
    index eae600b0..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.util/PasswordEncoder.java.html
    +++ /dev/null
    @@ -1,19 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>PasswordEncoder.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.bo_domain.admin.util</a> &gt; <span class="el_source">PasswordEncoder.java</span></div><h1>PasswordEncoder.java</h1><pre class="source lang-java linenums">package com.softeer.backend.bo_domain.admin.util;
    -
    -import org.mindrot.jbcrypt.BCrypt;
    -import org.springframework.stereotype.Component;
    -
    -@Component
    -<span class="nc" id="L7">public class PasswordEncoder {</span>
    -
    -    // 비밀번호를 해시화
    -    public String encode(String rawPassword) {
    -<span class="nc" id="L11">        return BCrypt.hashpw(rawPassword, BCrypt.gensalt());</span>
    -    }
    -
    -    // 비밀번호 비교 (평문 vs 해시)
    -    public boolean matches(String rawPassword, String encodedPassword) {
    -<span class="nc" id="L16">        return BCrypt.checkpw(rawPassword, encodedPassword);</span>
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.util/index.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.util/index.html
    deleted file mode 100644
    index e7514b8e..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.util/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.bo_domain.admin.util</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.bo_domain.admin.util</span></div><h1>com.softeer.backend.bo_domain.admin.util</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">11 of 11</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="PasswordEncoder.html" class="el_class">PasswordEncoder</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="11" alt="11"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">3</td><td class="ctr2" id="i0">3</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k0">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.util/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.util/index.source.html
    deleted file mode 100644
    index a4cd281c..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.util/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.bo_domain.admin.util</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.bo_domain.admin.util</span></div><h1>com.softeer.backend.bo_domain.admin.util</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">11 of 11</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="PasswordEncoder.java.html" class="el_source">PasswordEncoder.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="11" alt="11"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">3</td><td class="ctr2" id="i0">3</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k0">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/DrawTimeRangeValidator.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/DrawTimeRangeValidator.html
    deleted file mode 100644
    index 73b05d56..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/DrawTimeRangeValidator.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DrawTimeRangeValidator</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.bo_domain.admin.validator</a> &gt; <span class="el_class">DrawTimeRangeValidator</span></div><h1>DrawTimeRangeValidator</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">46 of 46</td><td class="ctr2">0%</td><td class="bar">10 of 10</td><td class="ctr2">0%</td><td class="ctr1">8</td><td class="ctr2">8</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a2"><a href="DrawTimeRangeValidator.java.html#L19" class="el_method">isValid(DrawEventTimeRequestDto, ConstraintValidatorContext)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="39" alt="39"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="10" alt="10"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">6</td><td class="ctr2" id="g0">6</td><td class="ctr1" id="h0">9</td><td class="ctr2" id="i0">9</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="DrawTimeRangeValidator.java.html#L14" class="el_method">initialize(ValidDrawTimeRange)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="12" height="10" title="4" alt="4"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="DrawTimeRangeValidator.java.html#L10" class="el_method">DrawTimeRangeValidator()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="9" height="10" title="3" alt="3"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/DrawTimeRangeValidator.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/DrawTimeRangeValidator.java.html
    deleted file mode 100644
    index cea7d914..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/DrawTimeRangeValidator.java.html
    +++ /dev/null
    @@ -1,40 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DrawTimeRangeValidator.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.bo_domain.admin.validator</a> &gt; <span class="el_source">DrawTimeRangeValidator.java</span></div><h1>DrawTimeRangeValidator.java</h1><pre class="source lang-java linenums">package com.softeer.backend.bo_domain.admin.validator;
    -
    -import com.softeer.backend.bo_domain.admin.dto.event.DrawEventTimeRequestDto;
    -import com.softeer.backend.bo_domain.admin.validator.annotation.ValidDrawTimeRange;
    -import jakarta.validation.ConstraintValidator;
    -import jakarta.validation.ConstraintValidatorContext;
    -
    -import java.time.LocalTime;
    -
    -<span class="nc" id="L10">public class DrawTimeRangeValidator implements ConstraintValidator&lt;ValidDrawTimeRange, DrawEventTimeRequestDto&gt; {</span>
    -
    -    @Override
    -    public void initialize(ValidDrawTimeRange constraintAnnotation) {
    -<span class="nc" id="L14">        ConstraintValidator.super.initialize(constraintAnnotation);</span>
    -<span class="nc" id="L15">    }</span>
    -
    -    @Override
    -    public boolean isValid(DrawEventTimeRequestDto value, ConstraintValidatorContext context) {
    -<span class="nc bnc" id="L19" title="All 4 branches missed.">        if (value.getStartTime() == null || value.getEndTime() == null) {</span>
    -<span class="nc" id="L20">            return true;</span>
    -        }
    -
    -<span class="nc" id="L23">        LocalTime startTime = value.getStartTime();</span>
    -<span class="nc" id="L24">        LocalTime endTime = value.getEndTime();</span>
    -
    -        // 시작 시간 검증: 09:00:00 이후
    -<span class="nc bnc" id="L27" title="All 2 branches missed.">        if (startTime.isBefore(LocalTime.of(9, 0))) {</span>
    -<span class="nc" id="L28">            return false;</span>
    -        }
    -
    -        // 종료 시간 검증: 23:59:59 이전
    -<span class="nc bnc" id="L32" title="All 2 branches missed.">        if (endTime.isAfter(LocalTime.of(23, 59, 59))) {</span>
    -<span class="nc" id="L33">            return false;</span>
    -        }
    -
    -        // 시작 시간이 종료 시간보다 이전인지 확인
    -<span class="nc bnc" id="L37" title="All 2 branches missed.">        return !startTime.isAfter(endTime);</span>
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/FcfsDateRangeValidator.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/FcfsDateRangeValidator.html
    deleted file mode 100644
    index f786eae7..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/FcfsDateRangeValidator.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>FcfsDateRangeValidator</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.bo_domain.admin.validator</a> &gt; <span class="el_class">FcfsDateRangeValidator</span></div><h1>FcfsDateRangeValidator</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">51 of 51</td><td class="ctr2">0%</td><td class="bar">10 of 10</td><td class="ctr2">0%</td><td class="ctr1">8</td><td class="ctr2">8</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a2"><a href="FcfsDateRangeValidator.java.html#L23" class="el_method">isValid(FcfsEventTimeRequestDto, ConstraintValidatorContext)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="44" alt="44"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="10" alt="10"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">6</td><td class="ctr2" id="g0">6</td><td class="ctr1" id="h0">9</td><td class="ctr2" id="i0">9</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="FcfsDateRangeValidator.java.html#L18" class="el_method">initialize(ValidFcfsDateRange)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="10" height="10" title="4" alt="4"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="FcfsDateRangeValidator.java.html#L14" class="el_method">FcfsDateRangeValidator()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="8" height="10" title="3" alt="3"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/FcfsDateRangeValidator.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/FcfsDateRangeValidator.java.html
    deleted file mode 100644
    index ee84f2c7..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/FcfsDateRangeValidator.java.html
    +++ /dev/null
    @@ -1,42 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>FcfsDateRangeValidator.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.bo_domain.admin.validator</a> &gt; <span class="el_source">FcfsDateRangeValidator.java</span></div><h1>FcfsDateRangeValidator.java</h1><pre class="source lang-java linenums">package com.softeer.backend.bo_domain.admin.validator;
    -
    -import com.softeer.backend.bo_domain.admin.dto.event.FcfsEventTimeRequestDto;
    -import com.softeer.backend.bo_domain.admin.validator.annotation.ValidFcfsDateRange;
    -import jakarta.validation.ConstraintValidator;
    -import jakarta.validation.ConstraintValidatorContext;
    -
    -import java.time.DayOfWeek;
    -import java.time.LocalDate;
    -import java.time.temporal.TemporalAdjusters;
    -import java.time.temporal.WeekFields;
    -import java.util.Locale;
    -
    -<span class="nc" id="L14">public class FcfsDateRangeValidator implements ConstraintValidator&lt;ValidFcfsDateRange, FcfsEventTimeRequestDto&gt; {</span>
    -
    -    @Override
    -    public void initialize(ValidFcfsDateRange constraintAnnotation) {
    -<span class="nc" id="L18">        ConstraintValidator.super.initialize(constraintAnnotation);</span>
    -<span class="nc" id="L19">    }</span>
    -
    -    @Override
    -    public boolean isValid(FcfsEventTimeRequestDto value, ConstraintValidatorContext context) {
    -<span class="nc bnc" id="L23" title="All 4 branches missed.">        if (value.getStartDate() == null || value.getEndDate() == null) {</span>
    -<span class="nc" id="L24">            return true;</span>
    -        }
    -
    -<span class="nc" id="L27">        LocalDate startDate = value.getStartDate();</span>
    -<span class="nc" id="L28">        LocalDate endDate = value.getEndDate();</span>
    -
    -<span class="nc" id="L30">        LocalDate startDateWeekStart = startDate.with(TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY));</span>
    -<span class="nc" id="L31">        LocalDate endDateWeekStart = endDate.with(TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY));</span>
    -
    -<span class="nc" id="L33">        boolean isSameWeek = startDateWeekStart.equals(endDateWeekStart);</span>
    -
    -        // 시작 날짜가 종료 날짜보다 이전인지 확인
    -<span class="nc bnc" id="L36" title="All 2 branches missed.">        boolean isStartBeforeEnd = !startDate.isAfter(endDate);</span>
    -
    -        // 두 검증 조건을 모두 만족하는지 확인
    -<span class="nc bnc" id="L39" title="All 4 branches missed.">        return isSameWeek &amp;&amp; isStartBeforeEnd;</span>
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/FcfsTimeRangeValidator.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/FcfsTimeRangeValidator.html
    deleted file mode 100644
    index 781bfbca..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/FcfsTimeRangeValidator.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>FcfsTimeRangeValidator</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.bo_domain.admin.validator</a> &gt; <span class="el_class">FcfsTimeRangeValidator</span></div><h1>FcfsTimeRangeValidator</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">43 of 43</td><td class="ctr2">0%</td><td class="bar">10 of 10</td><td class="ctr2">0%</td><td class="ctr1">8</td><td class="ctr2">8</td><td class="ctr1">9</td><td class="ctr2">9</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a2"><a href="FcfsTimeRangeValidator.java.html#L19" class="el_method">isValid(FcfsEventTimeRequestDto, ConstraintValidatorContext)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="36" alt="36"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="10" alt="10"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">6</td><td class="ctr2" id="g0">6</td><td class="ctr1" id="h0">6</td><td class="ctr2" id="i0">6</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="FcfsTimeRangeValidator.java.html#L14" class="el_method">initialize(ValidFcfsTimeRange)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="13" height="10" title="4" alt="4"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="FcfsTimeRangeValidator.java.html#L10" class="el_method">FcfsTimeRangeValidator()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="10" height="10" title="3" alt="3"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/FcfsTimeRangeValidator.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/FcfsTimeRangeValidator.java.html
    deleted file mode 100644
    index 07a839ce..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/FcfsTimeRangeValidator.java.html
    +++ /dev/null
    @@ -1,35 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>FcfsTimeRangeValidator.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.bo_domain.admin.validator</a> &gt; <span class="el_source">FcfsTimeRangeValidator.java</span></div><h1>FcfsTimeRangeValidator.java</h1><pre class="source lang-java linenums">package com.softeer.backend.bo_domain.admin.validator;
    -
    -import com.softeer.backend.bo_domain.admin.dto.event.FcfsEventTimeRequestDto;
    -import com.softeer.backend.bo_domain.admin.validator.annotation.ValidFcfsTimeRange;
    -import jakarta.validation.ConstraintValidator;
    -import jakarta.validation.ConstraintValidatorContext;
    -
    -import java.time.LocalTime;
    -
    -<span class="nc" id="L10">public class FcfsTimeRangeValidator implements ConstraintValidator&lt;ValidFcfsTimeRange, FcfsEventTimeRequestDto&gt; {</span>
    -
    -    @Override
    -    public void initialize(ValidFcfsTimeRange constraintAnnotation) {
    -<span class="nc" id="L14">        ConstraintValidator.super.initialize(constraintAnnotation);</span>
    -<span class="nc" id="L15">    }</span>
    -
    -    @Override
    -    public boolean isValid(FcfsEventTimeRequestDto value, ConstraintValidatorContext context) {
    -<span class="nc bnc" id="L19" title="All 2 branches missed.">        if (value.getStartTime() == null) {</span>
    -<span class="nc" id="L20">            return true;</span>
    -        }
    -
    -<span class="nc" id="L23">        LocalTime startTime = value.getStartTime();</span>
    -
    -        // 시작 시간이 오전 9시 이후인지 검증
    -<span class="nc bnc" id="L26" title="All 2 branches missed.">        boolean isStartTimeValid = !startTime.isBefore(LocalTime.of(9, 0));</span>
    -
    -        // 시작 시간이 오후 6시 이전인지 검증
    -<span class="nc bnc" id="L29" title="All 2 branches missed.">        boolean isEndTimeValid = !startTime.isAfter(LocalTime.of(18, 0));</span>
    -
    -        // 모든 검증 조건이 만족되는지 확인
    -<span class="nc bnc" id="L32" title="All 4 branches missed.">        return isStartTimeValid &amp;&amp; isEndTimeValid;</span>
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/index.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/index.html
    deleted file mode 100644
    index 2156958f..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.bo_domain.admin.validator</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.bo_domain.admin.validator</span></div><h1>com.softeer.backend.bo_domain.admin.validator</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">140 of 140</td><td class="ctr2">0%</td><td class="bar">30 of 30</td><td class="ctr2">0%</td><td class="ctr1">24</td><td class="ctr2">24</td><td class="ctr1">33</td><td class="ctr2">33</td><td class="ctr1">9</td><td class="ctr2">9</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a1"><a href="FcfsDateRangeValidator.html" class="el_class">FcfsDateRangeValidator</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="51" alt="51"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="10" alt="10"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">8</td><td class="ctr2" id="g0">8</td><td class="ctr1" id="h0">12</td><td class="ctr2" id="i0">12</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k0">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="DrawTimeRangeValidator.html" class="el_class">DrawTimeRangeValidator</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="108" height="10" title="46" alt="46"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="10" alt="10"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f1">8</td><td class="ctr2" id="g1">8</td><td class="ctr1" id="h1">12</td><td class="ctr2" id="i1">12</td><td class="ctr1" id="j1">3</td><td class="ctr2" id="k1">3</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a2"><a href="FcfsTimeRangeValidator.html" class="el_class">FcfsTimeRangeValidator</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="101" height="10" title="43" alt="43"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="10" alt="10"/></td><td class="ctr2" id="e2">0%</td><td class="ctr1" id="f2">8</td><td class="ctr2" id="g2">8</td><td class="ctr1" id="h2">9</td><td class="ctr2" id="i2">9</td><td class="ctr1" id="j2">3</td><td class="ctr2" id="k2">3</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/index.source.html
    deleted file mode 100644
    index 6abfa6d4..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.admin.validator/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.bo_domain.admin.validator</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.bo_domain.admin.validator</span></div><h1>com.softeer.backend.bo_domain.admin.validator</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">140 of 140</td><td class="ctr2">0%</td><td class="bar">30 of 30</td><td class="ctr2">0%</td><td class="ctr1">24</td><td class="ctr2">24</td><td class="ctr1">33</td><td class="ctr2">33</td><td class="ctr1">9</td><td class="ctr2">9</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a1"><a href="FcfsDateRangeValidator.java.html" class="el_source">FcfsDateRangeValidator.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="51" alt="51"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="10" alt="10"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">8</td><td class="ctr2" id="g0">8</td><td class="ctr1" id="h0">12</td><td class="ctr2" id="i0">12</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k0">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="DrawTimeRangeValidator.java.html" class="el_source">DrawTimeRangeValidator.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="108" height="10" title="46" alt="46"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="10" alt="10"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f1">8</td><td class="ctr2" id="g1">8</td><td class="ctr1" id="h1">12</td><td class="ctr2" id="i1">12</td><td class="ctr1" id="j1">3</td><td class="ctr2" id="k1">3</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a2"><a href="FcfsTimeRangeValidator.java.html" class="el_source">FcfsTimeRangeValidator.java</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="101" height="10" title="43" alt="43"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="10" alt="10"/></td><td class="ctr2" id="e2">0%</td><td class="ctr1" id="f2">8</td><td class="ctr2" id="g2">8</td><td class="ctr1" id="h2">9</td><td class="ctr2" id="i2">9</td><td class="ctr1" id="j2">3</td><td class="ctr2" id="k2">3</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.eventparticipation.repository/EventParticipationRepository.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.eventparticipation.repository/EventParticipationRepository.html
    deleted file mode 100644
    index 4a38a0d5..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.eventparticipation.repository/EventParticipationRepository.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>EventParticipationRepository</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.bo_domain.eventparticipation.repository</a> &gt; <span class="el_class">EventParticipationRepository</span></div><h1>EventParticipationRepository</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">17 of 17</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="EventParticipationRepository.java.html#L18" class="el_method">findSingleEventParticipation()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="17" alt="17"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">4</td><td class="ctr2" id="i0">4</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.eventparticipation.repository/EventParticipationRepository.java.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.eventparticipation.repository/EventParticipationRepository.java.html
    deleted file mode 100644
    index 7de9e8d1..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.eventparticipation.repository/EventParticipationRepository.java.html
    +++ /dev/null
    @@ -1,25 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>EventParticipationRepository.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.bo_domain.eventparticipation.repository</a> &gt; <span class="el_source">EventParticipationRepository.java</span></div><h1>EventParticipationRepository.java</h1><pre class="source lang-java linenums">package com.softeer.backend.bo_domain.eventparticipation.repository;
    -
    -import com.softeer.backend.bo_domain.eventparticipation.domain.EventParticipation;
    -import org.springframework.dao.EmptyResultDataAccessException;
    -import org.springframework.data.jpa.repository.JpaRepository;
    -import org.springframework.data.jpa.repository.Query;
    -import org.springframework.data.repository.query.Param;
    -
    -import java.time.LocalDate;
    -import java.util.List;
    -
    -public interface EventParticipationRepository extends JpaRepository&lt;EventParticipation, Integer&gt; {
    -
    -    @Query(&quot;SELECT e FROM EventParticipation e WHERE e.eventDate BETWEEN :startDate AND :endDate&quot;)
    -    List&lt;EventParticipation&gt; findAllByEventDateBetween(@Param(&quot;startDate&quot;) LocalDate startDate, @Param(&quot;endDate&quot;) LocalDate endDate);
    -
    -    default EventParticipation findSingleEventParticipation() {
    -<span class="nc" id="L18">        List&lt;EventParticipation&gt; results = findAll();</span>
    -<span class="nc bnc" id="L19" title="All 2 branches missed.">        if (results.isEmpty()) {</span>
    -<span class="nc" id="L20">            throw new EmptyResultDataAccessException(&quot;Entity not found&quot;, 1);</span>
    -        }
    -<span class="nc" id="L22">        return results.get(0);</span>
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.eventparticipation.repository/index.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.eventparticipation.repository/index.html
    deleted file mode 100644
    index d0da5f9e..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.eventparticipation.repository/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.bo_domain.eventparticipation.repository</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.bo_domain.eventparticipation.repository</span></div><h1>com.softeer.backend.bo_domain.eventparticipation.repository</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">17 of 17</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="EventParticipationRepository.html" class="el_class">EventParticipationRepository</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="17" alt="17"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">4</td><td class="ctr2" id="i0">4</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.eventparticipation.repository/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.bo_domain.eventparticipation.repository/index.source.html
    deleted file mode 100644
    index b1d82e0c..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.bo_domain.eventparticipation.repository/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.bo_domain.eventparticipation.repository</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.bo_domain.eventparticipation.repository</span></div><h1>com.softeer.backend.bo_domain.eventparticipation.repository</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">17 of 17</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="EventParticipationRepository.java.html" class="el_source">EventParticipationRepository.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="17" alt="17"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">4</td><td class="ctr2" id="i0">4</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.constant/CommentNickname.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.constant/CommentNickname.html
    deleted file mode 100644
    index 8fb4feba..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.constant/CommentNickname.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>CommentNickname</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.comment.constant</a> &gt; <span class="el_class">CommentNickname</span></div><h1>CommentNickname</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">109 of 109</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">20</td><td class="ctr2">20</td><td class="ctr1">4</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a3"><a href="CommentNickname.java.html#L8" class="el_method">static {...}</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="73" alt="73"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">11</td><td class="ctr2" id="i0">11</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="CommentNickname.java.html#L32" class="el_method">getRandomNickname()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="24" height="10" title="15" alt="15"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">3</td><td class="ctr2" id="i1">3</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a1"><a href="CommentNickname.java.html#L39" class="el_method">getMyRandomNickname(int)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="21" height="10" title="13" alt="13"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">3</td><td class="ctr2" id="i2">3</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a0"><a href="CommentNickname.java.html#L26" class="el_method">CommentNickname(String, int, String)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="13" height="10" title="8" alt="8"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">3</td><td class="ctr2" id="i3">3</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.constant/CommentNickname.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.constant/CommentNickname.java.html
    deleted file mode 100644
    index a867676b..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.constant/CommentNickname.java.html
    +++ /dev/null
    @@ -1,44 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>CommentNickname.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.comment.constant</a> &gt; <span class="el_source">CommentNickname.java</span></div><h1>CommentNickname.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.comment.constant;
    -
    -import lombok.Getter;
    -
    -/**
    - * 기대평 닉네임을 관리하는 Enum 클래스
    - */
    -<span class="nc" id="L8">@Getter</span>
    -public enum CommentNickname {
    -<span class="nc" id="L10">    NICKNAME_1(&quot;곰&quot;),</span>
    -<span class="nc" id="L11">    NICKNAME_2(&quot;코끼리&quot;),</span>
    -<span class="nc" id="L12">    NICKNAME_3(&quot;토끼&quot;),</span>
    -<span class="nc" id="L13">    NICKNAME_4(&quot;기린&quot;),</span>
    -<span class="nc" id="L14">    NICKNAME_5(&quot;돌고래&quot;),</span>
    -<span class="nc" id="L15">    NICKNAME_6(&quot;개구리&quot;),</span>
    -<span class="nc" id="L16">    NICKNAME_7(&quot;고양이&quot;),</span>
    -<span class="nc" id="L17">    NICKNAME_8(&quot;악어&quot;),</span>
    -<span class="nc" id="L18">    NICKNAME_9(&quot;판다&quot;),</span>
    -<span class="nc" id="L19">    NICKNAME_10(&quot;호랑이&quot;);</span>
    -
    -    public static final String NICKNAME_PREFIX = &quot;익명의 &quot;;
    -    public static final String MY_NICKNAME_SUFFIX = &quot;(나)&quot;;
    -
    -    private final String nickname;
    -
    -<span class="nc" id="L26">    CommentNickname(String nickname) {</span>
    -<span class="nc" id="L27">        this.nickname = nickname;</span>
    -<span class="nc" id="L28">    }</span>
    -
    -    // 인증 하지 않은 유저의 닉네임 생성 메서드
    -    public static String getRandomNickname() {
    -<span class="nc" id="L32">        CommentNickname[] nicknames = values();</span>
    -<span class="nc" id="L33">        int index = (int) (Math.random() * nicknames.length);</span>
    -<span class="nc" id="L34">        return NICKNAME_PREFIX + nicknames[index].getNickname();</span>
    -    }
    -
    -    // 인증한 유저의 닉네임 생성 메서드
    -    public static String getMyRandomNickname(int userId) {
    -<span class="nc" id="L39">        CommentNickname[] nicknames = values();</span>
    -<span class="nc" id="L40">        int index = userId % nicknames.length;</span>
    -<span class="nc" id="L41">        return NICKNAME_PREFIX + nicknames[index].getNickname();</span>
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.constant/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.constant/index.html
    deleted file mode 100644
    index 0677e5ec..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.constant/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.comment.constant</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.comment.constant</span></div><h1>com.softeer.backend.fo_domain.comment.constant</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">109 of 109</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">20</td><td class="ctr2">20</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="CommentNickname.html" class="el_class">CommentNickname</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="109" alt="109"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">20</td><td class="ctr2" id="i0">20</td><td class="ctr1" id="j0">4</td><td class="ctr2" id="k0">4</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.constant/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.constant/index.source.html
    deleted file mode 100644
    index 6c9e1b02..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.constant/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.comment.constant</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.comment.constant</span></div><h1>com.softeer.backend.fo_domain.comment.constant</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">109 of 109</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">20</td><td class="ctr2">20</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="CommentNickname.java.html" class="el_source">CommentNickname.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="109" alt="109"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">20</td><td class="ctr2" id="i0">20</td><td class="ctr1" id="j0">4</td><td class="ctr2" id="k0">4</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.controller/CommentController.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.controller/CommentController.html
    deleted file mode 100644
    index 8db44bf6..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.controller/CommentController.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>CommentController</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.comment.controller</a> &gt; <span class="el_class">CommentController</span></div><h1>CommentController</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">52 of 52</td><td class="ctr2">0%</td><td class="bar">10 of 10</td><td class="ctr2">0%</td><td class="ctr1">8</td><td class="ctr2">8</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a1"><a href="CommentController.java.html#L41" class="el_method">saveComment(Integer, Integer)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="27" alt="27"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="6" alt="6"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h1">5</td><td class="ctr2" id="i1">5</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="CommentController.java.html#L25" class="el_method">getComment(Integer, Integer)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="93" height="10" title="21" alt="21"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="80" height="10" title="4" alt="4"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f1">3</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h0">6</td><td class="ctr2" id="i0">6</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="CommentController.java.html#L15" class="el_method">static {...}</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="17" height="10" title="4" alt="4"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.controller/CommentController.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.controller/CommentController.java.html
    deleted file mode 100644
    index bd0a76d2..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.controller/CommentController.java.html
    +++ /dev/null
    @@ -1,53 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>CommentController.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.comment.controller</a> &gt; <span class="el_source">CommentController.java</span></div><h1>CommentController.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.comment.controller;
    -
    -import com.softeer.backend.fo_domain.comment.dto.CommentsResponseDto;
    -import com.softeer.backend.fo_domain.comment.exception.CommentException;
    -import com.softeer.backend.fo_domain.comment.service.CommentService;
    -import com.softeer.backend.global.annotation.AuthInfo;
    -import com.softeer.backend.global.common.code.status.ErrorStatus;
    -import com.softeer.backend.global.common.response.ResponseDto;
    -import io.swagger.v3.oas.annotations.Parameter;
    -import lombok.RequiredArgsConstructor;
    -import lombok.extern.slf4j.Slf4j;
    -import org.springframework.validation.BindingResult;
    -import org.springframework.web.bind.annotation.*;
    -
    -<span class="nc" id="L15">@Slf4j</span>
    -@RequiredArgsConstructor
    -@RestController
    -public class CommentController {
    -
    -    private final CommentService commentService;
    -
    -    @GetMapping(&quot;/comment&quot;)
    -    ResponseDto&lt;CommentsResponseDto&gt; getComment(@RequestParam(name = &quot;cursor&quot;, required = false) Integer cursor,
    -                                                @Parameter(hidden = true) @AuthInfo Integer userId) {
    -<span class="nc bnc" id="L25" title="All 2 branches missed.">        if (cursor == null) {</span>
    -<span class="nc" id="L26">            cursor = Integer.MAX_VALUE;</span>
    -        }
    -
    -<span class="nc" id="L29">        CommentsResponseDto commentsResponseDto = commentService.getComments(userId, cursor);</span>
    -
    -<span class="nc bnc" id="L31" title="All 2 branches missed.">        if (commentsResponseDto.getNextCursor() != CommentsResponseDto.LAST_CURSOR)</span>
    -<span class="nc" id="L32">            return ResponseDto.onSuccess(commentsResponseDto);</span>
    -
    -<span class="nc" id="L34">        return ResponseDto.onSuccess(commentsResponseDto);</span>
    -    }
    -
    -    @PostMapping(&quot;/comment&quot;)
    -    ResponseDto&lt;Void&gt; saveComment(@RequestParam(name = &quot;commentType&quot;) Integer commentType,
    -                                  @Parameter(hidden = true) @AuthInfo Integer userId) {
    -
    -<span class="nc bnc" id="L41" title="All 6 branches missed.">        if(commentType == null || commentType&lt;1 || commentType &gt; 5){</span>
    -
    -<span class="nc" id="L43">            log.error(&quot;Invalid commentType value: {}. It must be between 1 and 5.&quot;, commentType);</span>
    -<span class="nc" id="L44">            throw new CommentException(ErrorStatus._VALIDATION_ERROR);</span>
    -        }
    -
    -<span class="nc" id="L47">        commentService.saveComment(userId, commentType);</span>
    -
    -<span class="nc" id="L49">        return ResponseDto.onSuccess();</span>
    -
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.controller/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.controller/index.html
    deleted file mode 100644
    index 649c45aa..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.controller/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.comment.controller</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.comment.controller</span></div><h1>com.softeer.backend.fo_domain.comment.controller</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">52 of 52</td><td class="ctr2">0%</td><td class="bar">10 of 10</td><td class="ctr2">0%</td><td class="ctr1">8</td><td class="ctr2">8</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="CommentController.html" class="el_class">CommentController</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="52" alt="52"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="10" alt="10"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">8</td><td class="ctr2" id="g0">8</td><td class="ctr1" id="h0">12</td><td class="ctr2" id="i0">12</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k0">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.controller/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.controller/index.source.html
    deleted file mode 100644
    index dbbdceed..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.controller/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.comment.controller</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.comment.controller</span></div><h1>com.softeer.backend.fo_domain.comment.controller</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">52 of 52</td><td class="ctr2">0%</td><td class="bar">10 of 10</td><td class="ctr2">0%</td><td class="ctr1">8</td><td class="ctr2">8</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="CommentController.java.html" class="el_source">CommentController.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="52" alt="52"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="10" alt="10"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">8</td><td class="ctr2" id="g0">8</td><td class="ctr1" id="h0">12</td><td class="ctr2" id="i0">12</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k0">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.domain/Comment.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.domain/Comment.html
    deleted file mode 100644
    index 1ac7938a..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.domain/Comment.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>Comment</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.comment.domain</a> &gt; <span class="el_class">Comment</span></div><h1>Comment</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">14 of 14</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="Comment.java.html#L44" class="el_method">assignRandomNickname()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="14" alt="14"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">4</td><td class="ctr2" id="i0">4</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.domain/Comment.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.domain/Comment.java.html
    deleted file mode 100644
    index d870a246..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.domain/Comment.java.html
    +++ /dev/null
    @@ -1,52 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>Comment.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.comment.domain</a> &gt; <span class="el_source">Comment.java</span></div><h1>Comment.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.comment.domain;
    -
    -
    -import com.softeer.backend.fo_domain.comment.constant.CommentNickname;
    -import jakarta.persistence.*;
    -import lombok.AllArgsConstructor;
    -import lombok.Builder;
    -import lombok.Getter;
    -import lombok.NoArgsConstructor;
    -import org.springframework.data.annotation.CreatedDate;
    -import org.springframework.data.jpa.domain.support.AuditingEntityListener;
    -
    -import java.time.LocalDateTime;
    -
    -@Entity
    -@NoArgsConstructor
    -@AllArgsConstructor
    -@Getter
    -@Builder
    -@EntityListeners(AuditingEntityListener.class)
    -@Table(name = &quot;comment&quot;)
    -public class Comment {
    -
    -    @Id
    -    @Column(name = &quot;comment_id&quot;)
    -    @GeneratedValue(strategy = GenerationType.IDENTITY)
    -    private Integer id;
    -
    -    @Column(name = &quot;nickname&quot;, nullable = false)
    -    private String nickname;
    -
    -    @Column(name = &quot;comment_type&quot;, nullable = false)
    -    private Integer commentType;
    -
    -    @CreatedDate
    -    @Column(name = &quot;upload_time&quot;, updatable = false)
    -    private LocalDateTime uploadTime;
    -
    -    @Column(name = &quot;user_id&quot;, nullable = true)
    -    private Integer userId;
    -
    -    @PrePersist
    -    public void assignRandomNickname() {
    -<span class="nc bnc" id="L44" title="All 2 branches missed.">        if (userId != null) {</span>
    -<span class="nc" id="L45">            this.nickname = CommentNickname.getMyRandomNickname(userId);</span>
    -        } else {
    -<span class="nc" id="L47">            this.nickname = CommentNickname.getRandomNickname();</span>
    -        }
    -<span class="nc" id="L49">    }</span>
    -
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.domain/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.domain/index.html
    deleted file mode 100644
    index 9137ace0..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.domain/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.comment.domain</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.comment.domain</span></div><h1>com.softeer.backend.fo_domain.comment.domain</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">14 of 14</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="Comment.html" class="el_class">Comment</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="14" alt="14"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">4</td><td class="ctr2" id="i0">4</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.domain/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.domain/index.source.html
    deleted file mode 100644
    index f6c7fcec..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.domain/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.comment.domain</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.comment.domain</span></div><h1>com.softeer.backend.fo_domain.comment.domain</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">14 of 14</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="Comment.java.html" class="el_source">Comment.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="14" alt="14"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">4</td><td class="ctr2" id="i0">4</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.dto/CommentsResponseDto.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.dto/CommentsResponseDto.html
    deleted file mode 100644
    index 67557527..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.dto/CommentsResponseDto.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>CommentsResponseDto</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.comment.dto</a> &gt; <span class="el_class">CommentsResponseDto</span></div><h1>CommentsResponseDto</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">76 of 76</td><td class="ctr2">0%</td><td class="bar">8 of 8</td><td class="ctr2">0%</td><td class="ctr1">9</td><td class="ctr2">9</td><td class="ctr1">24</td><td class="ctr2">24</td><td class="ctr1">5</td><td class="ctr2">5</td></tr></tfoot><tbody><tr><td id="a1"><a href="CommentsResponseDto.java.html#L65" class="el_method">lambda$getContents$0(Integer, Comment)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="34" alt="34"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="6" alt="6"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">12</td><td class="ctr2" id="i0">12</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a4"><a href="CommentsResponseDto.java.html#L36" class="el_method">of(ScrollPaginationUtil, Integer)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="63" height="10" title="18" alt="18"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="40" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f1">2</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h2">3</td><td class="ctr2" id="i2">3</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a3"><a href="CommentsResponseDto.java.html#L52" class="el_method">newScrollHasNext(List, int, Integer)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="42" height="10" title="12" alt="12"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h1">5</td><td class="ctr2" id="i1">5</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a0"><a href="CommentsResponseDto.java.html#L63" class="el_method">getContents(List, Integer)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="24" height="10" title="7" alt="7"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">3</td><td class="ctr2" id="i3">3</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a2"><a href="CommentsResponseDto.java.html#L46" class="el_method">newLastScroll(List, Integer)</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="17" height="10" title="5" alt="5"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">1</td><td class="ctr2" id="i4">1</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.dto/CommentsResponseDto.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.dto/CommentsResponseDto.java.html
    deleted file mode 100644
    index 17457913..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.dto/CommentsResponseDto.java.html
    +++ /dev/null
    @@ -1,85 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>CommentsResponseDto.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.comment.dto</a> &gt; <span class="el_source">CommentsResponseDto.java</span></div><h1>CommentsResponseDto.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.comment.dto;
    -
    -import com.softeer.backend.fo_domain.comment.constant.CommentNickname;
    -import com.softeer.backend.fo_domain.comment.domain.Comment;
    -import com.softeer.backend.fo_domain.comment.util.ScrollPaginationUtil;
    -import lombok.*;
    -
    -import java.util.List;
    -
    -@NoArgsConstructor(access = AccessLevel.PRIVATE)
    -@AllArgsConstructor(access = AccessLevel.PUBLIC)
    -@Builder
    -@Getter
    -public class CommentsResponseDto {
    -    public static final int LAST_CURSOR = -1;
    -
    -    private int nextCursor;
    -
    -    private int totalComments;
    -
    -    private List&lt;CommentResponse&gt; comments;
    -
    -    @Getter
    -    @AllArgsConstructor
    -    @Builder
    -    public static class CommentResponse {
    -
    -        private Boolean isMine;
    -
    -        private String nickName;
    -
    -        private int commentType;
    -    }
    -
    -    public static CommentsResponseDto of(ScrollPaginationUtil&lt;Comment&gt; commentsScroll, Integer userId) {
    -<span class="nc bnc" id="L36" title="All 2 branches missed.">        if (commentsScroll.isLastScroll()) {</span>
    -<span class="nc" id="L37">            return CommentsResponseDto.newLastScroll(commentsScroll.getCurrentScrollItems(), userId);</span>
    -        }
    -<span class="nc" id="L39">        return CommentsResponseDto.newScrollHasNext(commentsScroll.getCurrentScrollItems(), commentsScroll.getNextCursor().getId(),</span>
    -                userId);
    -    }
    -
    -    // 마지막 스크롤일 때의 응답값을 구성하는 메서드
    -    // nextCursor 값을 -1로 설정한다.
    -    private static CommentsResponseDto newLastScroll(List&lt;Comment&gt; commentsScroll, Integer userId) {
    -<span class="nc" id="L46">        return newScrollHasNext(commentsScroll, LAST_CURSOR, userId);</span>
    -    }
    -
    -    // 마지막 스크롤이 아닐 때의 응답값을 구성하는 메서드
    -    private static CommentsResponseDto newScrollHasNext(List&lt;Comment&gt; commentsScroll, int nextCursor,
    -                                                        Integer userId) {
    -<span class="nc" id="L52">        return CommentsResponseDto.builder()</span>
    -<span class="nc" id="L53">                .nextCursor(nextCursor)</span>
    -<span class="nc" id="L54">                .totalComments(commentsScroll.size())</span>
    -<span class="nc" id="L55">                .comments(getContents(commentsScroll, userId))</span>
    -<span class="nc" id="L56">                .build();</span>
    -    }
    -
    -    // CommentResponse를 생성하여 반환하는 메서드
    -    // 유저가 로그인을 한 상태에서 자신의 댓글이 응답에 포함될 경우,
    -    // isMine 변수값을 true로, nickname의 접미사에 '(나)'를 붙여서 응답을 구성한다.
    -    private static List&lt;CommentResponse&gt; getContents(List&lt;Comment&gt; commentsScroll, Integer userId) {
    -<span class="nc" id="L63">        return commentsScroll.stream()</span>
    -<span class="nc" id="L64">                .map(_comment -&gt; {</span>
    -<span class="nc" id="L65">                    boolean isMine = false;</span>
    -<span class="nc" id="L66">                    String nickname = _comment.getNickname();</span>
    -<span class="nc" id="L67">                    int commentType = _comment.getCommentType();</span>
    -
    -<span class="nc bnc" id="L69" title="All 4 branches missed.">                    if (userId != null &amp;&amp; _comment.getUserId() != null &amp;&amp;</span>
    -<span class="nc bnc" id="L70" title="All 2 branches missed.">                            _comment.getUserId().equals(userId)) {</span>
    -<span class="nc" id="L71">                        isMine = true;</span>
    -<span class="nc" id="L72">                        nickname = nickname + CommentNickname.MY_NICKNAME_SUFFIX;</span>
    -                    }
    -
    -<span class="nc" id="L75">                    return CommentResponse.builder()</span>
    -<span class="nc" id="L76">                            .isMine(isMine)</span>
    -<span class="nc" id="L77">                            .nickName(nickname)</span>
    -<span class="nc" id="L78">                            .commentType(commentType)</span>
    -<span class="nc" id="L79">                            .build();</span>
    -                })
    -<span class="nc" id="L81">                .toList();</span>
    -
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.dto/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.dto/index.html
    deleted file mode 100644
    index 68bf3d74..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.dto/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.comment.dto</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.comment.dto</span></div><h1>com.softeer.backend.fo_domain.comment.dto</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">76 of 76</td><td class="ctr2">0%</td><td class="bar">8 of 8</td><td class="ctr2">0%</td><td class="ctr1">9</td><td class="ctr2">9</td><td class="ctr1">24</td><td class="ctr2">24</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="CommentsResponseDto.html" class="el_class">CommentsResponseDto</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="76" alt="76"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="8" alt="8"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">9</td><td class="ctr2" id="g0">9</td><td class="ctr1" id="h0">24</td><td class="ctr2" id="i0">24</td><td class="ctr1" id="j0">5</td><td class="ctr2" id="k0">5</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.dto/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.dto/index.source.html
    deleted file mode 100644
    index ab14446b..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.dto/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.comment.dto</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.comment.dto</span></div><h1>com.softeer.backend.fo_domain.comment.dto</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">76 of 76</td><td class="ctr2">0%</td><td class="bar">8 of 8</td><td class="ctr2">0%</td><td class="ctr1">9</td><td class="ctr2">9</td><td class="ctr1">24</td><td class="ctr2">24</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="CommentsResponseDto.java.html" class="el_source">CommentsResponseDto.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="76" alt="76"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="8" alt="8"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">9</td><td class="ctr2" id="g0">9</td><td class="ctr1" id="h0">24</td><td class="ctr2" id="i0">24</td><td class="ctr1" id="j0">5</td><td class="ctr2" id="k0">5</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.exception/CommentException.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.exception/CommentException.html
    deleted file mode 100644
    index 00c39560..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.exception/CommentException.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>CommentException</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.comment.exception</a> &gt; <span class="el_class">CommentException</span></div><h1>CommentException</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="CommentException.java.html#L9" class="el_method">CommentException(BaseErrorCode)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.exception/CommentException.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.exception/CommentException.java.html
    deleted file mode 100644
    index 49bf2f57..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.exception/CommentException.java.html
    +++ /dev/null
    @@ -1,12 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>CommentException.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.comment.exception</a> &gt; <span class="el_source">CommentException.java</span></div><h1>CommentException.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.comment.exception;
    -
    -import com.softeer.backend.global.common.code.BaseErrorCode;
    -import com.softeer.backend.global.common.exception.GeneralException;
    -
    -public class CommentException extends GeneralException {
    -
    -    public CommentException(BaseErrorCode code) {
    -<span class="nc" id="L9">        super(code);</span>
    -<span class="nc" id="L10">    }</span>
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.exception/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.exception/index.html
    deleted file mode 100644
    index 34db7bad..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.exception/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.comment.exception</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.comment.exception</span></div><h1>com.softeer.backend.fo_domain.comment.exception</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="CommentException.html" class="el_class">CommentException</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.exception/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.exception/index.source.html
    deleted file mode 100644
    index 044e63a5..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.exception/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.comment.exception</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.comment.exception</span></div><h1>com.softeer.backend.fo_domain.comment.exception</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="CommentException.java.html" class="el_source">CommentException.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.service/CommentService.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.service/CommentService.html
    deleted file mode 100644
    index 31901c27..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.service/CommentService.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>CommentService</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.comment.service</a> &gt; <span class="el_class">CommentService</span></div><h1>CommentService</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">43 of 43</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">13</td><td class="ctr2">13</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="CommentService.java.html#L50" class="el_method">saveComment(Integer, int)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="22" alt="22"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">8</td><td class="ctr2" id="i0">8</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="CommentService.java.html#L33" class="el_method">getComments(Integer, Integer)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="114" height="10" title="21" alt="21"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">5</td><td class="ctr2" id="i1">5</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.service/CommentService.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.service/CommentService.java.html
    deleted file mode 100644
    index 449ed6df..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.service/CommentService.java.html
    +++ /dev/null
    @@ -1,61 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>CommentService.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.comment.service</a> &gt; <span class="el_source">CommentService.java</span></div><h1>CommentService.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.comment.service;
    -
    -import com.softeer.backend.fo_domain.comment.constant.CommentNickname;
    -import com.softeer.backend.fo_domain.comment.domain.Comment;
    -import com.softeer.backend.fo_domain.comment.dto.CommentsResponseDto;
    -import com.softeer.backend.fo_domain.comment.repository.CommentRepository;
    -import com.softeer.backend.fo_domain.comment.util.ScrollPaginationUtil;
    -import lombok.RequiredArgsConstructor;
    -import org.springframework.data.domain.Page;
    -import org.springframework.data.domain.PageRequest;
    -import org.springframework.stereotype.Service;
    -import org.springframework.transaction.annotation.Transactional;
    -
    -import java.util.ArrayList;
    -import java.util.Collections;
    -import java.util.List;
    -
    -@Service
    -@RequiredArgsConstructor
    -public class CommentService {
    -    private static final int SCROLL_SIZE = 30;
    -
    -    private final CommentRepository commentRepository;
    -
    -    /**
    -     * SCROLL_SIZE 만큼의 기대평을 반환하는 메서드
    -     * &lt;p&gt;
    -     * 커서 기반 무한 스크롤 기능을 사용하여 다음 cursor 값을 받아 해당 값보다 작으면서 정해진 개수 만큼의 기대평을 반환한다.
    -     */
    -    @Transactional(readOnly = true)
    -    public CommentsResponseDto getComments(Integer userId, Integer cursor) {
    -
    -<span class="nc" id="L33">        PageRequest pageRequest = PageRequest.of(0, SCROLL_SIZE + 1);</span>
    -<span class="nc" id="L34">        Page&lt;Comment&gt; page = commentRepository.findAllByIdLessThanEqualOrderByIdDesc(cursor, pageRequest);</span>
    -
    -<span class="nc" id="L36">        List&lt;Comment&gt; comments = page.getContent();</span>
    -
    -<span class="nc" id="L38">        ScrollPaginationUtil&lt;Comment&gt; commentCursor = ScrollPaginationUtil.of(comments, SCROLL_SIZE);</span>
    -<span class="nc" id="L39">        return CommentsResponseDto.of(commentCursor, userId);</span>
    -    }
    -
    -    /**
    -     * 기대평을 저장하는 메서드
    -     */
    -    @Transactional
    -    public void saveComment(Integer userId, int commentType) {
    -
    -        // 로그인 한 유저가 기대평을 등록했다면 User entity의 id값을 기반으로 닉네임을 설정한다.
    -        // 로그인 하지 않았다면, 랜덤으로 닉네임을 설정한다.
    -<span class="nc bnc" id="L50" title="All 2 branches missed.">        String randomNickname = (userId != null ?</span>
    -<span class="nc" id="L51">                CommentNickname.getMyRandomNickname(userId) : CommentNickname.getRandomNickname());</span>
    -
    -<span class="nc" id="L53">        commentRepository.save(Comment.builder()</span>
    -<span class="nc" id="L54">                .nickname(randomNickname)</span>
    -<span class="nc" id="L55">                .commentType(commentType)</span>
    -<span class="nc" id="L56">                .userId(userId)</span>
    -<span class="nc" id="L57">                .build()</span>
    -        );
    -<span class="nc" id="L59">    }</span>
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.service/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.service/index.html
    deleted file mode 100644
    index d45c458e..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.service/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.comment.service</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.comment.service</span></div><h1>com.softeer.backend.fo_domain.comment.service</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">43 of 43</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">13</td><td class="ctr2">13</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="CommentService.html" class="el_class">CommentService</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="43" alt="43"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">13</td><td class="ctr2" id="i0">13</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.service/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.service/index.source.html
    deleted file mode 100644
    index 2a1e587d..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.service/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.comment.service</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.comment.service</span></div><h1>com.softeer.backend.fo_domain.comment.service</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">43 of 43</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">13</td><td class="ctr2">13</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="CommentService.java.html" class="el_source">CommentService.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="43" alt="43"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">13</td><td class="ctr2" id="i0">13</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.util/ScrollPaginationUtil.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.util/ScrollPaginationUtil.html
    deleted file mode 100644
    index b24496bc..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.util/ScrollPaginationUtil.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ScrollPaginationUtil</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.comment.util</a> &gt; <span class="el_class">ScrollPaginationUtil</span></div><h1>ScrollPaginationUtil</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">48 of 48</td><td class="ctr2">0%</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="ctr1">6</td><td class="ctr2">6</td><td class="ctr1">8</td><td class="ctr2">8</td><td class="ctr1">4</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a0"><a href="ScrollPaginationUtil.java.html#L36" class="el_method">getCurrentScrollItems()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="24" alt="24"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">5</td><td class="ctr2" id="i0">5</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="ScrollPaginationUtil.java.html#L28" class="el_method">isLastScroll()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="50" height="10" title="10" alt="10"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f1">2</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a1"><a href="ScrollPaginationUtil.java.html#L49" class="el_method">getNextCursor()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="40" height="10" title="8" alt="8"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a3"><a href="ScrollPaginationUtil.java.html#L23" class="el_method">of(List, int)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="30" height="10" title="6" alt="6"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">1</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.util/ScrollPaginationUtil.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.util/ScrollPaginationUtil.java.html
    deleted file mode 100644
    index bc052759..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.util/ScrollPaginationUtil.java.html
    +++ /dev/null
    @@ -1,53 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ScrollPaginationUtil.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.comment.util</a> &gt; <span class="el_source">ScrollPaginationUtil.java</span></div><h1>ScrollPaginationUtil.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.comment.util;
    -
    -import lombok.AccessLevel;
    -import lombok.RequiredArgsConstructor;
    -
    -import java.util.ArrayList;
    -import java.util.Collections;
    -import java.util.List;
    -
    -/**
    - * 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스
    - */
    -@RequiredArgsConstructor(access = AccessLevel.PRIVATE)
    -public class ScrollPaginationUtil&lt;T&gt; {
    -
    -    // 마지막 스크롤인지를 확인하기 위해서 size+1의 개수만큼 item을 저장한다.
    -    private final List&lt;T&gt; itemsWithNextCursor;
    -
    -    // 한번 스크롤 할 때의 데이터 개수
    -    private final int countPerScroll;
    -
    -    public static &lt;T&gt; ScrollPaginationUtil&lt;T&gt; of(List&lt;T&gt; itemsWithNextCursor, int size) {
    -<span class="nc" id="L23">        return new ScrollPaginationUtil&lt;&gt;(itemsWithNextCursor, size);</span>
    -    }
    -
    -    // 마지막 스크롤인지를 확인하는 메서드
    -    public boolean isLastScroll() {
    -<span class="nc bnc" id="L28" title="All 2 branches missed.">        return this.itemsWithNextCursor.size() &lt;= countPerScroll;</span>
    -    }
    -
    -    // 마지막 스크롤일 경우, 그대로 데이터를 반환한다.
    -    // 마지막 스크롤이 아닌 경우, 마지막 데이터를 제외하고 반환한다.
    -    public List&lt;T&gt; getCurrentScrollItems() {
    -        List&lt;T&gt; itemsList;
    -
    -<span class="nc bnc" id="L36" title="All 2 branches missed.">        if (isLastScroll()) {</span>
    -<span class="nc" id="L37">            itemsList = new ArrayList&lt;&gt;(this.itemsWithNextCursor);</span>
    -        }
    -        else{
    -<span class="nc" id="L40">            itemsList = new ArrayList&lt;&gt;(itemsWithNextCursor.subList(0, countPerScroll));</span>
    -        }
    -<span class="nc" id="L42">        Collections.reverse(itemsList);</span>
    -
    -<span class="nc" id="L44">        return itemsList;</span>
    -    }
    -
    -    // 다음 커서 값을 갖고 있는 데이터를 반환하는 메서드
    -    public T getNextCursor() {
    -<span class="nc" id="L49">        return itemsWithNextCursor.get(countPerScroll-1);</span>
    -    }
    -
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.util/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.util/index.html
    deleted file mode 100644
    index fa902d0f..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.util/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.comment.util</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.comment.util</span></div><h1>com.softeer.backend.fo_domain.comment.util</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">48 of 48</td><td class="ctr2">0%</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="ctr1">6</td><td class="ctr2">6</td><td class="ctr1">8</td><td class="ctr2">8</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="ScrollPaginationUtil.html" class="el_class">ScrollPaginationUtil</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="48" alt="48"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">6</td><td class="ctr2" id="g0">6</td><td class="ctr1" id="h0">8</td><td class="ctr2" id="i0">8</td><td class="ctr1" id="j0">4</td><td class="ctr2" id="k0">4</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.util/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.util/index.source.html
    deleted file mode 100644
    index 90ec0b9b..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.comment.util/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.comment.util</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.comment.util</span></div><h1>com.softeer.backend.fo_domain.comment.util</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">48 of 48</td><td class="ctr2">0%</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="ctr1">6</td><td class="ctr2">6</td><td class="ctr1">8</td><td class="ctr2">8</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="ScrollPaginationUtil.java.html" class="el_source">ScrollPaginationUtil.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="48" alt="48"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">6</td><td class="ctr2" id="g0">6</td><td class="ctr1" id="h0">8</td><td class="ctr2" id="i0">8</td><td class="ctr1" id="j0">4</td><td class="ctr2" id="k0">4</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.controller/DrawController.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.controller/DrawController.html
    deleted file mode 100644
    index 85626008..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.controller/DrawController.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DrawController</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.draw.controller</a> &gt; <span class="el_class">DrawController</span></div><h1>DrawController</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">32 of 32</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">6</td><td class="ctr2">6</td><td class="ctr1">4</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a3"><a href="DrawController.java.html#L29" class="el_method">participateDrawEvent()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="14" alt="14"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">3</td><td class="ctr2" id="i0">3</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="DrawController.java.html#L24" class="el_method">getDrawMainPageInfo(Integer)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="51" height="10" title="6" alt="6"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="DrawController.java.html#L36" class="el_method">getDrawResult(Integer)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="51" height="10" title="6" alt="6"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a0"><a href="DrawController.java.html#L41" class="el_method">getDrawHistory(Integer)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="51" height="10" title="6" alt="6"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">1</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.controller/DrawController.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.controller/DrawController.java.html
    deleted file mode 100644
    index c9e1f3a6..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.controller/DrawController.java.html
    +++ /dev/null
    @@ -1,44 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DrawController.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.draw.controller</a> &gt; <span class="el_source">DrawController.java</span></div><h1>DrawController.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.draw.controller;
    -
    -import com.softeer.backend.fo_domain.draw.dto.main.DrawMainResponseDto;
    -import com.softeer.backend.fo_domain.draw.dto.participate.DrawModalResponseDto;
    -import com.softeer.backend.fo_domain.draw.dto.result.DrawHistoryResponseDto;
    -import com.softeer.backend.fo_domain.draw.service.DrawService;
    -import com.softeer.backend.global.annotation.AuthInfo;
    -import com.softeer.backend.global.common.response.ResponseDto;
    -import lombok.RequiredArgsConstructor;
    -import org.springframework.http.HttpHeaders;
    -import org.springframework.http.HttpStatus;
    -import org.springframework.http.ResponseEntity;
    -import org.springframework.web.bind.annotation.GetMapping;
    -import org.springframework.web.bind.annotation.PostMapping;
    -import org.springframework.web.bind.annotation.RestController;
    -
    -@RestController
    -@RequiredArgsConstructor
    -public class DrawController {
    -    private final DrawService drawService;
    -
    -    @GetMapping(&quot;/event/draw&quot;)
    -    public ResponseDto&lt;DrawMainResponseDto&gt; getDrawMainPageInfo(@AuthInfo Integer userId) {
    -<span class="nc" id="L24">        return ResponseDto.onSuccess(drawService.getDrawMainPageInfo(userId));</span>
    -    }
    -
    -    @PostMapping(&quot;/event/draw&quot;)
    -    public ResponseEntity&lt;Void&gt; participateDrawEvent() {
    -<span class="nc" id="L29">        HttpHeaders headers = new HttpHeaders();</span>
    -<span class="nc" id="L30">        headers.add(&quot;Location&quot;, &quot;/event/draw-result&quot;);</span>
    -<span class="nc" id="L31">        return new ResponseEntity&lt;&gt;(headers, HttpStatus.FOUND); // HTTP 302 Found 응답</span>
    -    }
    -
    -    @GetMapping(&quot;/event/draw-result&quot;)
    -    public ResponseDto&lt;DrawModalResponseDto&gt; getDrawResult(@AuthInfo Integer userId) {
    -<span class="nc" id="L36">        return ResponseDto.onSuccess(drawService.participateDrawEvent(userId));</span>
    -    }
    -
    -    @GetMapping(&quot;/event/draw/history&quot;)
    -    public ResponseDto&lt;DrawHistoryResponseDto&gt; getDrawHistory(@AuthInfo Integer userId) {
    -<span class="nc" id="L41">        return ResponseDto.onSuccess(drawService.getDrawHistory(userId));</span>
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.controller/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.controller/index.html
    deleted file mode 100644
    index ab82d4c3..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.controller/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.draw.controller</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.draw.controller</span></div><h1>com.softeer.backend.fo_domain.draw.controller</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">32 of 32</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">6</td><td class="ctr2">6</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="DrawController.html" class="el_class">DrawController</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="32" alt="32"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">6</td><td class="ctr2" id="i0">6</td><td class="ctr1" id="j0">4</td><td class="ctr2" id="k0">4</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.controller/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.controller/index.source.html
    deleted file mode 100644
    index 17a33d16..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.controller/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.draw.controller</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.draw.controller</span></div><h1>com.softeer.backend.fo_domain.draw.controller</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">32 of 32</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">6</td><td class="ctr2">6</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="DrawController.java.html" class="el_source">DrawController.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="32" alt="32"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">6</td><td class="ctr2" id="i0">6</td><td class="ctr1" id="j0">4</td><td class="ctr2" id="k0">4</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.exception/DrawException.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.exception/DrawException.html
    deleted file mode 100644
    index 2c21bbeb..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.exception/DrawException.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DrawException</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.draw.exception</a> &gt; <span class="el_class">DrawException</span></div><h1>DrawException</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="DrawException.java.html#L9" class="el_method">DrawException(BaseErrorCode)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.exception/DrawException.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.exception/DrawException.java.html
    deleted file mode 100644
    index 1504c282..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.exception/DrawException.java.html
    +++ /dev/null
    @@ -1,12 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DrawException.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.draw.exception</a> &gt; <span class="el_source">DrawException.java</span></div><h1>DrawException.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.draw.exception;
    -
    -import com.softeer.backend.global.common.code.BaseErrorCode;
    -import com.softeer.backend.global.common.exception.GeneralException;
    -
    -public class DrawException extends GeneralException {
    -
    -    public DrawException(BaseErrorCode code) {
    -<span class="nc" id="L9">        super(code);</span>
    -<span class="nc" id="L10">    }</span>
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.exception/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.exception/index.html
    deleted file mode 100644
    index 0ba91937..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.exception/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.draw.exception</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.draw.exception</span></div><h1>com.softeer.backend.fo_domain.draw.exception</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="DrawException.html" class="el_class">DrawException</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.exception/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.exception/index.source.html
    deleted file mode 100644
    index 0d9d44bf..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.exception/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.draw.exception</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.draw.exception</span></div><h1>com.softeer.backend.fo_domain.draw.exception</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="DrawException.java.html" class="el_source">DrawException.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.interceptor/DrawTimeCheckInterceptor.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.interceptor/DrawTimeCheckInterceptor.html
    deleted file mode 100644
    index 809d9f15..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.interceptor/DrawTimeCheckInterceptor.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DrawTimeCheckInterceptor</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.draw.interceptor</a> &gt; <span class="el_class">DrawTimeCheckInterceptor</span></div><h1>DrawTimeCheckInterceptor</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">78 of 78</td><td class="ctr2">0%</td><td class="bar">16 of 16</td><td class="ctr2">0%</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">14</td><td class="ctr2">14</td><td class="ctr1">4</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a1"><a href="DrawTimeCheckInterceptor.java.html#L61" class="el_method">compareTime(LocalDateTime)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="27" alt="27"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h1">4</td><td class="ctr2" id="i1">4</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="DrawTimeCheckInterceptor.java.html#L49" class="el_method">compareDate(LocalDateTime)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="97" height="10" title="22" alt="22"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f1">3</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h2">3</td><td class="ctr2" id="i2">3</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a3"><a href="DrawTimeCheckInterceptor.java.html#L23" class="el_method">preHandle(HttpServletRequest, HttpServletResponse, Object)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="66" height="10" title="15" alt="15"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e2">0%</td><td class="ctr1" id="f2">3</td><td class="ctr2" id="g2">3</td><td class="ctr1" id="h0">5</td><td class="ctr2" id="i0">5</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a2"><a href="DrawTimeCheckInterceptor.java.html#L38" class="el_method">isAvailableTime()</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="62" height="10" title="14" alt="14"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e3">0%</td><td class="ctr1" id="f3">3</td><td class="ctr2" id="g3">3</td><td class="ctr1" id="h3">2</td><td class="ctr2" id="i3">2</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.interceptor/DrawTimeCheckInterceptor.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.interceptor/DrawTimeCheckInterceptor.java.html
    deleted file mode 100644
    index a1266167..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.interceptor/DrawTimeCheckInterceptor.java.html
    +++ /dev/null
    @@ -1,68 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DrawTimeCheckInterceptor.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.draw.interceptor</a> &gt; <span class="el_source">DrawTimeCheckInterceptor.java</span></div><h1>DrawTimeCheckInterceptor.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.draw.interceptor;
    -
    -import com.softeer.backend.fo_domain.draw.exception.DrawException;
    -import com.softeer.backend.fo_domain.draw.service.DrawSettingManager;
    -import com.softeer.backend.global.common.code.status.ErrorStatus;
    -import jakarta.servlet.http.HttpServletRequest;
    -import jakarta.servlet.http.HttpServletResponse;
    -import lombok.RequiredArgsConstructor;
    -import org.springframework.stereotype.Component;
    -import org.springframework.web.cors.CorsUtils;
    -import org.springframework.web.servlet.HandlerInterceptor;
    -
    -import java.time.LocalDate;
    -import java.time.LocalDateTime;
    -
    -@Component
    -@RequiredArgsConstructor
    -public class DrawTimeCheckInterceptor implements HandlerInterceptor {
    -    private final DrawSettingManager drawSettingManager;
    -
    -    @Override
    -    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
    -<span class="nc bnc" id="L23" title="All 2 branches missed.">        if (CorsUtils.isPreFlightRequest(request))</span>
    -<span class="nc" id="L24">            return true;</span>
    -
    -<span class="nc bnc" id="L26" title="All 2 branches missed.">        if (!isAvailableTime()) {</span>
    -<span class="nc" id="L27">            throw new DrawException(ErrorStatus._BAD_REQUEST);</span>
    -        }
    -
    -<span class="nc" id="L30">        return true;</span>
    -    }
    -
    -    /**
    -     * 참가 가능한 시간인지 확인
    -     * @return 참가 가능하면 true, 불가능하면 false 반환
    -     */
    -    private boolean isAvailableTime() {
    -<span class="nc" id="L38">        LocalDateTime now = LocalDateTime.now();</span>
    -
    -<span class="nc bnc" id="L40" title="All 4 branches missed.">        return compareDate(now) &amp;&amp; compareTime(now);</span>
    -    }
    -
    -    /**
    -     * 날짜 비교
    -     * @param now 현재시각
    -     * @return 참가 가능한 날짜이면 true, 불가능하면 false 반환
    -     */
    -    private boolean compareDate(LocalDateTime now) {
    -<span class="nc" id="L49">        LocalDateTime startDateTime = drawSettingManager.getStartDate().atStartOfDay();</span>
    -<span class="nc" id="L50">        LocalDateTime endDateTime = drawSettingManager.getEndDate().atStartOfDay();</span>
    -
    -<span class="nc bnc" id="L52" title="All 4 branches missed.">        return now.isAfter(startDateTime) &amp;&amp; now.isBefore(endDateTime);</span>
    -    }
    -
    -    /**
    -     * 시간 비교
    -     * @param now 현재 시각
    -     * @return 참가 가능한 시간이면 true, 불가능하면 false 반환
    -     */
    -    private boolean compareTime(LocalDateTime now) {
    -<span class="nc" id="L61">        LocalDate nowDate = now.toLocalDate();</span>
    -<span class="nc" id="L62">        LocalDateTime startTimeAsDateTime = LocalDateTime.of(nowDate, drawSettingManager.getStartTime());</span>
    -<span class="nc" id="L63">        LocalDateTime endTimeAsDateTime = LocalDateTime.of(nowDate, drawSettingManager.getEndTime());</span>
    -
    -<span class="nc bnc" id="L65" title="All 4 branches missed.">        return (now.isAfter(startTimeAsDateTime) &amp;&amp; now.isBefore(endTimeAsDateTime));</span>
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.interceptor/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.interceptor/index.html
    deleted file mode 100644
    index eb1bb1fa..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.interceptor/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.draw.interceptor</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.draw.interceptor</span></div><h1>com.softeer.backend.fo_domain.draw.interceptor</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">78 of 78</td><td class="ctr2">0%</td><td class="bar">16 of 16</td><td class="ctr2">0%</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">14</td><td class="ctr2">14</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="DrawTimeCheckInterceptor.html" class="el_class">DrawTimeCheckInterceptor</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="78" alt="78"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="16" alt="16"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">12</td><td class="ctr2" id="g0">12</td><td class="ctr1" id="h0">14</td><td class="ctr2" id="i0">14</td><td class="ctr1" id="j0">4</td><td class="ctr2" id="k0">4</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.interceptor/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.interceptor/index.source.html
    deleted file mode 100644
    index 2c6f419e..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.interceptor/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.draw.interceptor</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.draw.interceptor</span></div><h1>com.softeer.backend.fo_domain.draw.interceptor</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">78 of 78</td><td class="ctr2">0%</td><td class="bar">16 of 16</td><td class="ctr2">0%</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">14</td><td class="ctr2">14</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="DrawTimeCheckInterceptor.java.html" class="el_source">DrawTimeCheckInterceptor.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="78" alt="78"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="16" alt="16"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">12</td><td class="ctr2" id="g0">12</td><td class="ctr1" id="h0">14</td><td class="ctr2" id="i0">14</td><td class="ctr1" id="j0">4</td><td class="ctr2" id="k0">4</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/DrawService.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/DrawService.html
    deleted file mode 100644
    index edfb904d..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/DrawService.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DrawService</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.draw.service</a> &gt; <span class="el_class">DrawService</span></div><h1>DrawService</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">15 of 208</td><td class="ctr2">92%</td><td class="bar">0 of 16</td><td class="ctr2">100%</td><td class="ctr1">3</td><td class="ctr2">14</td><td class="ctr1">0</td><td class="ctr2">46</td><td class="ctr1">3</td><td class="ctr2">6</td></tr></tfoot><tbody><tr><td id="a4"><a href="DrawService.java.html#L69" class="el_method">lambda$participateDrawEvent$2()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="4" height="10" title="5" alt="5"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h0">1</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a3"><a href="DrawService.java.html#L43" class="el_method">lambda$getDrawMainPageInfo$1()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="4" height="10" title="5" alt="5"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i4">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="DrawService.java.html#L39" class="el_method">lambda$getDrawMainPageInfo$0()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="4" height="10" title="5" alt="5"/></td><td class="ctr2" id="c5">0%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i5">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a5"><a href="DrawService.java.html#L68" class="el_method">participateDrawEvent(Integer)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="123" alt="123"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="12" alt="12"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g0">7</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i0">31</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a1"><a href="DrawService.java.html#L38" class="el_method">getDrawMainPageInfo(Integer)</a></td><td class="bar" id="b4"><img src="../jacoco-resources/greenbar.gif" width="51" height="10" title="53" alt="53"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"><img src="../jacoco-resources/greenbar.gif" width="20" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i1">11</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a0"><a href="DrawService.java.html#L134" class="el_method">getDrawHistory(Integer)</a></td><td class="bar" id="b5"><img src="../jacoco-resources/greenbar.gif" width="16" height="10" title="17" alt="17"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"><img src="../jacoco-resources/greenbar.gif" width="20" height="10" title="2" alt="2"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g2">2</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i2">4</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/DrawService.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/DrawService.java.html
    deleted file mode 100644
    index e63423e6..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/DrawService.java.html
    +++ /dev/null
    @@ -1,145 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DrawService.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.draw.service</a> &gt; <span class="el_source">DrawService.java</span></div><h1>DrawService.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.draw.service;
    -
    -import com.softeer.backend.fo_domain.draw.domain.DrawParticipationInfo;
    -import com.softeer.backend.fo_domain.draw.dto.main.DrawMainResponseDto;
    -import com.softeer.backend.fo_domain.draw.dto.participate.DrawModalResponseDto;
    -import com.softeer.backend.fo_domain.draw.dto.result.DrawHistoryResponseDto;
    -import com.softeer.backend.fo_domain.draw.exception.DrawException;
    -import com.softeer.backend.fo_domain.draw.repository.DrawParticipationInfoRepository;
    -import com.softeer.backend.fo_domain.draw.util.DrawAttendanceCountUtil;
    -import com.softeer.backend.fo_domain.draw.util.DrawResponseGenerateUtil;
    -import com.softeer.backend.fo_domain.draw.util.DrawUtil;
    -import com.softeer.backend.fo_domain.share.domain.ShareInfo;
    -import com.softeer.backend.fo_domain.share.exception.ShareInfoException;
    -import com.softeer.backend.fo_domain.share.repository.ShareInfoRepository;
    -import com.softeer.backend.global.common.code.status.ErrorStatus;
    -import com.softeer.backend.global.util.DrawRedisUtil;
    -import lombok.RequiredArgsConstructor;
    -import org.springframework.stereotype.Service;
    -
    -@Service
    -@RequiredArgsConstructor
    -public class DrawService {
    -    private final DrawParticipationInfoRepository drawParticipationInfoRepository;
    -    private final ShareInfoRepository shareInfoRepository;
    -    private final DrawRedisUtil drawRedisUtil;
    -    private final DrawUtil drawUtil;
    -    private final DrawResponseGenerateUtil drawResponseGenerateUtil;
    -    private final DrawAttendanceCountUtil drawAttendanceCountUtil;
    -    private final DrawSettingManager drawSettingManager;
    -
    -    /**
    -     * 1. 연속 참여일수 조회
    -     * 1-1. 만약 7일 연속 참여했다면 상품 정보 응답
    -     * 1-2. 만약 7일 미만 참여라면 일반 정보 응답
    -     */
    -    public DrawMainResponseDto getDrawMainPageInfo(Integer userId) {
    -        // 참여 정보 (연속참여일수) 조회
    -<span class="fc" id="L38">        DrawParticipationInfo drawParticipationInfo = drawParticipationInfoRepository.findDrawParticipationInfoByUserId(userId)</span>
    -<span class="pc" id="L39">                .orElseThrow(() -&gt; new DrawException(ErrorStatus._NOT_FOUND));</span>
    -
    -        // 초대한 친구 수, 복권 기회 조회
    -<span class="fc" id="L42">        ShareInfo shareInfo = shareInfoRepository.findShareInfoByUserId(userId)</span>
    -<span class="pc" id="L43">                .orElseThrow(() -&gt; new ShareInfoException(ErrorStatus._NOT_FOUND));</span>
    -
    -<span class="fc" id="L45">        int drawAttendanceCount = drawAttendanceCountUtil.handleAttendanceCount(userId, drawParticipationInfo);</span>
    -<span class="fc" id="L46">        int invitedNum = shareInfo.getInvitedNum();</span>
    -<span class="fc" id="L47">        int remainDrawCount = shareInfo.getRemainDrawCount();</span>
    -
    -<span class="fc" id="L49">        System.out.println(&quot;Draw Attendance = &quot; + drawAttendanceCount);</span>
    -
    -<span class="fc bfc" id="L51" title="All 2 branches covered.">        if (drawAttendanceCount &gt;= 7) {</span>
    -            // 7일 연속 출석자라면
    -<span class="fc" id="L53">            return drawResponseGenerateUtil.generateMainFullAttendResponse(invitedNum, remainDrawCount, drawAttendanceCount % 8);</span>
    -        } else {
    -            // 연속 출석자가 아니라면
    -<span class="fc" id="L56">            return drawResponseGenerateUtil.generateMainNotAttendResponse(invitedNum, remainDrawCount, drawAttendanceCount);</span>
    -        }
    -    }
    -
    -    /**
    -     * 추첨 이벤트 당첨 로직 작성
    -     *
    -     * @param userId 사용자 아이디
    -     * @return 추첨 결과에 따른 응답 반환
    -     */
    -    public DrawModalResponseDto participateDrawEvent(Integer userId) {
    -        // 복권 기회 조회
    -<span class="fc" id="L68">        ShareInfo shareInfo = shareInfoRepository.findShareInfoByUserId(userId)</span>
    -<span class="pc" id="L69">                .orElseThrow(() -&gt; new ShareInfoException(ErrorStatus._NOT_FOUND));</span>
    -
    -        // 만약 남은 참여 기회가 0이라면
    -<span class="fc bfc" id="L72" title="All 2 branches covered.">        if (shareInfo.getRemainDrawCount() == 0) {</span>
    -<span class="fc" id="L73">            return drawResponseGenerateUtil.generateDrawLoserResponse(userId);</span>
    -        }
    -
    -<span class="fc" id="L76">        drawRedisUtil.increaseDrawParticipationCount(); // 추첨 이벤트 참여자수 증가</span>
    -<span class="fc" id="L77">        shareInfoRepository.decreaseRemainDrawCount(userId); // 횟수 1회 차감</span>
    -
    -        // 만약 당첨 목록에 존재한다면 이미 오늘은 한 번 당첨됐다는 뜻이므로 LoseModal 반환
    -<span class="fc" id="L80">        int ranking = drawRedisUtil.getRankingIfWinner(userId); // 당첨 목록에 존재한다면 랭킹 반환</span>
    -<span class="fc bfc" id="L81" title="All 2 branches covered.">        if (ranking != 0) {</span>
    -<span class="fc" id="L82">            drawParticipationInfoRepository.increaseLoseCount(userId);  // 낙첨 횟수 증가</span>
    -<span class="fc" id="L83">            return drawResponseGenerateUtil.generateDrawLoserResponse(userId); // LoseModal 반환</span>
    -        }
    -
    -        // 당첨자 수 조회
    -<span class="fc" id="L87">        int first = drawSettingManager.getWinnerNum1(); // 1등 수</span>
    -<span class="fc" id="L88">        int second = drawSettingManager.getWinnerNum2(); // 2등 수</span>
    -<span class="fc" id="L89">        int third = drawSettingManager.getWinnerNum3(); // 3등 수</span>
    -
    -        // 당첨자 수 설정
    -<span class="fc" id="L92">        drawUtil.setFirst(first);</span>
    -<span class="fc" id="L93">        drawUtil.setSecond(second);</span>
    -<span class="fc" id="L94">        drawUtil.setThird(third);</span>
    -
    -        // 추첨 로직 실행
    -<span class="fc" id="L97">        drawUtil.performDraw();</span>
    -
    -<span class="fc bfc" id="L99" title="All 2 branches covered.">        if (drawUtil.isDrawWin()) { // 당첨자일 경우</span>
    -<span class="fc" id="L100">            ranking = drawUtil.getRanking();</span>
    -            int winnerNum;
    -<span class="fc bfc" id="L102" title="All 2 branches covered.">            if (ranking == 1) {</span>
    -<span class="fc" id="L103">                winnerNum = first;</span>
    -<span class="fc bfc" id="L104" title="All 2 branches covered.">            } else if (ranking == 2) {</span>
    -<span class="fc" id="L105">                winnerNum = second;</span>
    -            } else {
    -<span class="fc" id="L107">                winnerNum = third;</span>
    -            }
    -
    -<span class="fc bfc" id="L110" title="All 2 branches covered.">            if (drawRedisUtil.isWinner(userId, ranking, winnerNum)) { // 레디스에 추첨 티켓이 남았다면, 레디스 당첨 목록에 추가</span>
    -                // 추첨 티켓이 다 팔리지 않았다면
    -<span class="fc" id="L112">                drawParticipationInfoRepository.increaseWinCount(userId); // 당첨 횟수 증가</span>
    -<span class="fc" id="L113">                return drawResponseGenerateUtil.generateDrawWinnerResponse(ranking); // WinModal 반환</span>
    -            } else {
    -                // 추첨 티켓이 다 팔렸다면 로직상 당첨자라도 실패 반환
    -<span class="fc" id="L116">                drawParticipationInfoRepository.increaseLoseCount(userId);  // 낙첨 횟수 증가</span>
    -<span class="fc" id="L117">                return drawResponseGenerateUtil.generateDrawLoserResponse(userId); // LoseModal 반환</span>
    -            }
    -        } else { // 낙첨자일 경우
    -<span class="fc" id="L120">            drawParticipationInfoRepository.increaseLoseCount(userId);  // 낙첨 횟수 증가</span>
    -<span class="fc" id="L121">            return drawResponseGenerateUtil.generateDrawLoserResponse(userId); // LoseModal 반환</span>
    -        }
    -    }
    -
    -    /**
    -     * 당첨 내역 조회하는 메서드
    -     * 1. 당첨자라면 WinModal과 같은 당첨 내역 모달 응답
    -     * 2. 낙첨자라면 LoseModal과 같은 공유 url 모달 응답
    -     *
    -     * @param userId 사용자 아이디
    -     * @return 당첨 내역에 따른 응답
    -     */
    -    public DrawHistoryResponseDto getDrawHistory(Integer userId) {
    -<span class="fc" id="L134">        int ranking = drawRedisUtil.getRankingIfWinner(userId);</span>
    -
    -<span class="fc bfc" id="L136" title="All 2 branches covered.">        if (ranking != 0) {</span>
    -            // 당첨자라면
    -<span class="fc" id="L138">            return drawResponseGenerateUtil.generateDrawHistoryWinnerResponse(ranking);</span>
    -        }
    -
    -        // 당첨자가 아니라면
    -<span class="fc" id="L142">        return drawResponseGenerateUtil.generateDrawHistoryLoserResponse(userId);</span>
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/DrawSettingManager.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/DrawSettingManager.html
    deleted file mode 100644
    index 097690ec..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/DrawSettingManager.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DrawSettingManager</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.draw.service</a> &gt; <span class="el_class">DrawSettingManager</span></div><h1>DrawSettingManager</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">78 of 78</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">18</td><td class="ctr2">18</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a0"><a href="DrawSettingManager.java.html#L44" class="el_method">initializeDrawSettingManager()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="41" alt="41"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">10</td><td class="ctr2" id="i0">10</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="DrawSettingManager.java.html#L57" class="el_method">setDrawSetting(DrawSetting)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="93" height="10" title="32" alt="32"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">8</td><td class="ctr2" id="i1">8</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a1"><a href="DrawSettingManager.java.html#L45" class="el_method">lambda$initializeDrawSettingManager$0()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="14" height="10" title="5" alt="5"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/DrawSettingManager.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/DrawSettingManager.java.html
    deleted file mode 100644
    index a30aa7c3..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/DrawSettingManager.java.html
    +++ /dev/null
    @@ -1,68 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DrawSettingManager.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.draw.service</a> &gt; <span class="el_source">DrawSettingManager.java</span></div><h1>DrawSettingManager.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.draw.service;
    -
    -import com.softeer.backend.fo_domain.draw.domain.DrawSetting;
    -import com.softeer.backend.fo_domain.draw.exception.DrawException;
    -import com.softeer.backend.fo_domain.draw.repository.DrawRepository;
    -import com.softeer.backend.fo_domain.draw.repository.DrawSettingRepository;
    -import com.softeer.backend.fo_domain.user.repository.UserRepository;
    -import com.softeer.backend.global.common.code.status.ErrorStatus;
    -import com.softeer.backend.global.util.DrawRedisUtil;
    -import com.softeer.backend.global.util.EventLockRedisUtil;
    -import jakarta.annotation.PostConstruct;
    -import lombok.Getter;
    -import lombok.RequiredArgsConstructor;
    -import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
    -import org.springframework.stereotype.Component;
    -
    -import java.time.LocalDate;
    -import java.time.LocalTime;
    -
    -@Getter
    -@Component
    -@RequiredArgsConstructor
    -public class DrawSettingManager {
    -    private final DrawRepository drawRepository;
    -    private final DrawSettingRepository drawSettingRepository;
    -    private final ThreadPoolTaskScheduler taskScheduler;
    -    private final EventLockRedisUtil eventLockRedisUtil;
    -    private final DrawRedisUtil drawRedisUtil;
    -    private final UserRepository userRepository;
    -
    -    private LocalDate startDate;
    -    private LocalDate endDate;
    -    private LocalTime startTime;
    -    private LocalTime endTime;
    -    private int winnerNum1;
    -    private int winnerNum2;
    -    private int winnerNum3;
    -
    -    // @PostConstruct로 생성됐을 시 세팅정보 가져오기
    -    // 스케줄러로 01:00:00에 redis 임시 목록 삭제하기
    -
    -    @PostConstruct
    -    public void initializeDrawSettingManager() {
    -<span class="nc" id="L44">        DrawSetting drawSetting = drawSettingRepository.findById(1)</span>
    -<span class="nc" id="L45">                .orElseThrow(() -&gt; new DrawException(ErrorStatus._NOT_FOUND));</span>
    -
    -<span class="nc" id="L47">        startDate = drawSetting.getStartDate();</span>
    -<span class="nc" id="L48">        endDate = drawSetting.getEndDate();</span>
    -<span class="nc" id="L49">        startTime = drawSetting.getStartTime();</span>
    -<span class="nc" id="L50">        endTime = drawSetting.getEndTime();</span>
    -<span class="nc" id="L51">        winnerNum1 = drawSetting.getWinnerNum1();</span>
    -<span class="nc" id="L52">        winnerNum2 = drawSetting.getWinnerNum2();</span>
    -<span class="nc" id="L53">        winnerNum3 = drawSetting.getWinnerNum3();</span>
    -<span class="nc" id="L54">    }</span>
    -
    -    public void setDrawSetting(DrawSetting drawSetting) {
    -<span class="nc" id="L57">        this.startDate = drawSetting.getStartDate();</span>
    -<span class="nc" id="L58">        this.endDate = drawSetting.getEndDate();</span>
    -<span class="nc" id="L59">        this.startTime = drawSetting.getStartTime();</span>
    -<span class="nc" id="L60">        this.endTime = drawSetting.getEndTime();</span>
    -
    -<span class="nc" id="L62">        this.winnerNum1 = drawSetting.getWinnerNum1();</span>
    -<span class="nc" id="L63">        this.winnerNum2 = drawSetting.getWinnerNum2();</span>
    -<span class="nc" id="L64">        this.winnerNum3 = drawSetting.getWinnerNum3();</span>
    -<span class="nc" id="L65">    }</span>
    -
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/index.html
    deleted file mode 100644
    index 226b4433..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.draw.service</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.draw.service</span></div><h1>com.softeer.backend.fo_domain.draw.service</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">93 of 286</td><td class="ctr2">67%</td><td class="bar">0 of 16</td><td class="ctr2">100%</td><td class="ctr1">6</td><td class="ctr2">17</td><td class="ctr1">18</td><td class="ctr2">64</td><td class="ctr1">6</td><td class="ctr2">9</td><td class="ctr1">1</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="DrawSettingManager.html" class="el_class">DrawSettingManager</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="45" height="10" title="78" alt="78"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h0">18</td><td class="ctr2" id="i1">18</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k1">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="DrawService.html" class="el_class">DrawService</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="8" height="10" title="15" alt="15"/><img src="../jacoco-resources/greenbar.gif" width="111" height="10" title="193" alt="193"/></td><td class="ctr2" id="c0">92%</td><td class="bar" id="d0"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="16" alt="16"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f1">3</td><td class="ctr2" id="g0">14</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i0">46</td><td class="ctr1" id="j1">3</td><td class="ctr2" id="k0">6</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/index.source.html
    deleted file mode 100644
    index 39de8b6c..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.service/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.draw.service</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.draw.service</span></div><h1>com.softeer.backend.fo_domain.draw.service</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">93 of 286</td><td class="ctr2">67%</td><td class="bar">0 of 16</td><td class="ctr2">100%</td><td class="ctr1">6</td><td class="ctr2">17</td><td class="ctr1">18</td><td class="ctr2">64</td><td class="ctr1">6</td><td class="ctr2">9</td><td class="ctr1">1</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="DrawSettingManager.java.html" class="el_source">DrawSettingManager.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="45" height="10" title="78" alt="78"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h0">18</td><td class="ctr2" id="i1">18</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k1">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="DrawService.java.html" class="el_source">DrawService.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="8" height="10" title="15" alt="15"/><img src="../jacoco-resources/greenbar.gif" width="111" height="10" title="193" alt="193"/></td><td class="ctr2" id="c0">92%</td><td class="bar" id="d0"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="16" alt="16"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f1">3</td><td class="ctr2" id="g0">14</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i0">46</td><td class="ctr1" id="j1">3</td><td class="ctr2" id="k0">6</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawAttendanceCountUtil.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawAttendanceCountUtil.html
    deleted file mode 100644
    index fd8eefef..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawAttendanceCountUtil.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DrawAttendanceCountUtil</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.draw.util</a> &gt; <span class="el_class">DrawAttendanceCountUtil</span></div><h1>DrawAttendanceCountUtil</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">109 of 109</td><td class="ctr2">0%</td><td class="bar">14 of 14</td><td class="ctr2">0%</td><td class="ctr1">10</td><td class="ctr2">10</td><td class="ctr1">23</td><td class="ctr2">23</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a0"><a href="DrawAttendanceCountUtil.java.html#L27" class="el_method">handleAttendanceCount(Integer, DrawParticipationInfo)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="59" alt="59"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="6" alt="6"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">15</td><td class="ctr2" id="i0">15</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="DrawAttendanceCountUtil.java.html#L72" class="el_method">isContinuousAttendance(LocalDateTime)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="52" height="10" title="26" alt="26"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="80" height="10" title="4" alt="4"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f1">3</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h1">4</td><td class="ctr2" id="i1">4</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="DrawAttendanceCountUtil.java.html#L86" class="el_method">isLastAttendanceToday(LocalDateTime)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="48" height="10" title="24" alt="24"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"><img src="../jacoco-resources/redbar.gif" width="80" height="10" title="4" alt="4"/></td><td class="ctr2" id="e2">0%</td><td class="ctr1" id="f2">3</td><td class="ctr2" id="g2">3</td><td class="ctr1" id="h2">4</td><td class="ctr2" id="i2">4</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawAttendanceCountUtil.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawAttendanceCountUtil.java.html
    deleted file mode 100644
    index 546bc54a..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawAttendanceCountUtil.java.html
    +++ /dev/null
    @@ -1,93 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DrawAttendanceCountUtil.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.draw.util</a> &gt; <span class="el_source">DrawAttendanceCountUtil.java</span></div><h1>DrawAttendanceCountUtil.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.draw.util;
    -
    -import com.softeer.backend.fo_domain.draw.domain.DrawParticipationInfo;
    -import com.softeer.backend.fo_domain.draw.repository.DrawParticipationInfoRepository;
    -import lombok.RequiredArgsConstructor;
    -import org.springframework.stereotype.Component;
    -
    -import java.time.LocalDateTime;
    -import java.time.LocalTime;
    -
    -@Component
    -@RequiredArgsConstructor
    -public class DrawAttendanceCountUtil {
    -    private final DrawParticipationInfoRepository drawParticipationInfoRepository;
    -
    -    /**
    -     * 연속 출석인지 판단
    -     * 1. 연속 출석이면 연속 출석일수 1 증가하여 DB에 업데이트
    -     * 2. 연속 출석이 아니면 DB에 연속 출석일수 1로 초기화
    -     * 3. 현재 출석시각을 마지막 출석시각으로 DB에 업데이트
    -     *
    -     * @param userId                사용자 아이디
    -     * @param drawParticipationInfo 참여 정보
    -     * @return 연속출석 일수 반환
    -     */
    -    public int handleAttendanceCount(Integer userId, DrawParticipationInfo drawParticipationInfo) {
    -<span class="nc" id="L27">        LocalDateTime lastAttendance = drawParticipationInfo.getLastAttendance();</span>
    -
    -        // 한 번도 접속한 적이 없는 사람이라면
    -<span class="nc bnc" id="L30" title="All 2 branches missed.">        if (lastAttendance == null) {</span>
    -            // 연속출석일수 1로 초기화
    -<span class="nc" id="L32">            drawParticipationInfoRepository.setAttendanceCountToOne(userId);</span>
    -
    -            // lastAttendance를 현재 시각으로 설정
    -<span class="nc" id="L35">            drawParticipationInfoRepository.setLastAttendance(userId, LocalDateTime.now());</span>
    -
    -<span class="nc" id="L37">            return 1;</span>
    -        }
    -
    -        // 마지막 접속 시간이 오늘이라면 false 반환
    -<span class="nc bnc" id="L41" title="All 2 branches missed.">        if (isLastAttendanceToday(lastAttendance)) {</span>
    -            // lastAttendance를 현재 시각으로 설정
    -<span class="nc" id="L43">            drawParticipationInfoRepository.setLastAttendance(userId, LocalDateTime.now());</span>
    -
    -<span class="nc" id="L45">            return drawParticipationInfo.getDrawAttendanceCount();</span>
    -        }
    -
    -<span class="nc bnc" id="L48" title="All 2 branches missed.">        if (isContinuousAttendance(lastAttendance)) {</span>
    -            // 연속 출석이라면 연속출석일수 1 증가
    -<span class="nc" id="L50">            drawParticipationInfoRepository.increaseAttendanceCount(userId);</span>
    -
    -            // lastAttendance를 현재 시각으로 설정
    -<span class="nc" id="L53">            drawParticipationInfoRepository.setLastAttendance(userId, LocalDateTime.now());</span>
    -<span class="nc" id="L54">            return drawParticipationInfo.getDrawAttendanceCount() + 1;</span>
    -        } else {
    -            // 연속출석이 아니라면 연속출석일수 1로 초기화
    -<span class="nc" id="L57">            drawParticipationInfoRepository.setAttendanceCountToOne(userId);</span>
    -
    -            // lastAttendance를 현재 시각으로 설정
    -<span class="nc" id="L60">            drawParticipationInfoRepository.setLastAttendance(userId, LocalDateTime.now());</span>
    -<span class="nc" id="L61">            return 1;</span>
    -        }
    -    }
    -
    -    /**
    -     * 연속 출석인지 판단
    -     *
    -     * @param lastAttendance 마지막 출석 날짜
    -     * @return 연속 출석이면 true, 연속출석이 아니면 false 반환
    -     */
    -    private boolean isContinuousAttendance(LocalDateTime lastAttendance) {
    -<span class="nc" id="L72">        LocalDateTime now = LocalDateTime.now();</span>
    -<span class="nc" id="L73">        LocalDateTime startDateTime = lastAttendance.plusDays(1).with(LocalTime.MIDNIGHT); // 마지막 접속일자의 다음날 자정</span>
    -<span class="nc" id="L74">        LocalDateTime endDateTime = lastAttendance.plusDays(2).with(LocalTime.MIDNIGHT); // 마지막 접속일자의 2일 후 자정</span>
    -
    -<span class="nc bnc" id="L76" title="All 4 branches missed.">        return (now.isAfter(startDateTime) &amp;&amp; now.isBefore(endDateTime));</span>
    -    }
    -
    -    /**
    -     * 마지막 출석 시간이 오늘인지 판단
    -     *
    -     * @param lastAttendance 마지막 출석 날짜
    -     * @return 마지막 출석 시간이 오늘이면 true, 아니면 false 반환
    -     */
    -    private boolean isLastAttendanceToday(LocalDateTime lastAttendance) {
    -<span class="nc" id="L86">        LocalDateTime now = LocalDateTime.now();</span>
    -<span class="nc" id="L87">        LocalDateTime startDateTime = lastAttendance.with(LocalTime.MIDNIGHT);</span>
    -<span class="nc" id="L88">        LocalDateTime endDateTime = lastAttendance.plusDays(1).with(LocalTime.MIDNIGHT);</span>
    -
    -<span class="nc bnc" id="L90" title="All 4 branches missed.">        return (now.isAfter(startDateTime) &amp;&amp; now.isBefore(endDateTime));</span>
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawModalGenerateUtil.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawModalGenerateUtil.html
    deleted file mode 100644
    index 73b189c2..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawModalGenerateUtil.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DrawModalGenerateUtil</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.draw.util</a> &gt; <span class="el_class">DrawModalGenerateUtil</span></div><h1>DrawModalGenerateUtil</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">142 of 142</td><td class="ctr2">0%</td><td class="bar">6 of 6</td><td class="ctr2">0%</td><td class="ctr1">8</td><td class="ctr2">8</td><td class="ctr1">33</td><td class="ctr2">33</td><td class="ctr1">5</td><td class="ctr2">5</td></tr></tfoot><tbody><tr><td id="a4"><a href="DrawModalGenerateUtil.java.html#L25" class="el_method">generateWinModal(int)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="37" alt="37"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="6" alt="6"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">9</td><td class="ctr2" id="i0">9</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="DrawModalGenerateUtil.java.html#L56" class="el_method">generateSecondWinModal(Map, Map)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="87" height="10" title="27" alt="27"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">6</td><td class="ctr2" id="i1">6</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a3"><a href="DrawModalGenerateUtil.java.html#L68" class="el_method">generateThirdWinModal(Map, Map)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="87" height="10" title="27" alt="27"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">6</td><td class="ctr2" id="i2">6</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a1"><a href="DrawModalGenerateUtil.java.html#L82" class="el_method">generateFullAttendModal(Map, Map)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="87" height="10" title="27" alt="27"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">6</td><td class="ctr2" id="i3">6</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a0"><a href="DrawModalGenerateUtil.java.html#L44" class="el_method">generateFirstWinModal(Map, Map)</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="77" height="10" title="24" alt="24"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">6</td><td class="ctr2" id="i4">6</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawModalGenerateUtil.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawModalGenerateUtil.java.html
    deleted file mode 100644
    index d01c8d42..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawModalGenerateUtil.java.html
    +++ /dev/null
    @@ -1,90 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DrawModalGenerateUtil.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.draw.util</a> &gt; <span class="el_source">DrawModalGenerateUtil.java</span></div><h1>DrawModalGenerateUtil.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.draw.util;
    -
    -import com.softeer.backend.fo_domain.draw.dto.modal.WinModal;
    -import com.softeer.backend.global.staticresources.constant.S3FileName;
    -import com.softeer.backend.global.staticresources.constant.StaticTextName;
    -import com.softeer.backend.global.staticresources.util.StaticResourceUtil;
    -import lombok.RequiredArgsConstructor;
    -import org.springframework.cache.annotation.Cacheable;
    -import org.springframework.stereotype.Component;
    -
    -import java.util.Map;
    -
    -@Component
    -@RequiredArgsConstructor
    -public class DrawModalGenerateUtil {
    -
    -    private final StaticResourceUtil staticResourceUtil;
    -
    -    /**
    -     * @return 등수에 따른 WinModal을 반환
    -     */
    -    @Cacheable(value = &quot;staticResources&quot;, key = &quot;'draw_modal_' + #ranking&quot;)
    -    public WinModal generateWinModal(int ranking) {
    -
    -<span class="nc" id="L25">        Map&lt;String, String&gt; textContentMap = staticResourceUtil.getTextContentMap();</span>
    -<span class="nc" id="L26">        Map&lt;String, String&gt; s3ContentMap = staticResourceUtil.getS3ContentMap();</span>
    -
    -<span class="nc bnc" id="L28" title="All 2 branches missed.">        if (ranking == 1) {</span>
    -<span class="nc" id="L29">            return generateFirstWinModal(textContentMap, s3ContentMap);</span>
    -<span class="nc bnc" id="L30" title="All 2 branches missed.">        } else if (ranking == 2) {</span>
    -<span class="nc" id="L31">            return generateSecondWinModal(textContentMap, s3ContentMap);</span>
    -<span class="nc bnc" id="L32" title="All 2 branches missed.">        } else if (ranking == 3) {</span>
    -<span class="nc" id="L33">            return generateThirdWinModal(textContentMap, s3ContentMap);</span>
    -        } else {
    -<span class="nc" id="L35">            return generateFullAttendModal(textContentMap, s3ContentMap);</span>
    -        }
    -    }
    -
    -    /**
    -     * @return 1등 WinModal 반환
    -     */
    -
    -    private WinModal generateFirstWinModal(Map&lt;String, String&gt; textContentMap, Map&lt;String, String&gt; s3ContentMap) {
    -<span class="nc" id="L44">        return WinModal.builder()</span>
    -<span class="nc" id="L45">                .title(textContentMap.get(StaticTextName.DRAW_WINNER_MODAL_TITLE.name()))</span>
    -<span class="nc" id="L46">                .subtitle(textContentMap.get(StaticTextName.DRAW_FIRST_WINNER_SUBTITLE.name()))</span>
    -<span class="nc" id="L47">                .img(s3ContentMap.get(S3FileName.DRAW_REWARD_IMAGE_1.name()))</span>
    -<span class="nc" id="L48">                .description(StaticTextName.DRAW_WINNER_MODAL_DESCRIPTION.name())</span>
    -<span class="nc" id="L49">                .build();</span>
    -    }
    -
    -    /**
    -     * @return 2등 WinModal 반환
    -     */
    -    private WinModal generateSecondWinModal(Map&lt;String, String&gt; textContentMap, Map&lt;String, String&gt; s3ContentMap) {
    -<span class="nc" id="L56">        return WinModal.builder()</span>
    -<span class="nc" id="L57">                .title(textContentMap.get(StaticTextName.DRAW_WINNER_MODAL_TITLE.name()))</span>
    -<span class="nc" id="L58">                .subtitle(textContentMap.get(StaticTextName.DRAW_SECOND_WINNER_SUBTITLE.name()))</span>
    -<span class="nc" id="L59">                .img(s3ContentMap.get(S3FileName.DRAW_REWARD_IMAGE_2.name()))</span>
    -<span class="nc" id="L60">                .description(textContentMap.get(StaticTextName.DRAW_WINNER_MODAL_DESCRIPTION.name()))</span>
    -<span class="nc" id="L61">                .build();</span>
    -    }
    -
    -    /**
    -     * @return 3등 WinModal 반환
    -     */
    -    private WinModal generateThirdWinModal(Map&lt;String, String&gt; textContentMap, Map&lt;String, String&gt; s3ContentMap) {
    -<span class="nc" id="L68">        return WinModal.builder()</span>
    -<span class="nc" id="L69">                .title(textContentMap.get(StaticTextName.DRAW_WINNER_MODAL_TITLE.name()))</span>
    -<span class="nc" id="L70">                .subtitle(textContentMap.get(StaticTextName.DRAW_THIRD_WINNER_SUBTITLE.name()))</span>
    -<span class="nc" id="L71">                .img(s3ContentMap.get(S3FileName.DRAW_REWARD_IMAGE_3.name()))</span>
    -<span class="nc" id="L72">                .description(textContentMap.get(StaticTextName.DRAW_WINNER_MODAL_DESCRIPTION.name()))</span>
    -<span class="nc" id="L73">                .build();</span>
    -    }
    -
    -    /**
    -     * 7일 연속 출석자 상품 정보 반환 메서드
    -     *
    -     * @return FullAttendModal 반환
    -     */
    -    public WinModal generateFullAttendModal(Map&lt;String, String&gt; textContentMap, Map&lt;String, String&gt; s3ContentMap) {
    -<span class="nc" id="L82">        return WinModal.builder()</span>
    -<span class="nc" id="L83">                .title(textContentMap.get(StaticTextName.FULL_ATTEND_MODAL_TITLE.name()))</span>
    -<span class="nc" id="L84">                .subtitle(textContentMap.get(StaticTextName.FULL_ATTEND_MODAL_SUBTITLE.name()))</span>
    -<span class="nc" id="L85">                .img(s3ContentMap.get(S3FileName.ATTENDANCE_REWARD_IMAGE.name()))</span>
    -<span class="nc" id="L86">                .description(textContentMap.get(StaticTextName.FULL_ATTEND_MODAL_DESCRIPTION.name()))</span>
    -<span class="nc" id="L87">                .build();</span>
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawResponseGenerateUtil.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawResponseGenerateUtil.html
    deleted file mode 100644
    index fdd310d8..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawResponseGenerateUtil.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DrawResponseGenerateUtil</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.draw.util</a> &gt; <span class="el_class">DrawResponseGenerateUtil</span></div><h1>DrawResponseGenerateUtil</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">92 of 92</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">8</td><td class="ctr2">8</td><td class="ctr1">31</td><td class="ctr2">31</td><td class="ctr1">8</td><td class="ctr2">8</td></tr></tfoot><tbody><tr><td id="a4"><a href="DrawResponseGenerateUtil.java.html#L34" class="el_method">generateMainFullAttendResponse(int, int, int)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="17" alt="17"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">6</td><td class="ctr2" id="i0">6</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a3"><a href="DrawResponseGenerateUtil.java.html#L78" class="el_method">generateDrawWinnerResponse(int)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="112" height="10" title="16" alt="16"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">5</td><td class="ctr2" id="i1">5</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="DrawResponseGenerateUtil.java.html#L65" class="el_method">generateDrawLoserResponse(Integer)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="105" height="10" title="15" alt="15"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">5</td><td class="ctr2" id="i2">5</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a1"><a href="DrawResponseGenerateUtil.java.html#L91" class="el_method">generateDrawHistoryWinnerResponse(int)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="77" height="10" title="11" alt="11"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h4">4</td><td class="ctr2" id="i4">4</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a0"><a href="DrawResponseGenerateUtil.java.html#L103" class="el_method">generateDrawHistoryLoserResponse(Integer)</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="70" height="10" title="10" alt="10"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h5">4</td><td class="ctr2" id="i5">4</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a5"><a href="DrawResponseGenerateUtil.java.html#L51" class="el_method">generateMainNotAttendResponse(int, int, int)</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="63" height="10" title="9" alt="9"/></td><td class="ctr2" id="c5">0%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">1</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h3">5</td><td class="ctr2" id="i3">5</td><td class="ctr1" id="j5">1</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a6"><a href="DrawResponseGenerateUtil.java.html#L116" class="el_method">getShareUrl(Integer)</a></td><td class="bar" id="b6"><img src="../jacoco-resources/redbar.gif" width="63" height="10" title="9" alt="9"/></td><td class="ctr2" id="c6">0%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">1</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h6">2</td><td class="ctr2" id="i6">2</td><td class="ctr1" id="j6">1</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a7"><a href="DrawResponseGenerateUtil.java.html#L117" class="el_method">lambda$getShareUrl$0()</a></td><td class="bar" id="b7"><img src="../jacoco-resources/redbar.gif" width="35" height="10" title="5" alt="5"/></td><td class="ctr2" id="c7">0%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">1</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h7">1</td><td class="ctr2" id="i7">1</td><td class="ctr1" id="j7">1</td><td class="ctr2" id="k7">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawResponseGenerateUtil.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawResponseGenerateUtil.java.html
    deleted file mode 100644
    index b4ab65e9..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawResponseGenerateUtil.java.html
    +++ /dev/null
    @@ -1,120 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DrawResponseGenerateUtil.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.draw.util</a> &gt; <span class="el_source">DrawResponseGenerateUtil.java</span></div><h1>DrawResponseGenerateUtil.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.draw.util;
    -
    -import com.softeer.backend.fo_domain.draw.dto.main.DrawMainFullAttendResponseDto;
    -import com.softeer.backend.fo_domain.draw.dto.main.DrawMainResponseDto;
    -import com.softeer.backend.fo_domain.draw.dto.participate.DrawLoseModalResponseDto;
    -import com.softeer.backend.fo_domain.draw.dto.participate.DrawWinModalResponseDto;
    -import com.softeer.backend.fo_domain.draw.dto.result.DrawHistoryLoserResponseDto;
    -import com.softeer.backend.fo_domain.draw.dto.result.DrawHistoryWinnerResponseDto;
    -import com.softeer.backend.fo_domain.share.exception.ShareUrlInfoException;
    -import com.softeer.backend.fo_domain.share.repository.ShareUrlInfoRepository;
    -import com.softeer.backend.global.common.code.status.ErrorStatus;
    -import lombok.RequiredArgsConstructor;
    -import org.springframework.stereotype.Component;
    -
    -@Component
    -@RequiredArgsConstructor
    -public class DrawResponseGenerateUtil {
    -    public static final String BASE_URL = &quot;https://softeer.shop/share/&quot;;
    -
    -    private final ShareUrlInfoRepository shareUrlInfoRepository;
    -    private final DrawUtil drawUtil;
    -    private final DrawModalGenerateUtil drawModalGenerateUtil;
    -
    -
    -    /**
    -     * 7일 연속 출석 시 상품 정보 모달 만들어서 반환하는 메서드
    -     *
    -     * @param invitedNum             초대한 사람 수
    -     * @param remainDrawCount        남은 추첨 기회
    -     * @param drawAttendanceCount 연속 출석 일수
    -     * @return 7일 연속 출석 상품 모달
    -     */
    -    public DrawMainFullAttendResponseDto generateMainFullAttendResponse(int invitedNum, int remainDrawCount, int drawAttendanceCount) {
    -<span class="nc" id="L34">        return DrawMainFullAttendResponseDto.builder()</span>
    -<span class="nc" id="L35">                .invitedNum(invitedNum)</span>
    -<span class="nc" id="L36">                .remainDrawCount(remainDrawCount)</span>
    -<span class="nc" id="L37">                .drawAttendanceCount(drawAttendanceCount)</span>
    -<span class="nc" id="L38">                .fullAttendModal(drawModalGenerateUtil.generateWinModal(7))</span>
    -<span class="nc" id="L39">                .build();</span>
    -    }
    -
    -    /**
    -     * 7일 미만 출석 시 모달 만들어서 반환하는 메서드
    -     *
    -     * @param invitedNum             초대한 사람 수
    -     * @param remainDrawCount        남은 추첨 기회
    -     * @param drawAttendanceCount 연속 출석 일수
    -     * @return 7일 미만 출석 상품 모달
    -     */
    -    public DrawMainResponseDto generateMainNotAttendResponse(int invitedNum, int remainDrawCount, int drawAttendanceCount) {
    -<span class="nc" id="L51">        return DrawMainResponseDto.builder()</span>
    -<span class="nc" id="L52">                .invitedNum(invitedNum)</span>
    -<span class="nc" id="L53">                .remainDrawCount(remainDrawCount)</span>
    -<span class="nc" id="L54">                .drawAttendanceCount(drawAttendanceCount)</span>
    -<span class="nc" id="L55">                .build();</span>
    -    }
    -
    -    /**
    -     * 낙첨자 응답 만들어서 반환
    -     *
    -     * @param userId 를 이용하여 공유 url 조회
    -     * @return 낙첨자 응답
    -     */
    -    public DrawLoseModalResponseDto generateDrawLoserResponse(Integer userId) {
    -<span class="nc" id="L65">        return DrawLoseModalResponseDto.builder()</span>
    -<span class="nc" id="L66">                .isDrawWin(false)</span>
    -<span class="nc" id="L67">                .images(drawUtil.generateLoseImages())</span>
    -<span class="nc" id="L68">                .shareUrl(getShareUrl(userId))</span>
    -<span class="nc" id="L69">                .build();</span>
    -    }
    -
    -    /**
    -     * 당첨자 응답 만들어서 반환
    -     *
    -     * @return 당첨자 응답
    -     */
    -    public DrawWinModalResponseDto generateDrawWinnerResponse(int ranking) {
    -<span class="nc" id="L78">        return DrawWinModalResponseDto.builder()</span>
    -<span class="nc" id="L79">                .isDrawWin(true)</span>
    -<span class="nc" id="L80">                .images(drawUtil.generateWinImages())</span>
    -<span class="nc" id="L81">                .winModal(drawModalGenerateUtil.generateWinModal(ranking))</span>
    -<span class="nc" id="L82">                .build();</span>
    -    }
    -
    -    /**
    -     * 당첨내역이 있는 경우 당첨 내역 응답 만들어서 반환
    -     * @param ranking 등수
    -     * @return 당첨 내역 응답
    -     */
    -    public DrawHistoryWinnerResponseDto generateDrawHistoryWinnerResponse(int ranking) {
    -<span class="nc" id="L91">        return DrawHistoryWinnerResponseDto.builder()</span>
    -<span class="nc" id="L92">                .isDrawWin(true)</span>
    -<span class="nc" id="L93">                .winModal(drawModalGenerateUtil.generateWinModal(ranking))</span>
    -<span class="nc" id="L94">                .build();</span>
    -    }
    -
    -    /**
    -     * 당첨내역이 없는 경우 낙첨 응답 만들어서 반환
    -     * @param userId 사용자 아이디
    -     * @return 낙첨 내역 응답
    -     */
    -    public DrawHistoryLoserResponseDto generateDrawHistoryLoserResponse(Integer userId) {
    -<span class="nc" id="L103">        return DrawHistoryLoserResponseDto.builder()</span>
    -<span class="nc" id="L104">                .isDrawWin(false)</span>
    -<span class="nc" id="L105">                .shareUrl(getShareUrl(userId))</span>
    -<span class="nc" id="L106">                .build();</span>
    -    }
    -
    -    /**
    -     * 공유 url 조회
    -     *
    -     * @param userId 사용자 아이디
    -     * @return 공유 url
    -     */
    -    private String getShareUrl(Integer userId) {
    -<span class="nc" id="L116">        return BASE_URL + shareUrlInfoRepository.findShareUrlByUserId(userId)</span>
    -<span class="nc" id="L117">                .orElseThrow(() -&gt; new ShareUrlInfoException(ErrorStatus._NOT_FOUND));</span>
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawUtil.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawUtil.html
    deleted file mode 100644
    index 1fbec618..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawUtil.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DrawUtil</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.draw.util</a> &gt; <span class="el_class">DrawUtil</span></div><h1>DrawUtil</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">172 of 172</td><td class="ctr2">0%</td><td class="bar">16 of 16</td><td class="ctr2">0%</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">41</td><td class="ctr2">41</td><td class="ctr1">4</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a0"><a href="DrawUtil.java.html#L79" class="el_method">generateLoseImages()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="52" alt="52"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d2"><img src="../jacoco-resources/redbar.gif" width="80" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f2">3</td><td class="ctr2" id="g2">3</td><td class="ctr1" id="h1">11</td><td class="ctr2" id="i1">11</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a3"><a href="DrawUtil.java.html#L43" class="el_method">performDraw()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="99" height="10" title="43" alt="43"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="6" alt="6"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">12</td><td class="ctr2" id="i0">12</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="DrawUtil.java.html#L104" class="el_method">getImageUrl(int)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="94" height="10" title="41" alt="41"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="6" alt="6"/></td><td class="ctr2" id="e2">0%</td><td class="ctr1" id="f1">4</td><td class="ctr2" id="g1">4</td><td class="ctr1" id="h2">9</td><td class="ctr2" id="i2">9</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a1"><a href="DrawUtil.java.html#L62" class="el_method">generateWinImages()</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="83" height="10" title="36" alt="36"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">9</td><td class="ctr2" id="i3">9</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawUtil.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawUtil.java.html
    deleted file mode 100644
    index daf1b7f2..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/DrawUtil.java.html
    +++ /dev/null
    @@ -1,119 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DrawUtil.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.draw.util</a> &gt; <span class="el_source">DrawUtil.java</span></div><h1>DrawUtil.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.draw.util;
    -
    -import com.softeer.backend.fo_domain.fcfs.service.FcfsService;
    -import com.softeer.backend.global.staticresources.constant.S3FileName;
    -import com.softeer.backend.global.staticresources.repository.S3ContentRepository;
    -import com.softeer.backend.global.staticresources.util.StaticResourceUtil;
    -import lombok.Getter;
    -import lombok.RequiredArgsConstructor;
    -import lombok.Setter;
    -import org.springframework.beans.factory.ObjectProvider;
    -import org.springframework.cache.annotation.Cacheable;
    -import org.springframework.stereotype.Component;
    -
    -import java.util.ArrayList;
    -import java.util.List;
    -import java.util.Map;
    -import java.util.Random;
    -
    -@Component
    -@RequiredArgsConstructor
    -public class DrawUtil {
    -
    -    private final ObjectProvider&lt;DrawUtil&gt; drawUtilProvider;
    -    private final StaticResourceUtil staticResourceUtil;
    -
    -    @Getter
    -    private boolean isDrawWin = false;
    -    @Getter
    -    @Setter
    -    private int ranking = 0;
    -    @Setter
    -    private int first;
    -    @Setter
    -    private int second;
    -    @Setter
    -    private int third;
    -
    -    /**
    -     * 추첨 로직 실행
    -     * 만약 1, 2, 3등 중 하나에 당첨되었다면 등수와 이미지 방향이 결정됨.
    -     */
    -    public void performDraw() {
    -<span class="nc" id="L43">        Random random = new Random();</span>
    -<span class="nc" id="L44">        int randomNum = random.nextInt(10000) + 1; // 랜덤 수</span>
    -
    -<span class="nc bnc" id="L46" title="All 2 branches missed.">        if (randomNum &lt;= this.first) {</span>
    -<span class="nc" id="L47">            isDrawWin = true;</span>
    -<span class="nc" id="L48">            ranking = 1;</span>
    -<span class="nc bnc" id="L49" title="All 2 branches missed.">        } else if (randomNum &lt;= this.second) {</span>
    -<span class="nc" id="L50">            isDrawWin = true;</span>
    -<span class="nc" id="L51">            ranking = 2;</span>
    -<span class="nc bnc" id="L52" title="All 2 branches missed.">        } else if (randomNum &lt;= this.third) {</span>
    -<span class="nc" id="L53">            isDrawWin = true;</span>
    -<span class="nc" id="L54">            ranking = 3;</span>
    -        }
    -<span class="nc" id="L56">    }</span>
    -
    -    /**
    -     * @return 당첨자를 위한 방향 이미지 List 반환
    -     */
    -    public List&lt;String&gt; generateWinImages() {
    -<span class="nc" id="L62">        Random random = new Random();</span>
    -<span class="nc" id="L63">        int direction = random.nextInt(4); // 랜덤 수</span>
    -
    -<span class="nc" id="L65">        DrawUtil drawUtil = drawUtilProvider.getObject();</span>
    -<span class="nc" id="L66">        String directionImage = drawUtil.getImageUrl(direction);</span>
    -
    -<span class="nc" id="L68">        ArrayList&lt;String&gt; images = new ArrayList&lt;&gt;(3);</span>
    -<span class="nc" id="L69">        images.add(directionImage);</span>
    -<span class="nc" id="L70">        images.add(directionImage);</span>
    -<span class="nc" id="L71">        images.add(directionImage);</span>
    -<span class="nc" id="L72">        return images;</span>
    -    }
    -
    -    /**
    -     * @return 낙첨자를 위한 랜덤 방향 이미지 List 반환
    -     */
    -    public List&lt;String&gt; generateLoseImages() {
    -<span class="nc" id="L79">        DrawUtil drawUtil = drawUtilProvider.getObject();</span>
    -
    -<span class="nc" id="L81">        ArrayList&lt;String&gt; images = new ArrayList&lt;&gt;(3);</span>
    -<span class="nc" id="L82">        Random random = new Random();</span>
    -        int firstDirection, secondDirection, thirdDirection;
    -
    -        do {
    -<span class="nc" id="L86">            firstDirection = random.nextInt(4);</span>
    -<span class="nc" id="L87">            secondDirection = random.nextInt(4);</span>
    -<span class="nc" id="L88">            thirdDirection = random.nextInt(4);</span>
    -<span class="nc bnc" id="L89" title="All 4 branches missed.">        } while (firstDirection == secondDirection &amp;&amp; secondDirection == thirdDirection);</span>
    -
    -<span class="nc" id="L91">        images.add(drawUtil.getImageUrl(firstDirection));</span>
    -<span class="nc" id="L92">        images.add(drawUtil.getImageUrl(secondDirection));</span>
    -<span class="nc" id="L93">        images.add(drawUtil.getImageUrl(thirdDirection));</span>
    -<span class="nc" id="L94">        return images;</span>
    -    }
    -
    -    /**
    -     * @param direction 방향을 나타냄. 0, 1, 2, 3이 각각 위, 오른쪽, 밑, 왼쪽
    -     * @return 방향에 따른 이미지 url을 반환
    -     */
    -    @Cacheable(value = &quot;staticResources&quot;, key = &quot;'drawImage_' + #direction&quot;)
    -    public String getImageUrl(int direction) {
    -
    -<span class="nc" id="L104">        Map&lt;String, String&gt; textContentMap = staticResourceUtil.getTextContentMap();</span>
    -
    -        String directionImage;
    -<span class="nc bnc" id="L107" title="All 2 branches missed.">        if (direction == 0) {</span>
    -<span class="nc" id="L108">            directionImage = textContentMap.get(S3FileName.DRAW_BLOCK_UP_IMAGE.name());</span>
    -<span class="nc bnc" id="L109" title="All 2 branches missed.">        } else if (direction == 1) {</span>
    -<span class="nc" id="L110">            directionImage = textContentMap.get(S3FileName.DRAW_BLOCK_RIGHT_IMAGE.name());</span>
    -<span class="nc bnc" id="L111" title="All 2 branches missed.">        } else if (direction == 2) {</span>
    -<span class="nc" id="L112">            directionImage = textContentMap.get(S3FileName.DRAW_BLOCK_DOWN_IMAGE.name());</span>
    -        } else {
    -<span class="nc" id="L114">            directionImage = textContentMap.get(S3FileName.DRAW_BLOCK_LEFT_IMAGE.name());</span>
    -        }
    -<span class="nc" id="L116">        return directionImage;</span>
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/index.html
    deleted file mode 100644
    index f6db7909..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.draw.util</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.draw.util</span></div><h1>com.softeer.backend.fo_domain.draw.util</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">515 of 515</td><td class="ctr2">0%</td><td class="bar">36 of 36</td><td class="ctr2">0%</td><td class="ctr1">38</td><td class="ctr2">38</td><td class="ctr1">128</td><td class="ctr2">128</td><td class="ctr1">20</td><td class="ctr2">20</td><td class="ctr1">4</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a3"><a href="DrawUtil.html" class="el_class">DrawUtil</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="172" alt="172"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="16" alt="16"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">12</td><td class="ctr2" id="g0">12</td><td class="ctr1" id="h0">41</td><td class="ctr2" id="i0">41</td><td class="ctr1" id="j2">4</td><td class="ctr2" id="k2">4</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a1"><a href="DrawModalGenerateUtil.html" class="el_class">DrawModalGenerateUtil</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="99" height="10" title="142" alt="142"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d2"><img src="../jacoco-resources/redbar.gif" width="45" height="10" title="6" alt="6"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f2">8</td><td class="ctr2" id="g2">8</td><td class="ctr1" id="h1">33</td><td class="ctr2" id="i1">33</td><td class="ctr1" id="j1">5</td><td class="ctr2" id="k1">5</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a0"><a href="DrawAttendanceCountUtil.html" class="el_class">DrawAttendanceCountUtil</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="76" height="10" title="109" alt="109"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="105" height="10" title="14" alt="14"/></td><td class="ctr2" id="e2">0%</td><td class="ctr1" id="f1">10</td><td class="ctr2" id="g1">10</td><td class="ctr1" id="h3">23</td><td class="ctr2" id="i3">23</td><td class="ctr1" id="j3">3</td><td class="ctr2" id="k3">3</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a2"><a href="DrawResponseGenerateUtil.html" class="el_class">DrawResponseGenerateUtil</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="64" height="10" title="92" alt="92"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">8</td><td class="ctr2" id="g3">8</td><td class="ctr1" id="h2">31</td><td class="ctr2" id="i2">31</td><td class="ctr1" id="j0">8</td><td class="ctr2" id="k0">8</td><td class="ctr1" id="l3">1</td><td class="ctr2" id="m3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/index.source.html
    deleted file mode 100644
    index 0e726ea7..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.draw.util/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.draw.util</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.draw.util</span></div><h1>com.softeer.backend.fo_domain.draw.util</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">515 of 515</td><td class="ctr2">0%</td><td class="bar">36 of 36</td><td class="ctr2">0%</td><td class="ctr1">38</td><td class="ctr2">38</td><td class="ctr1">128</td><td class="ctr2">128</td><td class="ctr1">20</td><td class="ctr2">20</td><td class="ctr1">4</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a3"><a href="DrawUtil.java.html" class="el_source">DrawUtil.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="172" alt="172"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="16" alt="16"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">12</td><td class="ctr2" id="g0">12</td><td class="ctr1" id="h0">41</td><td class="ctr2" id="i0">41</td><td class="ctr1" id="j2">4</td><td class="ctr2" id="k2">4</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a1"><a href="DrawModalGenerateUtil.java.html" class="el_source">DrawModalGenerateUtil.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="99" height="10" title="142" alt="142"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d2"><img src="../jacoco-resources/redbar.gif" width="45" height="10" title="6" alt="6"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f2">8</td><td class="ctr2" id="g2">8</td><td class="ctr1" id="h1">33</td><td class="ctr2" id="i1">33</td><td class="ctr1" id="j1">5</td><td class="ctr2" id="k1">5</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a0"><a href="DrawAttendanceCountUtil.java.html" class="el_source">DrawAttendanceCountUtil.java</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="76" height="10" title="109" alt="109"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="105" height="10" title="14" alt="14"/></td><td class="ctr2" id="e2">0%</td><td class="ctr1" id="f1">10</td><td class="ctr2" id="g1">10</td><td class="ctr1" id="h3">23</td><td class="ctr2" id="i3">23</td><td class="ctr1" id="j3">3</td><td class="ctr2" id="k3">3</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a2"><a href="DrawResponseGenerateUtil.java.html" class="el_source">DrawResponseGenerateUtil.java</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="64" height="10" title="92" alt="92"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">8</td><td class="ctr2" id="g3">8</td><td class="ctr1" id="h2">31</td><td class="ctr2" id="i2">31</td><td class="ctr1" id="j0">8</td><td class="ctr2" id="k0">8</td><td class="ctr1" id="l3">1</td><td class="ctr2" id="m3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.controller/FcfsController.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.controller/FcfsController.html
    deleted file mode 100644
    index 3b0cda5e..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.controller/FcfsController.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>FcfsController</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.fcfs.controller</a> &gt; <span class="el_class">FcfsController</span></div><h1>FcfsController</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">42 of 42</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">9</td><td class="ctr2">9</td><td class="ctr1">4</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a2"><a href="FcfsController.java.html#L58" class="el_method">handleFcfs(HttpServletRequest, Integer, FcfsRequestDto)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="17" alt="17"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">3</td><td class="ctr2" id="i0">3</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="FcfsController.java.html#L38" class="el_method">getFcfsPage(HttpServletRequest)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="98" height="10" title="14" alt="14"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">3</td><td class="ctr2" id="i1">3</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a1"><a href="FcfsController.java.html#L48" class="el_method">getFcfsTutorialPage()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="49" height="10" title="7" alt="7"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">2</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a3"><a href="FcfsController.java.html#L27" class="el_method">static {...}</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="28" height="10" title="4" alt="4"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">1</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.controller/FcfsController.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.controller/FcfsController.java.html
    deleted file mode 100644
    index 3e23946d..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.controller/FcfsController.java.html
    +++ /dev/null
    @@ -1,67 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>FcfsController.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.fcfs.controller</a> &gt; <span class="el_source">FcfsController.java</span></div><h1>FcfsController.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.fcfs.controller;
    -
    -import com.softeer.backend.fo_domain.fcfs.dto.FcfsPageResponseDto;
    -import com.softeer.backend.fo_domain.fcfs.dto.FcfsRequestDto;
    -import com.softeer.backend.fo_domain.fcfs.dto.result.FcfsResult;
    -import com.softeer.backend.fo_domain.fcfs.dto.result.FcfsResultResponseDto;
    -import com.softeer.backend.fo_domain.fcfs.service.FcfsService;
    -import com.softeer.backend.global.annotation.AuthInfo;
    -import com.softeer.backend.global.common.response.ResponseDto;
    -import io.swagger.v3.oas.annotations.Parameter;
    -import io.swagger.v3.oas.annotations.tags.Tag;
    -import jakarta.servlet.http.HttpServletRequest;
    -import jakarta.servlet.http.HttpSession;
    -import lombok.RequiredArgsConstructor;
    -import lombok.extern.slf4j.Slf4j;
    -import org.springframework.http.HttpHeaders;
    -import org.springframework.http.HttpStatus;
    -import org.springframework.http.ResponseEntity;
    -import org.springframework.stereotype.Controller;
    -import org.springframework.web.bind.annotation.*;
    -import org.springframework.web.servlet.mvc.support.RedirectAttributes;
    -
    -import java.net.URI;
    -import java.net.URLEncoder;
    -import java.nio.charset.StandardCharsets;
    -
    -<span class="nc" id="L27">@Slf4j</span>
    -@RestController
    -@RequiredArgsConstructor
    -@RequestMapping(&quot;/fcfs&quot;)
    -@Tag(name = &quot;Fcfs Controller&quot;, description = &quot;선착순 API&quot;)
    -public class FcfsController {
    -    private final FcfsService fcfsService;
    -
    -    @GetMapping
    -    public ResponseDto&lt;FcfsPageResponseDto&gt; getFcfsPage(@Parameter(hidden = true) HttpServletRequest request) {
    -
    -<span class="nc" id="L38">        int round = (Integer) request.getAttribute(&quot;round&quot;);</span>
    -
    -<span class="nc" id="L40">        FcfsPageResponseDto fcfsPageResponseDto = fcfsService.getFcfsPage(round);</span>
    -
    -<span class="nc" id="L42">        return ResponseDto.onSuccess(fcfsPageResponseDto);</span>
    -    }
    -
    -    @GetMapping(&quot;/tutorial&quot;)
    -    public ResponseDto&lt;FcfsPageResponseDto&gt; getFcfsTutorialPage() {
    -
    -<span class="nc" id="L48">        FcfsPageResponseDto fcfsPageResponseDto = fcfsService.getFcfsTutorialPage();</span>
    -
    -<span class="nc" id="L50">        return ResponseDto.onSuccess(fcfsPageResponseDto);</span>
    -    }
    -
    -    @PostMapping
    -    public ResponseDto&lt;FcfsResultResponseDto&gt; handleFcfs(@Parameter(hidden = true) HttpServletRequest request,
    -                                     @Parameter(hidden = true) @AuthInfo Integer userId,
    -                                     @RequestBody FcfsRequestDto fcfsRequestDto) {
    -
    -<span class="nc" id="L58">        int round = (Integer) request.getAttribute(&quot;round&quot;);</span>
    -
    -<span class="nc" id="L60">        FcfsResultResponseDto fcfsResultResponseDto = fcfsService.handleFcfsEvent(userId, round, fcfsRequestDto);</span>
    -
    -<span class="nc" id="L62">        return ResponseDto.onSuccess(fcfsResultResponseDto);</span>
    -    }
    -
    -
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.controller/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.controller/index.html
    deleted file mode 100644
    index 3ec30809..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.controller/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.fcfs.controller</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.fcfs.controller</span></div><h1>com.softeer.backend.fo_domain.fcfs.controller</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">42 of 42</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">9</td><td class="ctr2">9</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="FcfsController.html" class="el_class">FcfsController</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="42" alt="42"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">9</td><td class="ctr2" id="i0">9</td><td class="ctr1" id="j0">4</td><td class="ctr2" id="k0">4</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.controller/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.controller/index.source.html
    deleted file mode 100644
    index 5c45fdef..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.controller/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.fcfs.controller</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.fcfs.controller</span></div><h1>com.softeer.backend.fo_domain.fcfs.controller</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">42 of 42</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">9</td><td class="ctr2">9</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="FcfsController.java.html" class="el_source">FcfsController.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="42" alt="42"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">9</td><td class="ctr2" id="i0">9</td><td class="ctr1" id="j0">4</td><td class="ctr2" id="k0">4</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.exception/FcfsException.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.exception/FcfsException.html
    deleted file mode 100644
    index 1e8e55bb..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.exception/FcfsException.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>FcfsException</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.fcfs.exception</a> &gt; <span class="el_class">FcfsException</span></div><h1>FcfsException</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="FcfsException.java.html#L9" class="el_method">FcfsException(BaseErrorCode)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.exception/FcfsException.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.exception/FcfsException.java.html
    deleted file mode 100644
    index 5a55fefc..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.exception/FcfsException.java.html
    +++ /dev/null
    @@ -1,12 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>FcfsException.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.fcfs.exception</a> &gt; <span class="el_source">FcfsException.java</span></div><h1>FcfsException.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.fcfs.exception;
    -
    -import com.softeer.backend.global.common.code.BaseErrorCode;
    -import com.softeer.backend.global.common.exception.GeneralException;
    -
    -public class FcfsException extends GeneralException {
    -
    -    public FcfsException(BaseErrorCode code) {
    -<span class="nc" id="L9">        super(code);</span>
    -<span class="nc" id="L10">    }</span>
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.exception/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.exception/index.html
    deleted file mode 100644
    index 74ce8b33..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.exception/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.fcfs.exception</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.fcfs.exception</span></div><h1>com.softeer.backend.fo_domain.fcfs.exception</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="FcfsException.html" class="el_class">FcfsException</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.exception/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.exception/index.source.html
    deleted file mode 100644
    index 475fa5df..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.exception/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.fcfs.exception</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.fcfs.exception</span></div><h1>com.softeer.backend.fo_domain.fcfs.exception</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="FcfsException.java.html" class="el_source">FcfsException.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.interceptor/FcfsTimeCheckInterceptor.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.interceptor/FcfsTimeCheckInterceptor.html
    deleted file mode 100644
    index 48fb9800..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.interceptor/FcfsTimeCheckInterceptor.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>FcfsTimeCheckInterceptor</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.fcfs.interceptor</a> &gt; <span class="el_class">FcfsTimeCheckInterceptor</span></div><h1>FcfsTimeCheckInterceptor</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">37 of 37</td><td class="ctr2">0%</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">10</td><td class="ctr2">10</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="FcfsTimeCheckInterceptor.java.html#L26" class="el_method">preHandle(HttpServletRequest, HttpServletResponse, Object)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="33" alt="33"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">9</td><td class="ctr2" id="i0">9</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="FcfsTimeCheckInterceptor.java.html#L16" class="el_method">static {...}</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="14" height="10" title="4" alt="4"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.interceptor/FcfsTimeCheckInterceptor.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.interceptor/FcfsTimeCheckInterceptor.java.html
    deleted file mode 100644
    index 27fe3372..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.interceptor/FcfsTimeCheckInterceptor.java.html
    +++ /dev/null
    @@ -1,45 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>FcfsTimeCheckInterceptor.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.fcfs.interceptor</a> &gt; <span class="el_source">FcfsTimeCheckInterceptor.java</span></div><h1>FcfsTimeCheckInterceptor.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.fcfs.interceptor;
    -
    -import com.softeer.backend.fo_domain.fcfs.exception.FcfsException;
    -import com.softeer.backend.fo_domain.fcfs.service.FcfsSettingManager;
    -import com.softeer.backend.global.common.code.status.ErrorStatus;
    -import jakarta.servlet.http.HttpServletRequest;
    -import jakarta.servlet.http.HttpServletResponse;
    -import lombok.RequiredArgsConstructor;
    -import lombok.extern.slf4j.Slf4j;
    -import org.springframework.stereotype.Component;
    -import org.springframework.web.cors.CorsUtils;
    -import org.springframework.web.servlet.HandlerInterceptor;
    -
    -import java.time.LocalDateTime;
    -
    -<span class="nc" id="L16">@Slf4j</span>
    -@Component
    -@RequiredArgsConstructor
    -public class FcfsTimeCheckInterceptor implements HandlerInterceptor {
    -
    -    private final FcfsSettingManager fcfsSettingManager;
    -
    -    @Override
    -    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
    -
    -<span class="nc bnc" id="L26" title="All 2 branches missed.">        if(CorsUtils.isPreFlightRequest(request))</span>
    -<span class="nc" id="L27">            return true;</span>
    -
    -<span class="nc" id="L29">        LocalDateTime now = LocalDateTime.now();</span>
    -
    -<span class="nc bnc" id="L31" title="All 2 branches missed.">        if(!fcfsSettingManager.isFcfsEntryAvailable(now)){</span>
    -
    -<span class="nc" id="L33">            log.error(&quot;Cannot access the FCFS event&quot;);</span>
    -<span class="nc" id="L34">            throw new FcfsException(ErrorStatus._BAD_REQUEST);</span>
    -        }
    -
    -
    -<span class="nc" id="L38">        int round = fcfsSettingManager.getFcfsRound(now);</span>
    -<span class="nc" id="L39">        request.setAttribute(&quot;round&quot;, round);</span>
    -
    -
    -<span class="nc" id="L42">        return true;</span>
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.interceptor/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.interceptor/index.html
    deleted file mode 100644
    index b3964ed0..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.interceptor/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.fcfs.interceptor</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.fcfs.interceptor</span></div><h1>com.softeer.backend.fo_domain.fcfs.interceptor</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">37 of 37</td><td class="ctr2">0%</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">10</td><td class="ctr2">10</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="FcfsTimeCheckInterceptor.html" class="el_class">FcfsTimeCheckInterceptor</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="37" alt="37"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">10</td><td class="ctr2" id="i0">10</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.interceptor/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.interceptor/index.source.html
    deleted file mode 100644
    index 152426dd..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.interceptor/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.fcfs.interceptor</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.fcfs.interceptor</span></div><h1>com.softeer.backend.fo_domain.fcfs.interceptor</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">37 of 37</td><td class="ctr2">0%</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">10</td><td class="ctr2">10</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="FcfsTimeCheckInterceptor.java.html" class="el_source">FcfsTimeCheckInterceptor.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="37" alt="37"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">10</td><td class="ctr2" id="i0">10</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/FcfsService.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/FcfsService.html
    deleted file mode 100644
    index 7bf836c2..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/FcfsService.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>FcfsService</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.fcfs.service</a> &gt; <span class="el_class">FcfsService</span></div><h1>FcfsService</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">400 of 400</td><td class="ctr2">0%</td><td class="bar">14 of 14</td><td class="ctr2">0%</td><td class="ctr1">17</td><td class="ctr2">17</td><td class="ctr1">80</td><td class="ctr2">80</td><td class="ctr1">10</td><td class="ctr2">10</td></tr></tfoot><tbody><tr><td id="a8"><a href="FcfsService.java.html#L103" class="el_method">saveFcfsWinners(int, int)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="97" alt="97"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="8" alt="8"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">5</td><td class="ctr2" id="g0">5</td><td class="ctr1" id="h1">14</td><td class="ctr2" id="i1">14</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a4"><a href="FcfsService.java.html#L177" class="el_method">getFcfsSuccessResult(Map, Map, FcfsSettingDto)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="101" height="10" title="82" alt="82"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h2">12</td><td class="ctr2" id="i2">12</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a3"><a href="FcfsService.java.html#L146" class="el_method">getFcfsResult(boolean, String)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="58" height="10" title="47" alt="47"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"><img src="../jacoco-resources/redbar.gif" width="30" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f2">2</td><td class="ctr2" id="g2">2</td><td class="ctr1" id="h0">16</td><td class="ctr2" id="i0">16</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a6"><a href="FcfsService.java.html#L85" class="el_method">handleFcfsEvent(int, int, FcfsRequestDto)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="56" height="10" title="46" alt="46"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="60" height="10" title="4" alt="4"/></td><td class="ctr2" id="e2">0%</td><td class="ctr1" id="f1">3</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h5">9</td><td class="ctr2" id="i5">9</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a2"><a href="FcfsService.java.html#L51" class="el_method">getFcfsPage(int)</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="51" height="10" title="42" alt="42"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h3">10</td><td class="ctr2" id="i3">10</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a5"><a href="FcfsService.java.html#L66" class="el_method">getFcfsTutorialPage()</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="50" height="10" title="41" alt="41"/></td><td class="ctr2" id="c5">0%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">1</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h4">10</td><td class="ctr2" id="i4">10</td><td class="ctr1" id="j5">1</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a1"><a href="FcfsService.java.html#L194" class="el_method">getFcfsFailResult(Map)</a></td><td class="bar" id="b6"><img src="../jacoco-resources/redbar.gif" width="25" height="10" title="21" alt="21"/></td><td class="ctr2" id="c6">0%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">1</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h6">5</td><td class="ctr2" id="i6">5</td><td class="ctr1" id="j6">1</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a7"><a href="FcfsService.java.html#L137" class="el_method">makeFcfsCode(int)</a></td><td class="bar" id="b7"><img src="../jacoco-resources/redbar.gif" width="14" height="10" title="12" alt="12"/></td><td class="ctr2" id="c7">0%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">1</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h8">1</td><td class="ctr2" id="i8">1</td><td class="ctr1" id="j7">1</td><td class="ctr2" id="k7">1</td></tr><tr><td id="a0"><a href="FcfsService.java.html#L141" class="el_method">countFcfsParticipant(int)</a></td><td class="bar" id="b8"><img src="../jacoco-resources/redbar.gif" width="9" height="10" title="8" alt="8"/></td><td class="ctr2" id="c8">0%</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f8">1</td><td class="ctr2" id="g8">1</td><td class="ctr1" id="h7">2</td><td class="ctr2" id="i7">2</td><td class="ctr1" id="j8">1</td><td class="ctr2" id="k8">1</td></tr><tr><td id="a9"><a href="FcfsService.java.html#L34" class="el_method">static {...}</a></td><td class="bar" id="b9"><img src="../jacoco-resources/redbar.gif" width="4" height="10" title="4" alt="4"/></td><td class="ctr2" id="c9">0%</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f9">1</td><td class="ctr2" id="g9">1</td><td class="ctr1" id="h9">1</td><td class="ctr2" id="i9">1</td><td class="ctr1" id="j9">1</td><td class="ctr2" id="k9">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/FcfsService.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/FcfsService.java.html
    deleted file mode 100644
    index 646b47ef..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/FcfsService.java.html
    +++ /dev/null
    @@ -1,202 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>FcfsService.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.fcfs.service</a> &gt; <span class="el_source">FcfsService.java</span></div><h1>FcfsService.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.fcfs.service;
    -
    -import com.softeer.backend.fo_domain.draw.service.DrawSettingManager;
    -import com.softeer.backend.fo_domain.fcfs.dto.*;
    -import com.softeer.backend.fo_domain.fcfs.dto.result.FcfsFailResult;
    -import com.softeer.backend.fo_domain.fcfs.dto.result.FcfsResultResponseDto;
    -import com.softeer.backend.fo_domain.fcfs.dto.result.FcfsSuccessResult;
    -import com.softeer.backend.fo_domain.fcfs.exception.FcfsException;
    -import com.softeer.backend.global.annotation.EventLock;
    -import com.softeer.backend.global.common.code.status.ErrorStatus;
    -import com.softeer.backend.global.common.constant.RedisKeyPrefix;
    -import com.softeer.backend.global.staticresources.constant.S3FileName;
    -import com.softeer.backend.global.staticresources.constant.StaticTextName;
    -import com.softeer.backend.global.staticresources.domain.S3Content;
    -import com.softeer.backend.global.staticresources.domain.TextContent;
    -import com.softeer.backend.global.staticresources.repository.S3ContentRepository;
    -import com.softeer.backend.global.staticresources.repository.TextContentRepository;
    -import com.softeer.backend.global.staticresources.util.StaticResourceUtil;
    -import com.softeer.backend.global.util.FcfsRedisUtil;
    -import com.softeer.backend.global.util.RandomCodeUtil;
    -import lombok.RequiredArgsConstructor;
    -import lombok.extern.slf4j.Slf4j;
    -import org.springframework.beans.factory.ObjectProvider;
    -import org.springframework.cache.annotation.Cacheable;
    -import org.springframework.stereotype.Service;
    -
    -import java.time.format.DateTimeFormatter;
    -import java.util.Map;
    -import java.util.stream.Collectors;
    -
    -/**
    - * 선착순 관련 이벤트를 처리하는 클래스
    - */
    -<span class="nc" id="L34">@Slf4j</span>
    -@Service
    -@RequiredArgsConstructor
    -public class FcfsService {
    -    DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern(&quot;M월 d일&quot;);
    -    private final ObjectProvider&lt;FcfsService&gt; fcfsServiceProvider;
    -
    -    private final FcfsSettingManager fcfsSettingManager;
    -    private final DrawSettingManager drawSettingManager;
    -    private final QuizManager quizManager;
    -    private final FcfsRedisUtil fcfsRedisUtil;
    -    private final RandomCodeUtil randomCodeUtil;
    -    private final StaticResourceUtil staticResourceUtil;
    -
    -
    -    public FcfsPageResponseDto getFcfsPage(int round) {
    -
    -<span class="nc" id="L51">        QuizDto quiz = quizManager.getQuiz(round);</span>
    -<span class="nc" id="L52">        Map&lt;String, String&gt; textContentMap = staticResourceUtil.getTextContentMap();</span>
    -
    -<span class="nc" id="L54">        return FcfsPageResponseDto.builder()</span>
    -<span class="nc" id="L55">                .answerWord(quiz.getAnswerWord())</span>
    -<span class="nc" id="L56">                .answerSentence(quiz.getAnswerSentence())</span>
    -<span class="nc" id="L57">                .startIndex(quiz.getStartIndex())</span>
    -<span class="nc" id="L58">                .endIndex(quiz.getEndIndex())</span>
    -<span class="nc" id="L59">                .quizDescription(staticResourceUtil.format(textContentMap.get(StaticTextName.FCFS_QUIZ_DESCRIPTION.name()),</span>
    -<span class="nc" id="L60">                        fcfsSettingManager.getFcfsWinnerNum()))</span>
    -<span class="nc" id="L61">                .build();</span>
    -    }
    -
    -    public FcfsPageResponseDto getFcfsTutorialPage() {
    -
    -<span class="nc" id="L66">        QuizDto tutorialQuiz = quizManager.getTutorialQuiz();</span>
    -<span class="nc" id="L67">        Map&lt;String, String&gt; textContentMap = staticResourceUtil.getTextContentMap();</span>
    -
    -<span class="nc" id="L69">        return FcfsPageResponseDto.builder()</span>
    -<span class="nc" id="L70">                .answerWord(tutorialQuiz.getAnswerWord())</span>
    -<span class="nc" id="L71">                .answerSentence(tutorialQuiz.getAnswerSentence())</span>
    -<span class="nc" id="L72">                .startIndex(tutorialQuiz.getStartIndex())</span>
    -<span class="nc" id="L73">                .endIndex(tutorialQuiz.getEndIndex())</span>
    -<span class="nc" id="L74">                .quizDescription(staticResourceUtil.format(textContentMap.get(StaticTextName.FCFS_QUIZ_DESCRIPTION.name()),</span>
    -<span class="nc" id="L75">                        fcfsSettingManager.getFcfsWinnerNum()))</span>
    -<span class="nc" id="L76">                .build();</span>
    -    }
    -
    -    /**
    -     * 1. 선착순 당첨자가 아직 다 결정되지 않았으면, 선착순 당첨 응답 생성 및 반환
    -     * 2. 선착순 당첨자가 다 결정됐다면, Redisson lock을 사용하지 않고 Redis에 저장된 선착순 이벤트 참여자 수를 1명씩 더한다.
    -     */
    -    public FcfsResultResponseDto handleFcfsEvent(int userId, int round, FcfsRequestDto fcfsRequestDto) {
    -
    -<span class="nc bnc" id="L85" title="All 2 branches missed.">        if(!fcfsRequestDto.getAnswer().equals(quizManager.getQuiz(round).getAnswerWord())) {</span>
    -<span class="nc" id="L86">            log.error(&quot;fcfs quiz answer is not match, correct answer: {}, wrong anwer: {}&quot;,</span>
    -<span class="nc" id="L87">                    quizManager.getQuiz(round).getAnswerWord(), fcfsRequestDto.getAnswer());</span>
    -<span class="nc" id="L88">            throw new FcfsException(ErrorStatus._BAD_REQUEST);</span>
    -        }
    -
    -<span class="nc bnc" id="L91" title="All 2 branches missed.">        if (fcfsSettingManager.isFcfsClosed()){</span>
    -<span class="nc" id="L92">            countFcfsParticipant(round);</span>
    -
    -<span class="nc" id="L94">            return getFcfsResult(false, null);</span>
    -        }
    -<span class="nc" id="L96">        FcfsService fcfsService = fcfsServiceProvider.getObject();</span>
    -<span class="nc" id="L97">        return fcfsService.saveFcfsWinners(userId, round);</span>
    -    }
    -
    -    @EventLock(key = &quot;FCFS_#{#round}&quot;)
    -    public FcfsResultResponseDto saveFcfsWinners(int userId, int round) {
    -
    -<span class="nc" id="L103">        long numOfWinners = fcfsRedisUtil.getIntegerSetSize(RedisKeyPrefix.FCFS_USERID_PREFIX.getPrefix() + round);</span>
    -
    -<span class="nc bnc" id="L105" title="All 2 branches missed.">        if (numOfWinners &lt; fcfsSettingManager.getFcfsWinnerNum()</span>
    -<span class="nc bnc" id="L106" title="All 2 branches missed.">                &amp;&amp; !fcfsRedisUtil.isValueInIntegerSet(RedisKeyPrefix.FCFS_USERID_PREFIX.getPrefix() + round, userId)) {</span>
    -
    -            // redis에 userId 등록
    -<span class="nc" id="L109">            fcfsRedisUtil.addToIntegerSet(RedisKeyPrefix.FCFS_USERID_PREFIX.getPrefix() + round, userId);</span>
    -
    -            // redis에 code 등록
    -<span class="nc" id="L112">            String code = makeFcfsCode(round);</span>
    -<span class="nc bnc" id="L113" title="All 2 branches missed.">            while (fcfsRedisUtil.isValueInStringSet(RedisKeyPrefix.FCFS_CODE_PREFIX.getPrefix() + round, code)) {</span>
    -<span class="nc" id="L114">                code = makeFcfsCode(round);</span>
    -            }
    -<span class="nc" id="L116">            fcfsRedisUtil.addToStringSet(RedisKeyPrefix.FCFS_CODE_PREFIX.getPrefix() + round, code);</span>
    -
    -            // redis에 code-userId 형태로 등록(hash)
    -<span class="nc" id="L119">            fcfsRedisUtil.addToHash(RedisKeyPrefix.FCFS_CODE_USERID_PREFIX.getPrefix() + round, code, userId);</span>
    -
    -            // redis에 선착순 참가자 수 +1
    -<span class="nc" id="L122">            countFcfsParticipant(round);</span>
    -
    -            // 선착순 당첨이 마감되면 FcfsSettingManager의 fcfsClodes 변수값을 true로 설정
    -<span class="nc bnc" id="L125" title="All 2 branches missed.">            if (numOfWinners + 1 == fcfsSettingManager.getFcfsWinnerNum()) {</span>
    -<span class="nc" id="L126">                fcfsSettingManager.setFcfsClosed(true);</span>
    -            }
    -
    -<span class="nc" id="L129">            return getFcfsResult(true, code);</span>
    -        }
    -
    -<span class="nc" id="L132">        return getFcfsResult(false, null);</span>
    -
    -    }
    -
    -    private String makeFcfsCode(int round){
    -<span class="nc" id="L137">        return (char)('A'+round-1) + randomCodeUtil.generateRandomCode(5);</span>
    -    }
    -
    -    private void countFcfsParticipant(int round) {
    -<span class="nc" id="L141">        fcfsRedisUtil.incrementValue(RedisKeyPrefix.FCFS_PARTICIPANT_COUNT_PREFIX.getPrefix() + round);</span>
    -<span class="nc" id="L142">    }</span>
    -
    -    public FcfsResultResponseDto getFcfsResult(boolean fcfsWin, String fcfsCode){
    -
    -<span class="nc" id="L146">        Map&lt;String, String&gt; textContentMap = staticResourceUtil.getTextContentMap();</span>
    -<span class="nc" id="L147">        Map&lt;String, String&gt; s3ContentMap = staticResourceUtil.getS3ContentMap();</span>
    -
    -<span class="nc" id="L149">        FcfsSettingDto firstFcfsSetting = fcfsSettingManager.getFcfsSettingByRound(1);</span>
    -
    -<span class="nc" id="L151">        FcfsService fcfsService = fcfsServiceProvider.getObject();</span>
    -
    -<span class="nc bnc" id="L153" title="All 2 branches missed.">        if(fcfsWin){</span>
    -<span class="nc" id="L154">            FcfsSuccessResult fcfsSuccessResult = fcfsService.getFcfsSuccessResult(</span>
    -                    textContentMap, s3ContentMap, firstFcfsSetting
    -            );
    -<span class="nc" id="L157">            fcfsSuccessResult.setFcfsCode(fcfsCode);</span>
    -
    -<span class="nc" id="L159">            return FcfsResultResponseDto.builder()</span>
    -<span class="nc" id="L160">                    .isFcfsWinner(fcfsWin)</span>
    -<span class="nc" id="L161">                    .fcfsResult(fcfsSuccessResult)</span>
    -<span class="nc" id="L162">                    .build();</span>
    -        }
    -
    -<span class="nc" id="L165">        FcfsFailResult fcfsFailResult = fcfsService.getFcfsFailResult(textContentMap);</span>
    -
    -<span class="nc" id="L167">        return FcfsResultResponseDto.builder()</span>
    -<span class="nc" id="L168">                .isFcfsWinner(fcfsWin)</span>
    -<span class="nc" id="L169">                .fcfsResult(fcfsFailResult)</span>
    -<span class="nc" id="L170">                .build();</span>
    -    }
    -
    -    @Cacheable(value = &quot;staticResources&quot;, key = &quot;'fcfsSuccess'&quot;)
    -    public FcfsSuccessResult getFcfsSuccessResult(Map&lt;String, String&gt; textContentMap, Map&lt;String, String&gt; s3ContentMap,
    -                                                  FcfsSettingDto firstFcfsSetting){
    -
    -<span class="nc" id="L177">        return FcfsSuccessResult.builder()</span>
    -<span class="nc" id="L178">                .title(staticResourceUtil.format(textContentMap.get(StaticTextName.FCFS_WINNER_TITLE.name()),</span>
    -<span class="nc" id="L179">                        fcfsSettingManager.getFcfsWinnerNum()))</span>
    -<span class="nc" id="L180">                .subTitle(textContentMap.get(StaticTextName.FCFS_WINNER_SUBTITLE.name()))</span>
    -<span class="nc" id="L181">                .qrCode(s3ContentMap.get(S3FileName.BARCODE_IMAGE.name()))</span>
    -<span class="nc" id="L182">                .codeWord(textContentMap.get(StaticTextName.FCFS_WINNER_CODE_WORD.name()))</span>
    -<span class="nc" id="L183">                .expirationDate(staticResourceUtil.format(textContentMap.get(StaticTextName.FCFS_WINNER_EXPIRY_DATE.name()),</span>
    -<span class="nc" id="L184">                        firstFcfsSetting.getStartTime().getYear(),</span>
    -<span class="nc" id="L185">                        firstFcfsSetting.getStartTime().format(dateFormatter),</span>
    -<span class="nc" id="L186">                        drawSettingManager.getEndDate().plusDays(14).format(dateFormatter)))</span>
    -<span class="nc" id="L187">                .caution(textContentMap.get(StaticTextName.FCFS_WINNER_CAUTION.name()))</span>
    -<span class="nc" id="L188">                .build();</span>
    -    }
    -
    -    @Cacheable(value = &quot;staticResources&quot;, key = &quot;'fcfsFail'&quot;)
    -    public FcfsFailResult getFcfsFailResult(Map&lt;String, String&gt; textContentMap){
    -
    -<span class="nc" id="L194">        return FcfsFailResult.builder()</span>
    -<span class="nc" id="L195">                .title(textContentMap.get(StaticTextName.FCFS_LOSER_TITLE.name()))</span>
    -<span class="nc" id="L196">                .subTitle(textContentMap.get(StaticTextName.FCFS_LOSER_SUBTITLE.name()))</span>
    -<span class="nc" id="L197">                .caution(textContentMap.get(StaticTextName.FCFS_LOSER_CAUTION.name()))</span>
    -<span class="nc" id="L198">                .build();</span>
    -    }
    -
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/FcfsSettingManager.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/FcfsSettingManager.html
    deleted file mode 100644
    index 6bcb650c..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/FcfsSettingManager.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>FcfsSettingManager</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.fcfs.service</a> &gt; <span class="el_class">FcfsSettingManager</span></div><h1>FcfsSettingManager</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">231 of 231</td><td class="ctr2">0%</td><td class="bar">32 of 32</td><td class="ctr2">0%</td><td class="ctr1">28</td><td class="ctr2">28</td><td class="ctr1">57</td><td class="ctr2">57</td><td class="ctr1">12</td><td class="ctr2">12</td></tr></tfoot><tbody><tr><td id="a0"><a href="FcfsSettingManager.java.html#L120" class="el_method">getFcfsRound(LocalDateTime)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="40" alt="40"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="10" alt="10"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">6</td><td class="ctr2" id="g0">6</td><td class="ctr1" id="h0">8</td><td class="ctr2" id="i0">8</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a6"><a href="FcfsSettingManager.java.html#L106" class="el_method">isFcfsEntryAvailable(LocalDateTime)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="114" height="10" title="38" alt="38"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="10" alt="10"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f1">6</td><td class="ctr2" id="g1">6</td><td class="ctr1" id="h1">8</td><td class="ctr2" id="i1">8</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a4"><a href="FcfsSettingManager.java.html#L87" class="el_method">getRoundForScheduler(LocalDate)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="93" height="10" title="31" alt="31"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"><img src="../jacoco-resources/redbar.gif" width="72" height="10" title="6" alt="6"/></td><td class="ctr2" id="e2">0%</td><td class="ctr1" id="f2">4</td><td class="ctr2" id="g2">4</td><td class="ctr1" id="h2">8</td><td class="ctr2" id="i2">8</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a9"><a href="FcfsSettingManager.java.html#L57" class="el_method">loadInitialData()</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="78" height="10" title="26" alt="26"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d4"><img src="../jacoco-resources/redbar.gif" width="24" height="10" title="2" alt="2"/></td><td class="ctr2" id="e3">0%</td><td class="ctr1" id="f4">2</td><td class="ctr2" id="g4">2</td><td class="ctr1" id="h5">6</td><td class="ctr2" id="i5">6</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a3"><a href="FcfsSettingManager.java.html#L134" class="el_method">getNextFcfsTime(LocalDateTime)</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="69" height="10" title="23" alt="23"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d3"><img src="../jacoco-resources/redbar.gif" width="48" height="10" title="4" alt="4"/></td><td class="ctr2" id="e4">0%</td><td class="ctr1" id="f3">3</td><td class="ctr2" id="g3">3</td><td class="ctr1" id="h6">6</td><td class="ctr2" id="i6">6</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a8"><a href="FcfsSettingManager.java.html#L77" class="el_method">lambda$setFcfsSettingList$1(FcfsSetting)</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="69" height="10" title="23" alt="23"/></td><td class="ctr2" id="c5">0%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">1</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h3">7</td><td class="ctr2" id="i3">7</td><td class="ctr1" id="j5">1</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a7"><a href="FcfsSettingManager.java.html#L65" class="el_method">lambda$loadInitialData$0(FcfsSetting)</a></td><td class="bar" id="b6"><img src="../jacoco-resources/redbar.gif" width="69" height="10" title="23" alt="23"/></td><td class="ctr2" id="c6">0%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">1</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h4">7</td><td class="ctr2" id="i4">7</td><td class="ctr1" id="j6">1</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a1"><a href="FcfsSettingManager.java.html#L49" class="el_method">getFcfsSettingByRound(int)</a></td><td class="bar" id="b7"><img src="../jacoco-resources/redbar.gif" width="24" height="10" title="8" alt="8"/></td><td class="ctr2" id="c7">0%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">1</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h9">1</td><td class="ctr2" id="i9">1</td><td class="ctr1" id="j7">1</td><td class="ctr2" id="k7">1</td></tr><tr><td id="a2"><a href="FcfsSettingManager.java.html#L102" class="el_method">getFcfsWinnerNum()</a></td><td class="bar" id="b8"><img src="../jacoco-resources/redbar.gif" width="21" height="10" title="7" alt="7"/></td><td class="ctr2" id="c8">0%</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f8">1</td><td class="ctr2" id="g8">1</td><td class="ctr1" id="h10">1</td><td class="ctr2" id="i10">1</td><td class="ctr1" id="j8">1</td><td class="ctr2" id="k8">1</td></tr><tr><td id="a10"><a href="FcfsSettingManager.java.html#L76" class="el_method">setFcfsSettingList(List)</a></td><td class="bar" id="b9"><img src="../jacoco-resources/redbar.gif" width="15" height="10" title="5" alt="5"/></td><td class="ctr2" id="c9">0%</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f9">1</td><td class="ctr2" id="g9">1</td><td class="ctr1" id="h7">2</td><td class="ctr2" id="i7">2</td><td class="ctr1" id="j9">1</td><td class="ctr2" id="k9">1</td></tr><tr><td id="a11"><a href="FcfsSettingManager.java.html#L26" class="el_method">static {...}</a></td><td class="bar" id="b10"><img src="../jacoco-resources/redbar.gif" width="12" height="10" title="4" alt="4"/></td><td class="ctr2" id="c10">0%</td><td class="bar" id="d10"/><td class="ctr2" id="e10">n/a</td><td class="ctr1" id="f10">1</td><td class="ctr2" id="g10">1</td><td class="ctr1" id="h11">1</td><td class="ctr2" id="i11">1</td><td class="ctr1" id="j10">1</td><td class="ctr2" id="k10">1</td></tr><tr><td id="a5"><a href="FcfsSettingManager.java.html#L45" class="el_method">init()</a></td><td class="bar" id="b11"><img src="../jacoco-resources/redbar.gif" width="9" height="10" title="3" alt="3"/></td><td class="ctr2" id="c11">0%</td><td class="bar" id="d11"/><td class="ctr2" id="e11">n/a</td><td class="ctr1" id="f11">1</td><td class="ctr2" id="g11">1</td><td class="ctr1" id="h8">2</td><td class="ctr2" id="i8">2</td><td class="ctr1" id="j11">1</td><td class="ctr2" id="k11">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/FcfsSettingManager.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/FcfsSettingManager.java.html
    deleted file mode 100644
    index d6dc630a..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/FcfsSettingManager.java.html
    +++ /dev/null
    @@ -1,145 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>FcfsSettingManager.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.fcfs.service</a> &gt; <span class="el_source">FcfsSettingManager.java</span></div><h1>FcfsSettingManager.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.fcfs.service;
    -
    -import com.softeer.backend.bo_domain.eventparticipation.repository.EventParticipationRepository;
    -import com.softeer.backend.fo_domain.fcfs.domain.FcfsSetting;
    -import com.softeer.backend.fo_domain.fcfs.domain.Quiz;
    -import com.softeer.backend.fo_domain.fcfs.dto.FcfsSettingDto;
    -import com.softeer.backend.fo_domain.fcfs.dto.QuizDto;
    -import com.softeer.backend.fo_domain.fcfs.repository.FcfsSettingRepository;
    -import com.softeer.backend.fo_domain.fcfs.repository.QuizRepository;
    -import com.softeer.backend.global.util.EventLockRedisUtil;
    -import jakarta.annotation.PostConstruct;
    -import lombok.*;
    -import lombok.extern.slf4j.Slf4j;
    -import org.springframework.data.domain.Sort;
    -import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
    -import org.springframework.stereotype.Component;
    -
    -import java.time.LocalDate;
    -import java.time.LocalDateTime;
    -import java.util.ArrayList;
    -import java.util.List;
    -
    -/**
    - * 선착순 이벤트 정보를 관리하는 클래스
    - */
    -<span class="nc" id="L26">@Slf4j</span>
    -@Getter
    -@Component
    -@RequiredArgsConstructor
    -public class FcfsSettingManager {
    -
    -    private final FcfsSettingRepository fcfsSettingRepository;
    -    private final ThreadPoolTaskScheduler taskScheduler;
    -    private final EventLockRedisUtil eventLockRedisUtil;
    -    private final EventParticipationRepository eventParticipationRepository;
    -    private final QuizRepository quizRepository;
    -
    -    private List&lt;FcfsSettingDto&gt; fcfsSettingList;
    -
    -    @Setter
    -    private boolean isFcfsClosed = false;
    -
    -    @PostConstruct
    -    public void init() {
    -<span class="nc" id="L45">        loadInitialData();</span>
    -<span class="nc" id="L46">    }</span>
    -
    -    public FcfsSettingDto getFcfsSettingByRound(int round) {
    -<span class="nc" id="L49">        return fcfsSettingList.get(round - 1);</span>
    -    }
    -
    -    /**
    -     * round 1에 해당하는 선착순 이벤트 속성으로 초기화
    -     */
    -    public void loadInitialData() {
    -
    -<span class="nc" id="L57">        List&lt;FcfsSetting&gt; fcfsSettings = fcfsSettingRepository.findAll();</span>
    -<span class="nc" id="L58">        fcfsSettingList = new ArrayList&lt;&gt;();</span>
    -
    -<span class="nc bnc" id="L60" title="All 2 branches missed.">        for (int i = 0; i &lt; 4; i++) {</span>
    -<span class="nc" id="L61">            fcfsSettingList.add(null);  // 인덱스 0부터 3까지 빈 슬롯을 추가</span>
    -        }
    -
    -<span class="nc" id="L64">        fcfsSettings.forEach((fcfsSetting) -&gt; {</span>
    -<span class="nc" id="L65">            fcfsSettingList.set(fcfsSetting.getRound() - 1, FcfsSettingDto.builder()</span>
    -<span class="nc" id="L66">                    .round(fcfsSetting.getRound())</span>
    -<span class="nc" id="L67">                    .startTime(fcfsSetting.getStartTime())</span>
    -<span class="nc" id="L68">                    .endTime(fcfsSetting.getEndTime())</span>
    -<span class="nc" id="L69">                    .winnerNum(fcfsSetting.getWinnerNum())</span>
    -<span class="nc" id="L70">                    .build());</span>
    -<span class="nc" id="L71">        });</span>
    -<span class="nc" id="L72">    }</span>
    -
    -    public void setFcfsSettingList(List&lt;FcfsSetting&gt; fcfsSettings){
    -
    -<span class="nc" id="L76">        fcfsSettings.forEach((fcfsSetting) -&gt; {</span>
    -<span class="nc" id="L77">            fcfsSettingList.set(fcfsSetting.getRound() - 1, FcfsSettingDto.builder()</span>
    -<span class="nc" id="L78">                    .round(fcfsSetting.getRound())</span>
    -<span class="nc" id="L79">                    .startTime(fcfsSetting.getStartTime())</span>
    -<span class="nc" id="L80">                    .endTime(fcfsSetting.getEndTime())</span>
    -<span class="nc" id="L81">                    .winnerNum(fcfsSetting.getWinnerNum())</span>
    -<span class="nc" id="L82">                    .build());</span>
    -<span class="nc" id="L83">        });</span>
    -<span class="nc" id="L84">    }</span>
    -
    -    public int getRoundForScheduler(LocalDate localDate) {
    -<span class="nc bnc" id="L87" title="All 2 branches missed.">        for (FcfsSettingDto fcfsSettingDto : fcfsSettingList) {</span>
    -<span class="nc bnc" id="L88" title="All 2 branches missed.">            if (fcfsSettingDto != null) {</span>
    -<span class="nc" id="L89">                LocalDate startDate = fcfsSettingDto.getStartTime().toLocalDate();</span>
    -<span class="nc" id="L90">                LocalDate dayAfterStartDate = startDate.plusDays(1);</span>
    -
    -                // localDate가 startDate의 하루 다음날과 같은지 확인
    -<span class="nc bnc" id="L93" title="All 2 branches missed.">                if (localDate.equals(dayAfterStartDate)) {</span>
    -<span class="nc" id="L94">                    return fcfsSettingDto.getRound();</span>
    -                }
    -            }
    -<span class="nc" id="L97">        }</span>
    -<span class="nc" id="L98">        return -1;  // 해당하는 데이터가 없는 경우</span>
    -    }
    -
    -    public int getFcfsWinnerNum(){
    -<span class="nc" id="L102">        return fcfsSettingList.get(0).getWinnerNum();</span>
    -    }
    -
    -    public boolean isFcfsEntryAvailable(LocalDateTime now){
    -<span class="nc bnc" id="L106" title="All 2 branches missed.">        for(FcfsSettingDto fcfsSettingDto : fcfsSettingList){</span>
    -<span class="nc" id="L107">            LocalDateTime startTime = fcfsSettingDto.getStartTime();</span>
    -<span class="nc" id="L108">            LocalDateTime endTime = fcfsSettingDto.getEndTime();</span>
    -
    -<span class="nc bnc" id="L110" title="All 4 branches missed.">            if((now.isEqual(startTime) || now.isAfter(startTime))</span>
    -<span class="nc bnc" id="L111" title="All 4 branches missed.">                    &amp;&amp; (now.isEqual(endTime) || now.isBefore(endTime))) {</span>
    -<span class="nc" id="L112">                return true;</span>
    -            }
    -<span class="nc" id="L114">        }</span>
    -<span class="nc" id="L115">        return false;</span>
    -    }
    -
    -    public Integer getFcfsRound(LocalDateTime now){
    -
    -<span class="nc bnc" id="L120" title="All 2 branches missed.">        for(FcfsSettingDto fcfsSettingDto : fcfsSettingList){</span>
    -<span class="nc" id="L121">            LocalDateTime startTime = fcfsSettingDto.getStartTime();</span>
    -<span class="nc" id="L122">            LocalDateTime endTime = fcfsSettingDto.getEndTime();</span>
    -
    -<span class="nc bnc" id="L124" title="All 4 branches missed.">            if((now.isEqual(startTime) || now.isAfter(startTime))</span>
    -<span class="nc bnc" id="L125" title="All 4 branches missed.">                    &amp;&amp; (now.isEqual(endTime) || now.isBefore(endTime))) {</span>
    -<span class="nc" id="L126">                return fcfsSettingDto.getRound();</span>
    -            }
    -<span class="nc" id="L128">        }</span>
    -<span class="nc" id="L129">        return null;</span>
    -    }
    -
    -    public LocalDateTime getNextFcfsTime(LocalDateTime now){
    -
    -<span class="nc bnc" id="L134" title="All 2 branches missed.">        for(FcfsSettingDto fcfsSettingDto : fcfsSettingList){</span>
    -<span class="nc" id="L135">            LocalDateTime startTime = fcfsSettingDto.getStartTime();</span>
    -
    -<span class="nc bnc" id="L137" title="All 2 branches missed.">            if(now.isBefore(startTime)) {</span>
    -<span class="nc" id="L138">                return startTime;</span>
    -            }
    -<span class="nc" id="L140">        }</span>
    -<span class="nc" id="L141">        return null;</span>
    -    }
    -
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/QuizManager.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/QuizManager.html
    deleted file mode 100644
    index dc3d658d..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/QuizManager.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>QuizManager</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.fcfs.service</a> &gt; <span class="el_class">QuizManager</span></div><h1>QuizManager</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">119 of 119</td><td class="ctr2">0%</td><td class="bar">8 of 8</td><td class="ctr2">0%</td><td class="ctr1">10</td><td class="ctr2">10</td><td class="ctr1">28</td><td class="ctr2">28</td><td class="ctr1">6</td><td class="ctr2">6</td></tr></tfoot><tbody><tr><td id="a0"><a href="QuizManager.java.html#L61" class="el_method">getHint()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="37" alt="37"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="6" alt="6"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h1">8</td><td class="ctr2" id="i1">8</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a3"><a href="QuizManager.java.html#L44" class="el_method">lambda$loadInitialData$0(Quiz)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="116" height="10" title="36" alt="36"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="40" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f1">2</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h0">11</td><td class="ctr2" id="i0">11</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a4"><a href="QuizManager.java.html#L39" class="el_method">loadInitialData()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="71" height="10" title="22" alt="22"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">4</td><td class="ctr2" id="i2">4</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a1"><a href="QuizManager.java.html#L81" class="el_method">getQuiz(int)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="55" height="10" title="17" alt="17"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">2</td><td class="ctr2" id="i3">2</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a5"><a href="QuizManager.java.html#L20" class="el_method">static {...}</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="12" height="10" title="4" alt="4"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h5">1</td><td class="ctr2" id="i5">1</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a2"><a href="QuizManager.java.html#L34" class="el_method">init()</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="9" height="10" title="3" alt="3"/></td><td class="ctr2" id="c5">0%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">1</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h4">2</td><td class="ctr2" id="i4">2</td><td class="ctr1" id="j5">1</td><td class="ctr2" id="k5">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/QuizManager.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/QuizManager.java.html
    deleted file mode 100644
    index 7cab6fc1..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/QuizManager.java.html
    +++ /dev/null
    @@ -1,85 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>QuizManager.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.fcfs.service</a> &gt; <span class="el_source">QuizManager.java</span></div><h1>QuizManager.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.fcfs.service;
    -
    -import com.softeer.backend.fo_domain.fcfs.domain.FcfsSetting;
    -import com.softeer.backend.fo_domain.fcfs.domain.Quiz;
    -import com.softeer.backend.fo_domain.fcfs.dto.FcfsSettingDto;
    -import com.softeer.backend.fo_domain.fcfs.dto.QuizDto;
    -import com.softeer.backend.fo_domain.fcfs.repository.QuizRepository;
    -import jakarta.annotation.PostConstruct;
    -import lombok.Getter;
    -import lombok.RequiredArgsConstructor;
    -import lombok.extern.slf4j.Slf4j;
    -import org.springframework.data.domain.Sort;
    -import org.springframework.stereotype.Component;
    -import org.springframework.stereotype.Service;
    -
    -import java.time.LocalDateTime;
    -import java.util.ArrayList;
    -import java.util.List;
    -
    -<span class="nc" id="L20">@Slf4j</span>
    -@Component
    -@RequiredArgsConstructor
    -@Getter
    -public class QuizManager {
    -
    -    private final FcfsSettingManager fcfsSettingManager;
    -    private final QuizRepository quizRepository;
    -
    -    private QuizDto tutorialQuiz;
    -    private List&lt;QuizDto&gt; quizList;
    -
    -    @PostConstruct
    -    public void init() {
    -<span class="nc" id="L34">        loadInitialData();</span>
    -<span class="nc" id="L35">    }</span>
    -
    -    public void loadInitialData() {
    -
    -<span class="nc" id="L39">        List&lt;Quiz&gt; quizs = quizRepository.findAll(Sort.by(Sort.Direction.ASC, &quot;id&quot;));</span>
    -<span class="nc" id="L40">        quizList = new ArrayList&lt;&gt;();</span>
    -
    -<span class="nc" id="L42">        quizs.forEach((quiz) -&gt; {</span>
    -
    -<span class="nc" id="L44">            QuizDto quizDto = QuizDto.builder()</span>
    -<span class="nc" id="L45">                    .hint(quiz.getHint())</span>
    -<span class="nc" id="L46">                    .answerWord(quiz.getAnswerWord())</span>
    -<span class="nc" id="L47">                    .answerSentence(quiz.getAnswerSentence().replace(&quot;\\n&quot;, &quot;\n&quot;))</span>
    -<span class="nc" id="L48">                    .startIndex(quiz.getStartIndex())</span>
    -<span class="nc" id="L49">                    .endIndex(quiz.getEndIndex())</span>
    -<span class="nc" id="L50">                    .build();</span>
    -
    -<span class="nc bnc" id="L52" title="All 2 branches missed.">            if(quiz.getHint().equals(&quot;튜토리얼&quot;))</span>
    -<span class="nc" id="L53">                tutorialQuiz = quizDto;</span>
    -            else
    -<span class="nc" id="L55">                quizList.add(quizDto);</span>
    -<span class="nc" id="L56">        });</span>
    -<span class="nc" id="L57">    }</span>
    -
    -    public String getHint(){
    -
    -<span class="nc" id="L61">        LocalDateTime now = LocalDateTime.now();</span>
    -
    -<span class="nc bnc" id="L63" title="All 2 branches missed.">        for (int i=0; i&lt;fcfsSettingManager.getFcfsSettingList().size(); i++) {</span>
    -
    -<span class="nc" id="L65">            FcfsSettingDto fcfsSettingDto = fcfsSettingManager.getFcfsSettingList().get(i);</span>
    -
    -<span class="nc bnc" id="L67" title="All 2 branches missed.">            if (fcfsSettingDto != null) {</span>
    -<span class="nc" id="L68">                LocalDateTime endTime = fcfsSettingDto.getEndTime();</span>
    -
    -                // localDate가 startDate의 하루 다음날과 같은지 확인
    -<span class="nc bnc" id="L71" title="All 2 branches missed.">                if (endTime.isBefore(now)) {</span>
    -<span class="nc" id="L72">                    return quizList.get(i).getHint();</span>
    -                }
    -            }
    -        }
    -
    -<span class="nc" id="L77">        return null;</span>
    -    }
    -
    -    public QuizDto getQuiz(int round){
    -<span class="nc" id="L81">        log.info(&quot;quiz: {}&quot;, quizList.get(round-1));</span>
    -<span class="nc" id="L82">        return quizList.get(round - 1);</span>
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/index.html
    deleted file mode 100644
    index 2e82e15b..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.fcfs.service</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.fcfs.service</span></div><h1>com.softeer.backend.fo_domain.fcfs.service</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">750 of 750</td><td class="ctr2">0%</td><td class="bar">54 of 54</td><td class="ctr2">0%</td><td class="ctr1">55</td><td class="ctr2">55</td><td class="ctr1">165</td><td class="ctr2">165</td><td class="ctr1">28</td><td class="ctr2">28</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a0"><a href="FcfsService.html" class="el_class">FcfsService</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="400" alt="400"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="52" height="10" title="14" alt="14"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f1">17</td><td class="ctr2" id="g1">17</td><td class="ctr1" id="h0">80</td><td class="ctr2" id="i0">80</td><td class="ctr1" id="j1">10</td><td class="ctr2" id="k1">10</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a1"><a href="FcfsSettingManager.html" class="el_class">FcfsSettingManager</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="69" height="10" title="231" alt="231"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="32" alt="32"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f0">28</td><td class="ctr2" id="g0">28</td><td class="ctr1" id="h1">57</td><td class="ctr2" id="i1">57</td><td class="ctr1" id="j0">12</td><td class="ctr2" id="k0">12</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a2"><a href="QuizManager.html" class="el_class">QuizManager</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="35" height="10" title="119" alt="119"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"><img src="../jacoco-resources/redbar.gif" width="30" height="10" title="8" alt="8"/></td><td class="ctr2" id="e2">0%</td><td class="ctr1" id="f2">10</td><td class="ctr2" id="g2">10</td><td class="ctr1" id="h2">28</td><td class="ctr2" id="i2">28</td><td class="ctr1" id="j2">6</td><td class="ctr2" id="k2">6</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/index.source.html
    deleted file mode 100644
    index f77531c4..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.fcfs.service/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.fcfs.service</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.fcfs.service</span></div><h1>com.softeer.backend.fo_domain.fcfs.service</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">750 of 750</td><td class="ctr2">0%</td><td class="bar">54 of 54</td><td class="ctr2">0%</td><td class="ctr1">55</td><td class="ctr2">55</td><td class="ctr1">165</td><td class="ctr2">165</td><td class="ctr1">28</td><td class="ctr2">28</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a0"><a href="FcfsService.java.html" class="el_source">FcfsService.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="400" alt="400"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="52" height="10" title="14" alt="14"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f1">17</td><td class="ctr2" id="g1">17</td><td class="ctr1" id="h0">80</td><td class="ctr2" id="i0">80</td><td class="ctr1" id="j1">10</td><td class="ctr2" id="k1">10</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a1"><a href="FcfsSettingManager.java.html" class="el_source">FcfsSettingManager.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="69" height="10" title="231" alt="231"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="32" alt="32"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f0">28</td><td class="ctr2" id="g0">28</td><td class="ctr1" id="h1">57</td><td class="ctr2" id="i1">57</td><td class="ctr1" id="j0">12</td><td class="ctr2" id="k0">12</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a2"><a href="QuizManager.java.html" class="el_source">QuizManager.java</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="35" height="10" title="119" alt="119"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"><img src="../jacoco-resources/redbar.gif" width="30" height="10" title="8" alt="8"/></td><td class="ctr2" id="e2">0%</td><td class="ctr1" id="f2">10</td><td class="ctr2" id="g2">10</td><td class="ctr1" id="h2">28</td><td class="ctr2" id="i2">28</td><td class="ctr1" id="j2">6</td><td class="ctr2" id="k2">6</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.controller/MainPageController.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.controller/MainPageController.html
    deleted file mode 100644
    index 8dc6747d..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.controller/MainPageController.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>MainPageController</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.mainpage.controller</a> &gt; <span class="el_class">MainPageController</span></div><h1>MainPageController</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">37 of 37</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">10</td><td class="ctr2">10</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a2"><a href="MainPageController.java.html#L27" class="el_method">getEventPageStatic()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="15" alt="15"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">4</td><td class="ctr2" id="i0">4</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="MainPageController.java.html#L45" class="el_method">getCarPage()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="15" alt="15"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">4</td><td class="ctr2" id="i1">4</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a1"><a href="MainPageController.java.html#L37" class="el_method">getEventPageInfo()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="56" height="10" title="7" alt="7"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">2</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.controller/MainPageController.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.controller/MainPageController.java.html
    deleted file mode 100644
    index 6c463cb7..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.controller/MainPageController.java.html
    +++ /dev/null
    @@ -1,53 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>MainPageController.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.mainpage.controller</a> &gt; <span class="el_source">MainPageController.java</span></div><h1>MainPageController.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.mainpage.controller;
    -
    -import com.softeer.backend.fo_domain.mainpage.dto.MainPageCarResponseDto;
    -import com.softeer.backend.fo_domain.mainpage.dto.MainPageEventInfoResponseDto;
    -import com.softeer.backend.fo_domain.mainpage.dto.MainPageEventStaticResponseDto;
    -import com.softeer.backend.fo_domain.mainpage.service.MainPageService;
    -import com.softeer.backend.global.common.response.ResponseDto;
    -import lombok.RequiredArgsConstructor;
    -import org.springframework.http.CacheControl;
    -import org.springframework.http.ResponseEntity;
    -import org.springframework.web.bind.annotation.GetMapping;
    -import org.springframework.web.bind.annotation.PostMapping;
    -import org.springframework.web.bind.annotation.RequestMapping;
    -import org.springframework.web.bind.annotation.RestController;
    -
    -import java.util.concurrent.TimeUnit;
    -
    -@RestController
    -@RequiredArgsConstructor
    -@RequestMapping(&quot;/main&quot;)
    -public class MainPageController {
    -
    -    private final MainPageService mainPageService;
    -
    -    @GetMapping(&quot;/event/static&quot;)
    -    public ResponseEntity&lt;ResponseDto&lt;MainPageEventStaticResponseDto&gt;&gt; getEventPageStatic(){
    -<span class="nc" id="L27">        MainPageEventStaticResponseDto mainPageEventStaticResponseDto= mainPageService.getEventPageStatic();</span>
    -
    -<span class="nc" id="L29">        return ResponseEntity.ok()</span>
    -<span class="nc" id="L30">                .cacheControl(CacheControl.maxAge(1, TimeUnit.DAYS).cachePublic()) // 1일 동안 public 캐싱</span>
    -<span class="nc" id="L31">                .body(ResponseDto.onSuccess(mainPageEventStaticResponseDto));</span>
    -    }
    -
    -    @GetMapping(&quot;/event/info&quot;)
    -    public ResponseDto&lt;MainPageEventInfoResponseDto&gt; getEventPageInfo(){
    -
    -<span class="nc" id="L37">        MainPageEventInfoResponseDto mainPageEventInfoResponseDto = mainPageService.getEventPageInfo();</span>
    -
    -<span class="nc" id="L39">        return ResponseDto.onSuccess(mainPageEventInfoResponseDto);</span>
    -    }
    -
    -    @GetMapping(&quot;/car&quot;)
    -    public ResponseEntity&lt;ResponseDto&lt;MainPageCarResponseDto&gt;&gt; getCarPage(){
    -
    -<span class="nc" id="L45">        MainPageCarResponseDto mainPageCarResponseDto = mainPageService.getCarPage();</span>
    -
    -<span class="nc" id="L47">        return ResponseEntity.ok()</span>
    -<span class="nc" id="L48">                .cacheControl(CacheControl.maxAge(1, TimeUnit.DAYS).cachePublic()) // 1일 동안 public 캐싱</span>
    -<span class="nc" id="L49">                .body(ResponseDto.onSuccess(mainPageCarResponseDto));</span>
    -    }
    -
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.controller/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.controller/index.html
    deleted file mode 100644
    index a56d9edb..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.controller/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.mainpage.controller</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.mainpage.controller</span></div><h1>com.softeer.backend.fo_domain.mainpage.controller</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">37 of 37</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">10</td><td class="ctr2">10</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="MainPageController.html" class="el_class">MainPageController</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="37" alt="37"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">10</td><td class="ctr2" id="i0">10</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k0">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.controller/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.controller/index.source.html
    deleted file mode 100644
    index 57cb8e39..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.controller/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.mainpage.controller</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.mainpage.controller</span></div><h1>com.softeer.backend.fo_domain.mainpage.controller</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">37 of 37</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">10</td><td class="ctr2">10</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="MainPageController.java.html" class="el_source">MainPageController.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="37" alt="37"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">10</td><td class="ctr2" id="i0">10</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k0">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.service/MainPageService.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.service/MainPageService.html
    deleted file mode 100644
    index 5b586820..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.service/MainPageService.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>MainPageService</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.mainpage.service</a> &gt; <span class="el_class">MainPageService</span></div><h1>MainPageService</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">500 of 500</td><td class="ctr2">0%</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="ctr1">10</td><td class="ctr2">10</td><td class="ctr1">93</td><td class="ctr2">93</td><td class="ctr1">8</td><td class="ctr2">8</td></tr></tfoot><tbody><tr><td id="a3"><a href="MainPageService.java.html#L123" class="el_method">getCarPage()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="144" alt="144"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h0">23</td><td class="ctr2" id="i0">23</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a4"><a href="MainPageService.java.html#L80" class="el_method">getEventPageInfo()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="118" height="10" title="142" alt="142"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h1">22</td><td class="ctr2" id="i1">22</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a5"><a href="MainPageService.java.html#L52" class="el_method">getEventPageStatic()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="74" height="10" title="89" alt="89"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h2">19</td><td class="ctr2" id="i2">19</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a2"><a href="MainPageService.java.html#L286" class="el_method">createCarInfoWithDetails(int, StaticTextName, StaticTextName, StaticTextName, StaticTextName, S3FileName, S3FileName, List, Map, Map)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="35" height="10" title="43" alt="43"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h3">10</td><td class="ctr2" id="i3">10</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a1"><a href="MainPageService.java.html#L251" class="el_method">createCarInfo(int, StaticTextName, StaticTextName, S3FileName, S3FileName, Map, Map)</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="24" height="10" title="29" alt="29"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">1</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h4">7</td><td class="ctr2" id="i4">7</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a0"><a href="MainPageService.java.html#L267" class="el_method">createCarDetailInfo(int, StaticTextName, StaticTextName, StaticTextName, S3FileName, Map, Map)</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="24" height="10" title="29" alt="29"/></td><td class="ctr2" id="c5">0%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">1</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h5">7</td><td class="ctr2" id="i5">7</td><td class="ctr1" id="j5">1</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a6"><a href="MainPageService.java.html#L112" class="el_method">setTotalVisitorsCount()</a></td><td class="bar" id="b6"><img src="../jacoco-resources/redbar.gif" width="16" height="10" title="20" alt="20"/></td><td class="ctr2" id="c6">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h6">4</td><td class="ctr2" id="i6">4</td><td class="ctr1" id="j6">1</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a7"><a href="MainPageService.java.html#L33" class="el_method">static {...}</a></td><td class="bar" id="b7"><img src="../jacoco-resources/redbar.gif" width="3" height="10" title="4" alt="4"/></td><td class="ctr2" id="c7">0%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">1</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h7">1</td><td class="ctr2" id="i7">1</td><td class="ctr1" id="j7">1</td><td class="ctr2" id="k7">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.service/MainPageService.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.service/MainPageService.java.html
    deleted file mode 100644
    index 195f63e8..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.service/MainPageService.java.html
    +++ /dev/null
    @@ -1,298 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>MainPageService.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.mainpage.service</a> &gt; <span class="el_source">MainPageService.java</span></div><h1>MainPageService.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.mainpage.service;
    -
    -import com.softeer.backend.fo_domain.draw.repository.DrawRepository;
    -import com.softeer.backend.fo_domain.draw.service.DrawSettingManager;
    -import com.softeer.backend.fo_domain.fcfs.dto.FcfsSettingDto;
    -import com.softeer.backend.fo_domain.fcfs.service.FcfsSettingManager;
    -import com.softeer.backend.fo_domain.fcfs.service.QuizManager;
    -import com.softeer.backend.fo_domain.mainpage.dto.MainPageCarResponseDto;
    -import com.softeer.backend.fo_domain.mainpage.dto.MainPageEventInfoResponseDto;
    -import com.softeer.backend.fo_domain.mainpage.dto.MainPageEventStaticResponseDto;
    -import com.softeer.backend.global.common.constant.RedisKeyPrefix;
    -import com.softeer.backend.global.staticresources.constant.S3FileName;
    -import com.softeer.backend.global.staticresources.constant.StaticTextName;
    -import com.softeer.backend.global.staticresources.util.StaticResourceUtil;
    -import com.softeer.backend.global.util.EventLockRedisUtil;
    -import lombok.RequiredArgsConstructor;
    -import lombok.extern.slf4j.Slf4j;
    -import org.springframework.cache.annotation.Cacheable;
    -import org.springframework.stereotype.Service;
    -import org.springframework.transaction.annotation.Transactional;
    -
    -import java.text.DecimalFormat;
    -import java.time.DayOfWeek;
    -import java.time.LocalDate;
    -import java.time.LocalDateTime;
    -import java.time.format.DateTimeFormatter;
    -import java.util.Arrays;
    -import java.util.List;
    -import java.util.Locale;
    -import java.util.Map;
    -import java.util.stream.Collectors;
    -
    -<span class="nc" id="L33">@Slf4j</span>
    -@Service
    -@RequiredArgsConstructor
    -public class MainPageService {
    -    private final DateTimeFormatter eventTimeFormatter = DateTimeFormatter.ofPattern(&quot;yyyy.MM.dd&quot;);
    -    private final DateTimeFormatter fcfsTimeFormatter = DateTimeFormatter.ofPattern(&quot;a h&quot;, Locale.KOREAN);
    -    private final DecimalFormat decimalFormat = new DecimalFormat(&quot;#,###&quot;);
    -
    -    private final EventLockRedisUtil eventLockRedisUtil;
    -    private final FcfsSettingManager fcfsSettingManager;
    -    private final DrawSettingManager drawSettingManager;
    -    private final QuizManager quizManager;
    -    private final DrawRepository drawRepository;
    -    private final StaticResourceUtil staticResourceUtil;
    -
    -    @Transactional(readOnly = true)
    -    @Cacheable(value = &quot;staticResources&quot;, key = &quot;'event'&quot;)
    -    public MainPageEventStaticResponseDto getEventPageStatic(){
    -
    -<span class="nc" id="L52">        Map&lt;String, String&gt; textContentMap = staticResourceUtil.getTextContentMap();</span>
    -<span class="nc" id="L53">        Map&lt;String, String&gt; s3ContentMap = staticResourceUtil.getS3ContentMap();</span>
    -
    -<span class="nc" id="L55">        MainPageEventStaticResponseDto.EventInfo fcfsInfo = MainPageEventStaticResponseDto.EventInfo.builder()</span>
    -<span class="nc" id="L56">                .title(textContentMap.get(StaticTextName.FCFS_TITLE.name()))</span>
    -<span class="nc" id="L57">                .content(textContentMap.get(StaticTextName.FCFS_CONTENT.name()))</span>
    -<span class="nc" id="L58">                .rewardImage1(s3ContentMap.get(S3FileName.FCFS_REWARD_IMAGE_1.name()))</span>
    -<span class="nc" id="L59">                .rewardImage2(s3ContentMap.get(S3FileName.FCFS_REWARD_IMAGE_2.name()))</span>
    -<span class="nc" id="L60">                .build();</span>
    -
    -<span class="nc" id="L62">        MainPageEventStaticResponseDto.EventInfo drawInfo = MainPageEventStaticResponseDto.EventInfo.builder()</span>
    -<span class="nc" id="L63">                .title(textContentMap.get(StaticTextName.DRAW_TITLE.name()))</span>
    -<span class="nc" id="L64">                .content(textContentMap.get(StaticTextName.DRAW_CONTENT.name()))</span>
    -<span class="nc" id="L65">                .rewardImage1(s3ContentMap.get(S3FileName.DRAW_REWARD_IMAGE_1.name()))</span>
    -<span class="nc" id="L66">                .rewardImage2(s3ContentMap.get(S3FileName.DRAW_REWARD_IMAGE_2_3.name()))</span>
    -<span class="nc" id="L67">                .build();</span>
    -
    -<span class="nc" id="L69">        return MainPageEventStaticResponseDto.builder()</span>
    -<span class="nc" id="L70">                .eventTitle(textContentMap.get(StaticTextName.EVENT_TITLE.name()))</span>
    -<span class="nc" id="L71">                .eventDescription(textContentMap.get(StaticTextName.EVENT_DESCRIPTION.name()))</span>
    -<span class="nc" id="L72">                .eventInfoList(Arrays.asList(fcfsInfo, drawInfo))</span>
    -<span class="nc" id="L73">                .build();</span>
    -
    -    }
    -
    -    @Transactional(readOnly = true)
    -    public MainPageEventInfoResponseDto getEventPageInfo(){
    -
    -<span class="nc" id="L80">        setTotalVisitorsCount();</span>
    -
    -<span class="nc" id="L82">        Map&lt;String, String&gt; textContentMap = staticResourceUtil.getTextContentMap();</span>
    -
    -<span class="nc" id="L84">        FcfsSettingDto firstFcfsSetting = fcfsSettingManager.getFcfsSettingByRound(1);</span>
    -<span class="nc" id="L85">        FcfsSettingDto secondFcfsSetting = fcfsSettingManager.getFcfsSettingByRound(2);</span>
    -
    -<span class="nc" id="L87">        int totalDrawWinner = drawSettingManager.getWinnerNum1()</span>
    -<span class="nc" id="L88">                + drawSettingManager.getWinnerNum2() + drawSettingManager.getWinnerNum3();</span>
    -
    -<span class="nc" id="L90">        int remainDrawCount = totalDrawWinner - (int)drawRepository.count();</span>
    -
    -<span class="nc" id="L92">        return MainPageEventInfoResponseDto.builder()</span>
    -<span class="nc" id="L93">                .startDate(drawSettingManager.getStartDate().format(eventTimeFormatter))</span>
    -<span class="nc" id="L94">                .endDate(drawSettingManager.getEndDate().format(eventTimeFormatter))</span>
    -<span class="nc" id="L95">                .fcfsInfo(staticResourceUtil.format(textContentMap.get(StaticTextName.FCFS_INFO.name()),</span>
    -<span class="nc" id="L96">                        staticResourceUtil.getKoreanDayOfWeek(firstFcfsSetting.getStartTime().getDayOfWeek()),</span>
    -<span class="nc" id="L97">                        staticResourceUtil.getKoreanDayOfWeek(secondFcfsSetting.getStartTime().getDayOfWeek()),</span>
    -<span class="nc" id="L98">                        firstFcfsSetting.getStartTime().format(fcfsTimeFormatter),</span>
    -<span class="nc" id="L99">                        firstFcfsSetting.getWinnerNum()))</span>
    -<span class="nc" id="L100">                .totalDrawWinner(staticResourceUtil.format(</span>
    -<span class="nc" id="L101">                        textContentMap.get(StaticTextName.TOTAL_DRAW_WINNER.name()), decimalFormat.format(totalDrawWinner)))</span>
    -<span class="nc" id="L102">                .remainDrawCount(staticResourceUtil.format(</span>
    -<span class="nc" id="L103">                        textContentMap.get(StaticTextName.REMAIN_DRAW_COUNT.name()), decimalFormat.format(remainDrawCount)))</span>
    -<span class="nc" id="L104">                .fcfsHint(quizManager.getHint())</span>
    -<span class="nc" id="L105">                .fcfsStartTime(fcfsSettingManager.getNextFcfsTime(LocalDateTime.now()))</span>
    -<span class="nc" id="L106">                .build();</span>
    -    }
    -
    -    // 이벤트 기간이면 redis에 사이트 방문자 수 +1 하기
    -    public void setTotalVisitorsCount(){
    -
    -<span class="nc" id="L112">        LocalDate now = LocalDate.now();</span>
    -
    -<span class="nc bnc" id="L114" title="All 4 branches missed.">        if (!now.isBefore(drawSettingManager.getStartDate()) &amp;&amp; !now.isAfter(drawSettingManager.getEndDate())) {</span>
    -<span class="nc" id="L115">            eventLockRedisUtil.incrementData(RedisKeyPrefix.TOTAL_VISITORS_COUNT_PREFIX.getPrefix());</span>
    -        }
    -
    -<span class="nc" id="L118">    }</span>
    -
    -    @Transactional(readOnly = true)
    -    @Cacheable(value = &quot;staticResources&quot;, key = &quot;'car'&quot;)
    -    public MainPageCarResponseDto getCarPage() {
    -<span class="nc" id="L123">        Map&lt;String, String&gt; textContentMap = staticResourceUtil.getTextContentMap();</span>
    -<span class="nc" id="L124">        Map&lt;String, String&gt; s3ContentMap = staticResourceUtil.getS3ContentMap();</span>
    -
    -<span class="nc" id="L126">        List&lt;MainPageCarResponseDto.CarInfo&gt; carInfoList = List.of(</span>
    -<span class="nc" id="L127">                createCarInfo(1,</span>
    -                        StaticTextName.MAIN_TITLE,
    -                        StaticTextName.MAIN_SUBTITLE,
    -                        S3FileName.IONIQ_VIDEO,
    -                        S3FileName.MAIN_BACKGROUND_IMAGE,
    -                        textContentMap,
    -                        s3ContentMap),
    -<span class="nc" id="L134">                createCarInfoWithDetails(2,</span>
    -                        StaticTextName.INTERIOR_TITLE,
    -                        StaticTextName.INTERIOR_SUBTITLE,
    -                        StaticTextName.INTERIOR_IMAGE_TITLE,
    -                        StaticTextName.INTERIOR_IMAGE_CONTENT,
    -                        S3FileName.INTERIOR_THUMBNAIL_IMAGE,
    -                        S3FileName.INTERIOR_BACKGROUND_IMAGE,
    -<span class="nc" id="L141">                        List.of(</span>
    -<span class="nc" id="L142">                                createCarDetailInfo(1,</span>
    -                                        StaticTextName.INTERIOR_OPENNESS_TITLE,
    -                                        StaticTextName.INTERIOR_OPENNESS_SUBTITLE,
    -                                        StaticTextName.INTERIOR_OPENNESS_CONTENT,
    -                                        S3FileName.INTERIOR_OPENNESS_IMAGE,
    -                                        textContentMap,
    -                                        s3ContentMap),
    -<span class="nc" id="L149">                                createCarDetailInfo(2,</span>
    -                                        StaticTextName.INTERIOR_WELLNESS_TITLE,
    -                                        StaticTextName.INTERIOR_WELLNESS_SUBTITLE,
    -                                        StaticTextName.INTERIOR_WELLNESS_CONTENT,
    -                                        S3FileName.INTERIOR_WELLNESS_IMAGE,
    -                                        textContentMap,
    -                                        s3ContentMap)
    -                        ),
    -                        textContentMap,
    -                        s3ContentMap
    -                ),
    -<span class="nc" id="L160">                createCarInfoWithDetails(3,</span>
    -                        StaticTextName.PERFORMANCE_TITLE,
    -                        StaticTextName.PERFORMANCE_SUBTITLE,
    -                        StaticTextName.PERFORMANCE_IMAGE_TITLE,
    -                        StaticTextName.PERFORMANCE_IMAGE_CONTENT,
    -                        S3FileName.PERFORMANCE_THUMBNAIL_IMAGE,
    -                        S3FileName.PERFORMANCE_BACKGROUND_IMAGE,
    -<span class="nc" id="L167">                        List.of(</span>
    -<span class="nc" id="L168">                                createCarDetailInfo(1,</span>
    -                                        StaticTextName.PERFORMANCE_BRAKING_TITLE,
    -                                        StaticTextName.PERFORMANCE_BRAKING_SUBTITLE,
    -                                        StaticTextName.PERFORMANCE_BRAKING_CONTENT,
    -                                        S3FileName.PERFORMANCE_BRAKING_IMAGE,
    -                                        textContentMap,
    -                                        s3ContentMap),
    -<span class="nc" id="L175">                                createCarDetailInfo(2,</span>
    -                                        StaticTextName.PERFORMANCE_DRIVING_TITLE,
    -                                        StaticTextName.PERFORMANCE_DRIVING_SUBTITLE,
    -                                        StaticTextName.PERFORMANCE_DRIVING_CONTENT,
    -                                        S3FileName.PERFORMANCE_DRIVING_IMAGE,
    -                                        textContentMap,
    -                                        s3ContentMap)
    -                        ),
    -                        textContentMap,
    -                        s3ContentMap
    -                ),
    -<span class="nc" id="L186">                createCarInfoWithDetails(4, StaticTextName.CHARGING_TITLE,</span>
    -                        StaticTextName.CHARGING_SUBTITLE,
    -                        StaticTextName.CHARGING_IMAGE_TITLE,
    -                        StaticTextName.CHARGING_IMAGE_CONTENT,
    -                        S3FileName.CHARGING_THUMBNAIL_IMAGE,
    -                        S3FileName.CHARGING_BACKGROUND_IMAGE,
    -<span class="nc" id="L192">                        List.of(</span>
    -<span class="nc" id="L193">                                createCarDetailInfo(1,</span>
    -                                        StaticTextName.CHARGING_FAST_TITLE,
    -                                        StaticTextName.CHARGING_FAST_SUBTITLE,
    -                                        StaticTextName.CHARGING_FAST_CONTENT,
    -                                        S3FileName.CHARGING_FAST_IMAGE,
    -                                        textContentMap,
    -                                        s3ContentMap),
    -<span class="nc" id="L200">                                createCarDetailInfo(2,</span>
    -                                        StaticTextName.CHARGING_V2L_TITLE,
    -                                        StaticTextName.CHARGING_V2L_SUBTITLE,
    -                                        StaticTextName.CHARGING_V2L_CONTENT,
    -                                        S3FileName.CHARGING_V2L_IMAGE,
    -                                        textContentMap,
    -                                        s3ContentMap)
    -                        ),
    -                        textContentMap,
    -                        s3ContentMap
    -                ),
    -<span class="nc" id="L211">                createCarInfoWithDetails(5,</span>
    -                        StaticTextName.SAFE_TITLE,
    -                        StaticTextName.SAFE_SUBTITLE,
    -                        StaticTextName.SAFE_IMAGE_TITLE,
    -                        StaticTextName.SAFE_IMAGE_CONTENT,
    -                        S3FileName.SAFE_THUMBNAIL_IMAGE,
    -                        S3FileName.SAFE_BACKGROUND_IMAGE,
    -<span class="nc" id="L218">                        List.of(</span>
    -<span class="nc" id="L219">                                createCarDetailInfo(1,</span>
    -                                        StaticTextName.SAFE_DRIVING_TITLE,
    -                                        StaticTextName.SAFE_DRIVING_SUBTITLE,
    -                                        StaticTextName.SAFE_DRIVING_CONTENT,
    -                                        S3FileName.SAFE_DRIVING_IMAGE,
    -                                        textContentMap,
    -                                        s3ContentMap),
    -<span class="nc" id="L226">                                createCarDetailInfo(2,</span>
    -                                        StaticTextName.SAFE_ADVANCED_TITLE,
    -                                        StaticTextName.SAFE_ADVANCED_SUBTITLE,
    -                                        StaticTextName.SAFE_ADVANCED_CONTENT,
    -                                        S3FileName.SAFE_ADVANCED_IMAGE,
    -                                        textContentMap,
    -                                        s3ContentMap)
    -                        ),
    -                        textContentMap,
    -                        s3ContentMap
    -                )
    -        );
    -
    -<span class="nc" id="L239">        return MainPageCarResponseDto.builder()</span>
    -<span class="nc" id="L240">                .carInfoList(carInfoList)</span>
    -<span class="nc" id="L241">                .build();</span>
    -    }
    -
    -    private MainPageCarResponseDto.CarInfo createCarInfo(int id,
    -                                                         StaticTextName titleKey,
    -                                                         StaticTextName subTitleKey,
    -                                                         S3FileName imgUrlKey,
    -                                                         S3FileName backgroundImgUrlKey,
    -                                                         Map&lt;String, String&gt; textContentMap,
    -                                                         Map&lt;String, String&gt; s3ContentMap) {
    -<span class="nc" id="L251">        return MainPageCarResponseDto.CarInfo.builder()</span>
    -<span class="nc" id="L252">                .id(id)</span>
    -<span class="nc" id="L253">                .title(textContentMap.get(titleKey.name()))</span>
    -<span class="nc" id="L254">                .subTitle(textContentMap.get(subTitleKey.name()))</span>
    -<span class="nc" id="L255">                .imgUrl(s3ContentMap.get(imgUrlKey.name()))</span>
    -<span class="nc" id="L256">                .backgroundImgUrl(s3ContentMap.get(backgroundImgUrlKey.name()))</span>
    -<span class="nc" id="L257">                .build();</span>
    -    }
    -
    -    private MainPageCarResponseDto.CarDetailInfo createCarDetailInfo(int id,
    -                                                                     StaticTextName titleKey,
    -                                                                     StaticTextName subTitleKey,
    -                                                                     StaticTextName contentKey,
    -                                                                     S3FileName imgUrlKey,
    -                                                                     Map&lt;String, String&gt; textContentMap,
    -                                                                     Map&lt;String, String&gt; s3ContentMap) {
    -<span class="nc" id="L267">        return MainPageCarResponseDto.CarDetailInfo.builder()</span>
    -<span class="nc" id="L268">                .id(id)</span>
    -<span class="nc" id="L269">                .title(textContentMap.get(titleKey.name()))</span>
    -<span class="nc" id="L270">                .subTitle(textContentMap.get(subTitleKey.name()))</span>
    -<span class="nc" id="L271">                .content(textContentMap.get(contentKey.name()))</span>
    -<span class="nc" id="L272">                .imgUrl(s3ContentMap.get(imgUrlKey.name()))</span>
    -<span class="nc" id="L273">                .build();</span>
    -    }
    -
    -    private MainPageCarResponseDto.CarInfo createCarInfoWithDetails(int id,
    -                                                                    StaticTextName titleKey,
    -                                                                    StaticTextName subTitleKey,
    -                                                                    StaticTextName imgTitleKey,
    -                                                                    StaticTextName imgContentKey,
    -                                                                    S3FileName imgUrlKey,
    -                                                                    S3FileName backgroundImgUrlKey,
    -                                                                    List&lt;MainPageCarResponseDto.CarDetailInfo&gt; carDetailInfoList,
    -                                                                    Map&lt;String, String&gt; textContentMap,
    -                                                                    Map&lt;String, String&gt; s3ContentMap) {
    -<span class="nc" id="L286">        return MainPageCarResponseDto.CarInfo.builder()</span>
    -<span class="nc" id="L287">                .id(id)</span>
    -<span class="nc" id="L288">                .title(textContentMap.get(titleKey.name()))</span>
    -<span class="nc" id="L289">                .subTitle(textContentMap.get(subTitleKey.name()))</span>
    -<span class="nc" id="L290">                .imgTitle(textContentMap.get(imgTitleKey.name()))</span>
    -<span class="nc" id="L291">                .imgContent(textContentMap.get(imgContentKey.name()))</span>
    -<span class="nc" id="L292">                .imgUrl(s3ContentMap.get(imgUrlKey.name()))</span>
    -<span class="nc" id="L293">                .backgroundImgUrl(s3ContentMap.get(backgroundImgUrlKey.name()))</span>
    -<span class="nc" id="L294">                .carDetailInfoList(carDetailInfoList)</span>
    -<span class="nc" id="L295">                .build();</span>
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.service/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.service/index.html
    deleted file mode 100644
    index 66039df0..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.service/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.mainpage.service</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.mainpage.service</span></div><h1>com.softeer.backend.fo_domain.mainpage.service</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">500 of 500</td><td class="ctr2">0%</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="ctr1">10</td><td class="ctr2">10</td><td class="ctr1">93</td><td class="ctr2">93</td><td class="ctr1">8</td><td class="ctr2">8</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="MainPageService.html" class="el_class">MainPageService</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="500" alt="500"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">10</td><td class="ctr2" id="g0">10</td><td class="ctr1" id="h0">93</td><td class="ctr2" id="i0">93</td><td class="ctr1" id="j0">8</td><td class="ctr2" id="k0">8</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.service/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.service/index.source.html
    deleted file mode 100644
    index 12cff694..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.mainpage.service/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.mainpage.service</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.mainpage.service</span></div><h1>com.softeer.backend.fo_domain.mainpage.service</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">500 of 500</td><td class="ctr2">0%</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="ctr1">10</td><td class="ctr2">10</td><td class="ctr1">93</td><td class="ctr2">93</td><td class="ctr1">8</td><td class="ctr2">8</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="MainPageService.java.html" class="el_source">MainPageService.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="500" alt="500"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">10</td><td class="ctr2" id="g0">10</td><td class="ctr1" id="h0">93</td><td class="ctr2" id="i0">93</td><td class="ctr1" id="j0">8</td><td class="ctr2" id="k0">8</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.controller/ShareController.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.controller/ShareController.html
    deleted file mode 100644
    index fb584b38..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.controller/ShareController.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ShareController</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.share.controller</a> &gt; <span class="el_class">ShareController</span></div><h1>ShareController</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">38 of 38</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">9</td><td class="ctr2">9</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="ShareController.java.html#L33" class="el_method">redirectWithShareUrl(String, HttpServletRequest, HttpServletResponse)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="32" alt="32"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">8</td><td class="ctr2" id="i0">8</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="ShareController.java.html#L27" class="el_method">getShortenShareUrl(Integer)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="22" height="10" title="6" alt="6"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.controller/ShareController.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.controller/ShareController.java.html
    deleted file mode 100644
    index b84a90e6..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.controller/ShareController.java.html
    +++ /dev/null
    @@ -1,45 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ShareController.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.share.controller</a> &gt; <span class="el_source">ShareController.java</span></div><h1>ShareController.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.share.controller;
    -
    -import com.softeer.backend.fo_domain.share.dto.ShareUrlInfoResponseDto;
    -import com.softeer.backend.fo_domain.share.service.ShareUrlInfoService;
    -import com.softeer.backend.global.annotation.AuthInfo;
    -import com.softeer.backend.global.common.response.ResponseDto;
    -import io.swagger.v3.oas.annotations.Parameter;
    -import jakarta.servlet.http.Cookie;
    -import jakarta.servlet.http.HttpServletRequest;
    -import jakarta.servlet.http.HttpServletResponse;
    -import jakarta.servlet.http.HttpSession;
    -import lombok.RequiredArgsConstructor;
    -import org.springframework.http.HttpHeaders;
    -import org.springframework.http.HttpStatus;
    -import org.springframework.http.ResponseEntity;
    -import org.springframework.web.bind.annotation.GetMapping;
    -import org.springframework.web.bind.annotation.PathVariable;
    -import org.springframework.web.bind.annotation.RestController;
    -
    -@RestController
    -@RequiredArgsConstructor
    -public class ShareController {
    -    private final ShareUrlInfoService shareUrlInfoService;
    -
    -    @GetMapping(&quot;/share-shorten-url&quot;)
    -    public ResponseDto&lt;ShareUrlInfoResponseDto&gt; getShortenShareUrl(@Parameter(hidden = true) @AuthInfo Integer userId) {
    -<span class="nc" id="L27">        return ResponseDto.onSuccess(shareUrlInfoService.getShortenShareUrl(userId));</span>
    -    }
    -
    -    @GetMapping(&quot;/share/{shareUrl}&quot;)
    -    public ResponseEntity&lt;Void&gt; redirectWithShareUrl(@PathVariable String shareUrl, HttpServletRequest request, HttpServletResponse response) {
    -        // session을 이용해 공유 url 저장
    -<span class="nc" id="L33">        Cookie shareCodeCookie = new Cookie(&quot;shareCode&quot;, shareUrl);</span>
    -<span class="nc" id="L34">        shareCodeCookie.setPath(&quot;/&quot;);</span>
    -<span class="nc" id="L35">        shareCodeCookie.setHttpOnly(false); // HttpOnly 속성을 비활성화</span>
    -<span class="nc" id="L36">        shareCodeCookie.setDomain(&quot;softeer.site&quot;); // 도메인 설정. 이렇게 해서 softeer.site 포함 하위 모든 도메인에서 해당 쿠키 사용 가능</span>
    -<span class="nc" id="L37">        response.addCookie(shareCodeCookie);</span>
    -
    -        // 헤더를 이용해 redirect
    -<span class="nc" id="L40">        HttpHeaders headers = new HttpHeaders();</span>
    -<span class="nc" id="L41">        headers.add(&quot;Location&quot;, &quot;https://softeer.site&quot;);</span>
    -<span class="nc" id="L42">        return new ResponseEntity&lt;&gt;(headers, HttpStatus.FOUND); // HTTP 302 Found 응답</span>
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.controller/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.controller/index.html
    deleted file mode 100644
    index e360c138..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.controller/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.share.controller</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.share.controller</span></div><h1>com.softeer.backend.fo_domain.share.controller</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">38 of 38</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">9</td><td class="ctr2">9</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="ShareController.html" class="el_class">ShareController</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="38" alt="38"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">9</td><td class="ctr2" id="i0">9</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.controller/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.controller/index.source.html
    deleted file mode 100644
    index ce3d183a..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.controller/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.share.controller</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.share.controller</span></div><h1>com.softeer.backend.fo_domain.share.controller</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">38 of 38</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">9</td><td class="ctr2">9</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="ShareController.java.html" class="el_source">ShareController.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="38" alt="38"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">9</td><td class="ctr2" id="i0">9</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.domain/ShareInfo.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.domain/ShareInfo.html
    deleted file mode 100644
    index b7a81f79..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.domain/ShareInfo.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ShareInfo</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.share.domain</a> &gt; <span class="el_class">ShareInfo</span></div><h1>ShareInfo</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 13</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">1</td><td class="ctr1">0</td><td class="ctr2">5</td><td class="ctr1">0</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="ShareInfo.java.html#L27" class="el_method">ShareInfo(Integer, Integer, Integer)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="13" alt="13"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">5</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.domain/ShareInfo.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.domain/ShareInfo.java.html
    deleted file mode 100644
    index 2716b738..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.domain/ShareInfo.java.html
    +++ /dev/null
    @@ -1,33 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ShareInfo.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.share.domain</a> &gt; <span class="el_source">ShareInfo.java</span></div><h1>ShareInfo.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.share.domain;
    -
    -import jakarta.persistence.Column;
    -import jakarta.persistence.Entity;
    -import jakarta.persistence.Id;
    -import jakarta.persistence.Table;
    -import lombok.Builder;
    -import lombok.Getter;
    -import lombok.NoArgsConstructor;
    -
    -@Getter
    -@Entity
    -@NoArgsConstructor
    -@Table(name = &quot;share_info&quot;)
    -public class ShareInfo {
    -    @Id
    -    @Column(name = &quot;user_id&quot;)
    -    private int userId;
    -
    -    @Column(name = &quot;invited_num&quot;)
    -    private Integer invitedNum;
    -
    -    @Column(name = &quot;remain_draw_count&quot;)
    -    private Integer remainDrawCount;
    -
    -    @Builder
    -<span class="fc" id="L27">    public ShareInfo(Integer userId, Integer invitedNum, Integer remainDrawCount) {</span>
    -<span class="fc" id="L28">        this.userId = userId;</span>
    -<span class="fc" id="L29">        this.invitedNum = invitedNum;</span>
    -<span class="fc" id="L30">        this.remainDrawCount = remainDrawCount;</span>
    -<span class="fc" id="L31">    }</span>
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.domain/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.domain/index.html
    deleted file mode 100644
    index 55cfde6a..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.domain/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.share.domain</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.share.domain</span></div><h1>com.softeer.backend.fo_domain.share.domain</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 13</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">1</td><td class="ctr1">0</td><td class="ctr2">5</td><td class="ctr1">0</td><td class="ctr2">1</td><td class="ctr1">0</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="ShareInfo.html" class="el_class">ShareInfo</a></td><td class="bar" id="b0"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="13" alt="13"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">5</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.domain/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.domain/index.source.html
    deleted file mode 100644
    index fdfde95f..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.domain/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.share.domain</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.share.domain</span></div><h1>com.softeer.backend.fo_domain.share.domain</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 13</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">1</td><td class="ctr1">0</td><td class="ctr2">5</td><td class="ctr1">0</td><td class="ctr2">1</td><td class="ctr1">0</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="ShareInfo.java.html" class="el_source">ShareInfo.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="13" alt="13"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">5</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/ShareInfoException.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/ShareInfoException.html
    deleted file mode 100644
    index cf1329f7..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/ShareInfoException.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ShareInfoException</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.share.exception</a> &gt; <span class="el_class">ShareInfoException</span></div><h1>ShareInfoException</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="ShareInfoException.java.html#L9" class="el_method">ShareInfoException(BaseErrorCode)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/ShareInfoException.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/ShareInfoException.java.html
    deleted file mode 100644
    index c1a9fbe1..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/ShareInfoException.java.html
    +++ /dev/null
    @@ -1,12 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ShareInfoException.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.share.exception</a> &gt; <span class="el_source">ShareInfoException.java</span></div><h1>ShareInfoException.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.share.exception;
    -
    -import com.softeer.backend.global.common.code.BaseErrorCode;
    -import com.softeer.backend.global.common.exception.GeneralException;
    -
    -
    -public class ShareInfoException extends GeneralException {
    -    public ShareInfoException(BaseErrorCode code) {
    -<span class="nc" id="L9">        super(code);</span>
    -<span class="nc" id="L10">    }</span>
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/ShareUrlInfoException.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/ShareUrlInfoException.html
    deleted file mode 100644
    index 7b58b031..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/ShareUrlInfoException.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ShareUrlInfoException</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.share.exception</a> &gt; <span class="el_class">ShareUrlInfoException</span></div><h1>ShareUrlInfoException</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="ShareUrlInfoException.java.html#L8" class="el_method">ShareUrlInfoException(BaseErrorCode)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/ShareUrlInfoException.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/ShareUrlInfoException.java.html
    deleted file mode 100644
    index 1cf4c329..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/ShareUrlInfoException.java.html
    +++ /dev/null
    @@ -1,11 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ShareUrlInfoException.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.share.exception</a> &gt; <span class="el_source">ShareUrlInfoException.java</span></div><h1>ShareUrlInfoException.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.share.exception;
    -
    -import com.softeer.backend.global.common.code.BaseErrorCode;
    -import com.softeer.backend.global.common.exception.GeneralException;
    -
    -public class ShareUrlInfoException extends GeneralException {
    -    public ShareUrlInfoException(BaseErrorCode code) {
    -<span class="nc" id="L8">        super(code);</span>
    -<span class="nc" id="L9">    }</span>
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/index.html
    deleted file mode 100644
    index 500beffc..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.share.exception</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.share.exception</span></div><h1>com.softeer.backend.fo_domain.share.exception</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">8 of 8</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="ShareInfoException.html" class="el_class">ShareInfoException</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a1"><a href="ShareUrlInfoException.html" class="el_class">ShareUrlInfoException</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/index.source.html
    deleted file mode 100644
    index dc0487fe..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.exception/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.share.exception</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.share.exception</span></div><h1>com.softeer.backend.fo_domain.share.exception</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">8 of 8</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="ShareInfoException.java.html" class="el_source">ShareInfoException.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a1"><a href="ShareUrlInfoException.java.html" class="el_source">ShareUrlInfoException.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.service/ShareUrlInfoService.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.service/ShareUrlInfoService.html
    deleted file mode 100644
    index eaa66353..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.service/ShareUrlInfoService.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ShareUrlInfoService</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.share.service</a> &gt; <span class="el_class">ShareUrlInfoService</span></div><h1>ShareUrlInfoService</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">26 of 26</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">9</td><td class="ctr2">9</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="ShareUrlInfoService.java.html#L19" class="el_method">getShortenShareUrl(Integer)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="21" alt="21"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">8</td><td class="ctr2" id="i0">8</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="ShareUrlInfoService.java.html#L27" class="el_method">lambda$getShortenShareUrl$0()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="28" height="10" title="5" alt="5"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.service/ShareUrlInfoService.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.service/ShareUrlInfoService.java.html
    deleted file mode 100644
    index 28614087..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.service/ShareUrlInfoService.java.html
    +++ /dev/null
    @@ -1,37 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ShareUrlInfoService.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.share.service</a> &gt; <span class="el_source">ShareUrlInfoService.java</span></div><h1>ShareUrlInfoService.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.share.service;
    -
    -import com.softeer.backend.fo_domain.share.dto.ShareUrlInfoResponseDto;
    -import com.softeer.backend.fo_domain.share.exception.ShareInfoException;
    -import com.softeer.backend.fo_domain.share.repository.ShareUrlInfoRepository;
    -import com.softeer.backend.global.common.code.status.ErrorStatus;
    -import lombok.RequiredArgsConstructor;
    -import org.springframework.stereotype.Service;
    -
    -@Service
    -@RequiredArgsConstructor
    -public class ShareUrlInfoService {
    -    public static final String NON_USER_SHARE_URL = &quot;https://softeer.site&quot;;
    -    public static final String BASE_URL = &quot;https://softeer.site/share/&quot;;
    -
    -    private final ShareUrlInfoRepository shareUrlInfoRepository;
    -
    -    public ShareUrlInfoResponseDto getShortenShareUrl(Integer userId) {
    -<span class="nc bnc" id="L19" title="All 2 branches missed.">        if (userId == null) {</span>
    -            // 로그인하지 않은 사용자
    -<span class="nc" id="L21">            return ShareUrlInfoResponseDto.builder()</span>
    -<span class="nc" id="L22">                    .shareUrl(NON_USER_SHARE_URL)</span>
    -<span class="nc" id="L23">                    .build();</span>
    -        } else {
    -            // 로그인한 사용자
    -<span class="nc" id="L26">            String shareCode = shareUrlInfoRepository.findShareUrlByUserId(userId).orElseThrow(</span>
    -<span class="nc" id="L27">                    () -&gt; new ShareInfoException(ErrorStatus._NOT_FOUND)</span>
    -            );
    -
    -            // DB에 이미 생성된 단축 url 코드 반환
    -<span class="nc" id="L31">            return ShareUrlInfoResponseDto.builder()</span>
    -<span class="nc" id="L32">                    .shareUrl(BASE_URL + shareCode)</span>
    -<span class="nc" id="L33">                    .build();</span>
    -        }
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.service/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.service/index.html
    deleted file mode 100644
    index f7cac8e9..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.service/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.share.service</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.share.service</span></div><h1>com.softeer.backend.fo_domain.share.service</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">26 of 26</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">9</td><td class="ctr2">9</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="ShareUrlInfoService.html" class="el_class">ShareUrlInfoService</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="26" alt="26"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">9</td><td class="ctr2" id="i0">9</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.service/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.service/index.source.html
    deleted file mode 100644
    index f799b1cd..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.share.service/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.share.service</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.share.service</span></div><h1>com.softeer.backend.fo_domain.share.service</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">26 of 26</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">9</td><td class="ctr2">9</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="ShareUrlInfoService.java.html" class="el_source">ShareUrlInfoService.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="26" alt="26"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">9</td><td class="ctr2" id="i0">9</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/RedisVerificationPrefix.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/RedisVerificationPrefix.html
    deleted file mode 100644
    index 12d8342d..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/RedisVerificationPrefix.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>RedisVerificationPrefix</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.user.constatnt</a> &gt; <span class="el_class">RedisVerificationPrefix</span></div><h1>RedisVerificationPrefix</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">32 of 32</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">7</td><td class="ctr2">7</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="RedisVerificationPrefix.java.html#L5" class="el_method">static {...}</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="24" alt="24"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">4</td><td class="ctr2" id="i0">4</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="RedisVerificationPrefix.java.html#L13" class="el_method">RedisVerificationPrefix(String, int, String)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="40" height="10" title="8" alt="8"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">3</td><td class="ctr2" id="i1">3</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/RedisVerificationPrefix.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/RedisVerificationPrefix.java.html
    deleted file mode 100644
    index b26c3c80..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/RedisVerificationPrefix.java.html
    +++ /dev/null
    @@ -1,17 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>RedisVerificationPrefix.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.user.constatnt</a> &gt; <span class="el_source">RedisVerificationPrefix.java</span></div><h1>RedisVerificationPrefix.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.user.constatnt;
    -
    -import lombok.Getter;
    -
    -<span class="nc" id="L5">@Getter</span>
    -public enum RedisVerificationPrefix {
    -<span class="nc" id="L7">    VERIFICATION_CODE(&quot;VERIFICATION_CODE:&quot;), // 인증코드의 Redis key prefix</span>
    -<span class="nc" id="L8">    VERIFICATION_ISSUE_COUNT(&quot;VERIFICATION_ISSUE_COUNT:&quot;), // 인증코드 발급 횟수의 Redis key prefix</span>
    -<span class="nc" id="L9">    VERIFICATION_ATTEMPTS(&quot;VERIFICATION_ATTEMPTS:&quot;); // 인증코드 시도 횟수의 Redis key prefix</span>
    -
    -    private final String prefix;
    -
    -<span class="nc" id="L13">    RedisVerificationPrefix(String prefix) {</span>
    -<span class="nc" id="L14">        this.prefix = prefix;</span>
    -<span class="nc" id="L15">    }</span>
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/VerificationProperty.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/VerificationProperty.html
    deleted file mode 100644
    index bfac80d4..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/VerificationProperty.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>VerificationProperty</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.user.constatnt</a> &gt; <span class="el_class">VerificationProperty</span></div><h1>VerificationProperty</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">42 of 42</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">8</td><td class="ctr2">8</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="VerificationProperty.java.html#L6" class="el_method">static {...}</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="34" alt="34"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">5</td><td class="ctr2" id="i0">5</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="VerificationProperty.java.html#L16" class="el_method">VerificationProperty(String, int, int)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="28" height="10" title="8" alt="8"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">3</td><td class="ctr2" id="i1">3</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/VerificationProperty.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/VerificationProperty.java.html
    deleted file mode 100644
    index 24881b4c..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/VerificationProperty.java.html
    +++ /dev/null
    @@ -1,21 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>VerificationProperty.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.user.constatnt</a> &gt; <span class="el_source">VerificationProperty.java</span></div><h1>VerificationProperty.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.user.constatnt;
    -
    -import lombok.Getter;
    -import lombok.extern.slf4j.Slf4j;
    -
    -<span class="nc" id="L6">@Slf4j</span>
    -@Getter
    -public enum VerificationProperty {
    -<span class="nc" id="L9">    TIME_LIMIT(300), // 인증코드 유효시간(단위: sec)</span>
    -<span class="nc" id="L10">    CODE_LENGTH(6), // 인증코드의 길이</span>
    -<span class="nc" id="L11">    MAX_ATTEMPTS(3), // 인증코드의 인증 제한 횟수</span>
    -<span class="nc" id="L12">    CODE_ISSUE_ATTEMPTS(5); // 인증코드 발급 제한 횟수</span>
    -
    -    private final int value;
    -
    -<span class="nc" id="L16">    VerificationProperty(int value) {</span>
    -<span class="nc" id="L17">        this.value = value;</span>
    -<span class="nc" id="L18">    }</span>
    -
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/index.html
    deleted file mode 100644
    index 8f6afdf2..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.user.constatnt</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.user.constatnt</span></div><h1>com.softeer.backend.fo_domain.user.constatnt</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">74 of 74</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">15</td><td class="ctr2">15</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="VerificationProperty.html" class="el_class">VerificationProperty</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="42" alt="42"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">8</td><td class="ctr2" id="i0">8</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="RedisVerificationPrefix.html" class="el_class">RedisVerificationPrefix</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="91" height="10" title="32" alt="32"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">2</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h1">7</td><td class="ctr2" id="i1">7</td><td class="ctr1" id="j1">2</td><td class="ctr2" id="k1">2</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/index.source.html
    deleted file mode 100644
    index 1f135248..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.constatnt/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.user.constatnt</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.user.constatnt</span></div><h1>com.softeer.backend.fo_domain.user.constatnt</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">74 of 74</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">15</td><td class="ctr2">15</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="VerificationProperty.java.html" class="el_source">VerificationProperty.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="42" alt="42"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">8</td><td class="ctr2" id="i0">8</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="RedisVerificationPrefix.java.html" class="el_source">RedisVerificationPrefix.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="91" height="10" title="32" alt="32"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">2</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h1">7</td><td class="ctr2" id="i1">7</td><td class="ctr1" id="j1">2</td><td class="ctr2" id="k1">2</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/LoginController.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/LoginController.html
    deleted file mode 100644
    index cae4d81f..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/LoginController.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>LoginController</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.user.controller</a> &gt; <span class="el_class">LoginController</span></div><h1>LoginController</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">9 of 9</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="LoginController.java.html#L20" class="el_method">handleLogin(LoginRequestDto, String)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="9" alt="9"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/LoginController.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/LoginController.java.html
    deleted file mode 100644
    index 88dd481a..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/LoginController.java.html
    +++ /dev/null
    @@ -1,26 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>LoginController.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.user.controller</a> &gt; <span class="el_source">LoginController.java</span></div><h1>LoginController.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.user.controller;
    -
    -import com.softeer.backend.fo_domain.user.dto.LoginRequestDto;
    -import com.softeer.backend.global.common.dto.JwtTokenResponseDto;
    -import com.softeer.backend.fo_domain.user.service.LoginService;
    -import com.softeer.backend.global.common.response.ResponseDto;
    -import jakarta.validation.Valid;
    -import lombok.RequiredArgsConstructor;
    -import org.springframework.web.bind.annotation.*;
    -
    -@RestController
    -@RequiredArgsConstructor
    -public class LoginController {
    -
    -    private final LoginService loginService;
    -
    -    @PostMapping(&quot;/login&quot;)
    -    ResponseDto&lt;JwtTokenResponseDto&gt; handleLogin(@Valid @RequestBody LoginRequestDto loginRequestDto,
    -                                                 @RequestHeader(value = &quot;shareCode&quot;, required = false) String shareCode) {
    -<span class="nc" id="L20">        JwtTokenResponseDto jwtTokenResponseDto = loginService.handleLogin(loginRequestDto, shareCode);</span>
    -
    -<span class="nc" id="L22">        return ResponseDto.onSuccess(jwtTokenResponseDto);</span>
    -    }
    -
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/VerificationController.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/VerificationController.html
    deleted file mode 100644
    index d3546cef..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/VerificationController.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>VerificationController</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.user.controller</a> &gt; <span class="el_class">VerificationController</span></div><h1>VerificationController</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">27 of 27</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">6</td><td class="ctr2">6</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a1"><a href="VerificationController.java.html#L25" class="el_method">sendVerificationCode(VerificationCodeRequestDto)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="9" alt="9"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="VerificationController.java.html#L34" class="el_method">sendVerificationCodeTest(VerificationCodeRequestDto)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="9" alt="9"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="VerificationController.java.html#L43" class="el_method">confirmVerificationCode(ConfirmCodeRequestDto)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="9" alt="9"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">2</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/VerificationController.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/VerificationController.java.html
    deleted file mode 100644
    index 0ee526c4..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/VerificationController.java.html
    +++ /dev/null
    @@ -1,48 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>VerificationController.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.user.controller</a> &gt; <span class="el_source">VerificationController.java</span></div><h1>VerificationController.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.user.controller;
    -
    -import com.softeer.backend.fo_domain.user.dto.verification.ConfirmCodeRequestDto;
    -import com.softeer.backend.fo_domain.user.dto.verification.VerificationCodeRequestDto;
    -import com.softeer.backend.fo_domain.user.dto.verification.VerificationCodeResponseDto;
    -import com.softeer.backend.fo_domain.user.dto.verification.VerificationCodeTestResponseDto;
    -import com.softeer.backend.fo_domain.user.service.VerificationService;
    -import com.softeer.backend.global.common.response.ResponseDto;
    -import jakarta.validation.Valid;
    -import lombok.RequiredArgsConstructor;
    -import org.springframework.web.bind.annotation.PostMapping;
    -import org.springframework.web.bind.annotation.RequestBody;
    -import org.springframework.web.bind.annotation.RequestMapping;
    -import org.springframework.web.bind.annotation.RestController;
    -
    -@RestController
    -@RequiredArgsConstructor
    -@RequestMapping(&quot;/verification&quot;)
    -public class VerificationController {
    -    private final VerificationService verificationService;
    -
    -    @PostMapping(&quot;/send&quot;)
    -    public ResponseDto&lt;VerificationCodeResponseDto&gt; sendVerificationCode(@Valid @RequestBody VerificationCodeRequestDto verificationCodeRequestDto) {
    -
    -<span class="nc" id="L25">        VerificationCodeResponseDto response = verificationService.sendVerificationCode(verificationCodeRequestDto.getPhoneNumber());</span>
    -
    -<span class="nc" id="L27">        return ResponseDto.onSuccess(response);</span>
    -
    -    }
    -
    -    @PostMapping(&quot;/send/test&quot;)
    -    public ResponseDto&lt;VerificationCodeTestResponseDto&gt; sendVerificationCodeTest(@Valid @RequestBody VerificationCodeRequestDto verificationCodeRequestDto) {
    -
    -<span class="nc" id="L34">        VerificationCodeTestResponseDto response = verificationService.sendVerificationCodeTest(verificationCodeRequestDto.getPhoneNumber());</span>
    -
    -<span class="nc" id="L36">        return ResponseDto.onSuccess(response);</span>
    -
    -    }
    -
    -    @PostMapping(&quot;/confirm&quot;)
    -    public ResponseDto&lt;Void&gt; confirmVerificationCode(@Valid @RequestBody ConfirmCodeRequestDto confirmCodeRequestDto) {
    -
    -<span class="nc" id="L43">        verificationService.confirmVerificationCode(confirmCodeRequestDto.getPhoneNumber(), confirmCodeRequestDto.getVerificationCode());</span>
    -
    -<span class="nc" id="L45">        return ResponseDto.onSuccess();</span>
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/index.html
    deleted file mode 100644
    index 86c06551..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.user.controller</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.user.controller</span></div><h1>com.softeer.backend.fo_domain.user.controller</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">36 of 36</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">8</td><td class="ctr2">8</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="VerificationController.html" class="el_class">VerificationController</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="27" alt="27"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">6</td><td class="ctr2" id="i0">6</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k0">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="LoginController.html" class="el_class">LoginController</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="40" height="10" title="9" alt="9"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/index.source.html
    deleted file mode 100644
    index 6907c074..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.controller/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.user.controller</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.user.controller</span></div><h1>com.softeer.backend.fo_domain.user.controller</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">36 of 36</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">8</td><td class="ctr2">8</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="VerificationController.java.html" class="el_source">VerificationController.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="27" alt="27"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">6</td><td class="ctr2" id="i0">6</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k0">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="LoginController.java.html" class="el_source">LoginController.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="40" height="10" title="9" alt="9"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.exception/UserException.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.exception/UserException.html
    deleted file mode 100644
    index 4a6c72c1..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.exception/UserException.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>UserException</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.user.exception</a> &gt; <span class="el_class">UserException</span></div><h1>UserException</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="UserException.java.html#L9" class="el_method">UserException(BaseErrorCode)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.exception/UserException.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.exception/UserException.java.html
    deleted file mode 100644
    index e2731eaa..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.exception/UserException.java.html
    +++ /dev/null
    @@ -1,12 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>UserException.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.user.exception</a> &gt; <span class="el_source">UserException.java</span></div><h1>UserException.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.user.exception;
    -
    -import com.softeer.backend.global.common.code.BaseErrorCode;
    -import com.softeer.backend.global.common.exception.GeneralException;
    -
    -public class UserException extends GeneralException {
    -
    -    public UserException(BaseErrorCode code) {
    -<span class="nc" id="L9">        super(code);</span>
    -<span class="nc" id="L10">    }</span>
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.exception/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.exception/index.html
    deleted file mode 100644
    index 7842f078..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.exception/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.user.exception</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.user.exception</span></div><h1>com.softeer.backend.fo_domain.user.exception</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="UserException.html" class="el_class">UserException</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.exception/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.exception/index.source.html
    deleted file mode 100644
    index 7c2fe46b..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.exception/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.user.exception</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.user.exception</span></div><h1>com.softeer.backend.fo_domain.user.exception</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="UserException.java.html" class="el_source">UserException.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.properties/SmsProperties.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.properties/SmsProperties.html
    deleted file mode 100644
    index 56ec2bea..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.properties/SmsProperties.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>SmsProperties</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.user.properties</a> &gt; <span class="el_class">SmsProperties</span></div><h1>SmsProperties</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">15 of 15</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">6</td><td class="ctr2">6</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="SmsProperties.java.html#L19" class="el_method">SmsProperties(String, String, String, String)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="15" alt="15"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">6</td><td class="ctr2" id="i0">6</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.properties/SmsProperties.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.properties/SmsProperties.java.html
    deleted file mode 100644
    index a6b61138..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.properties/SmsProperties.java.html
    +++ /dev/null
    @@ -1,26 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>SmsProperties.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.user.properties</a> &gt; <span class="el_source">SmsProperties.java</span></div><h1>SmsProperties.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.user.properties;
    -
    -import lombok.Getter;
    -import org.springframework.boot.context.properties.ConfigurationProperties;
    -import org.springframework.boot.context.properties.bind.ConstructorBinding;
    -
    -/**
    - * CoolSms Api 속성 관리 클래스
    - */
    -@Getter
    -@ConfigurationProperties(&quot;coolsms.api&quot;)
    -public class SmsProperties {
    -    private final String key;
    -    private final String secret;
    -    private final String senderNumber;
    -    private final String url;
    -
    -    @ConstructorBinding
    -<span class="nc" id="L19">    public SmsProperties(String key, String secret, String senderNumber, String url) {</span>
    -<span class="nc" id="L20">        this.key = key;</span>
    -<span class="nc" id="L21">        this.secret = secret;</span>
    -<span class="nc" id="L22">        this.senderNumber = senderNumber;</span>
    -<span class="nc" id="L23">        this.url = url;</span>
    -<span class="nc" id="L24">    }</span>
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.properties/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.properties/index.html
    deleted file mode 100644
    index b1bf7467..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.properties/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.user.properties</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.user.properties</span></div><h1>com.softeer.backend.fo_domain.user.properties</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">15 of 15</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">6</td><td class="ctr2">6</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="SmsProperties.html" class="el_class">SmsProperties</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="15" alt="15"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">6</td><td class="ctr2" id="i0">6</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.properties/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.properties/index.source.html
    deleted file mode 100644
    index 7e88c385..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.properties/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.user.properties</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.user.properties</span></div><h1>com.softeer.backend.fo_domain.user.properties</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">15 of 15</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">6</td><td class="ctr2">6</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="SmsProperties.java.html" class="el_source">SmsProperties.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="15" alt="15"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">6</td><td class="ctr2" id="i0">6</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/LoginService.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/LoginService.html
    deleted file mode 100644
    index b3a44c03..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/LoginService.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>LoginService</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.user.service</a> &gt; <span class="el_class">LoginService</span></div><h1>LoginService</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">181 of 181</td><td class="ctr2">0%</td><td class="bar">10 of 10</td><td class="ctr2">0%</td><td class="ctr1">11</td><td class="ctr2">11</td><td class="ctr1">54</td><td class="ctr2">54</td><td class="ctr1">6</td><td class="ctr2">6</td></tr></tfoot><tbody><tr><td id="a3"><a href="LoginService.java.html#L46" class="el_method">handleLogin(LoginRequestDto, String)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="108" alt="108"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="8" alt="8"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">5</td><td class="ctr2" id="g0">5</td><td class="ctr1" id="h0">29</td><td class="ctr2" id="i0">29</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="LoginService.java.html#L117" class="el_method">createShareUrlInfo(Integer)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="30" height="10" title="27" alt="27"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="30" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f1">2</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h1">9</td><td class="ctr2" id="i1">9</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="LoginService.java.html#L133" class="el_method">createDrawParticipationInfo(Integer)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="22" height="10" title="20" alt="20"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">8</td><td class="ctr2" id="i2">8</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a1"><a href="LoginService.java.html#L107" class="el_method">createShareInfo(Integer)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="18" height="10" title="17" alt="17"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">7</td><td class="ctr2" id="i3">7</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a4"><a href="LoginService.java.html#L81" class="el_method">lambda$handleLogin$0()</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="5" height="10" title="5" alt="5"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">1</td><td class="ctr2" id="i4">1</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a5"><a href="LoginService.java.html#L25" class="el_method">static {...}</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="4" height="10" title="4" alt="4"/></td><td class="ctr2" id="c5">0%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">1</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">1</td><td class="ctr2" id="i5">1</td><td class="ctr1" id="j5">1</td><td class="ctr2" id="k5">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/LoginService.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/LoginService.java.html
    deleted file mode 100644
    index f6e35196..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/LoginService.java.html
    +++ /dev/null
    @@ -1,143 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>LoginService.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.user.service</a> &gt; <span class="el_source">LoginService.java</span></div><h1>LoginService.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.user.service;
    -
    -import com.softeer.backend.fo_domain.draw.domain.DrawParticipationInfo;
    -import com.softeer.backend.fo_domain.draw.repository.DrawParticipationInfoRepository;
    -import com.softeer.backend.fo_domain.share.domain.ShareInfo;
    -import com.softeer.backend.fo_domain.share.domain.ShareUrlInfo;
    -import com.softeer.backend.fo_domain.share.exception.ShareUrlInfoException;
    -import com.softeer.backend.fo_domain.share.repository.ShareInfoRepository;
    -import com.softeer.backend.fo_domain.share.repository.ShareUrlInfoRepository;
    -import com.softeer.backend.fo_domain.user.domain.User;
    -import com.softeer.backend.fo_domain.user.dto.LoginRequestDto;
    -import com.softeer.backend.global.common.dto.JwtTokenResponseDto;
    -import com.softeer.backend.fo_domain.user.exception.UserException;
    -import com.softeer.backend.fo_domain.user.repository.UserRepository;
    -import com.softeer.backend.global.common.code.status.ErrorStatus;
    -import com.softeer.backend.global.common.constant.RoleType;
    -import com.softeer.backend.global.common.dto.JwtClaimsDto;
    -import com.softeer.backend.global.util.JwtUtil;
    -import com.softeer.backend.global.util.RandomCodeUtil;
    -import lombok.RequiredArgsConstructor;
    -import lombok.extern.slf4j.Slf4j;
    -import org.springframework.stereotype.Service;
    -import org.springframework.transaction.annotation.Transactional;
    -
    -<span class="nc" id="L25">@Slf4j</span>
    -@Service
    -@RequiredArgsConstructor
    -public class LoginService {
    -    private final UserRepository userRepository;
    -    private final ShareInfoRepository shareInfoRepository;
    -    private final ShareUrlInfoRepository shareUrlInfoRepository;
    -    private final DrawParticipationInfoRepository drawParticipationInfoRepository;
    -    private final JwtUtil jwtUtil;
    -
    -    /**
    -     * 1. Login 정보애서 인증 번호가 인증되지 않은 경우, 예외가 발생한다.
    -     * 2. 전화번호가 User DB에 등록되어 있지 않은 경우, DB에 User를 등록한다.
    -     * 2-1. 이 때 공유 정보, 공유 url 생성, 추첨 이벤트 참여 정보를 생성한다.
    -     * 2-2. 만약 공유 url을 통해 인증한 사용자라면 공유한 사용자의 추첨 기회를 추가해준다.
    -     * 3. 전화번호가 이미 User DB에 등록되어 있는 경우, 전화번호로 User 객체를 조회한다.
    -     * 4. User 객체의 id를 얻은 후에, access &amp; refresh token을 client에게 전달한다.
    -     */
    -    @Transactional
    -    public JwtTokenResponseDto handleLogin(LoginRequestDto loginRequestDto, String shareCode) {
    -        // 인증번호가 인증 되지 않은 경우, 예외 발생
    -<span class="nc bnc" id="L46" title="All 2 branches missed.">        if (!loginRequestDto.getHasCodeVerified()) {</span>
    -<span class="nc" id="L47">            log.error(&quot;hasCodeVerified is false in loginRequest.&quot;);</span>
    -<span class="nc" id="L48">            throw new UserException(ErrorStatus._AUTH_CODE_NOT_VERIFIED);</span>
    -        }
    -
    -        int userId;
    -
    -        // 전화번호가 User DB에 등록되어 있지 않은 경우
    -        // User를 DB에 등록
    -        // 추첨 이벤트 참여 정보 생성
    -        // 공유 정보 생성(초대한 친구 수, 남은 추첨 횟수)
    -        // 공유 url 생성
    -        // 만약 공유 url을 통해 새로 인증한 사용자라면 공유자에게 추첨 기회 1회 추가
    -<span class="nc bnc" id="L59" title="All 2 branches missed.">        if (!userRepository.existsByPhoneNumber(loginRequestDto.getPhoneNumber())) {</span>
    -<span class="nc" id="L60">            User user = User.builder()</span>
    -<span class="nc" id="L61">                    .name(loginRequestDto.getName())</span>
    -<span class="nc" id="L62">                    .phoneNumber(loginRequestDto.getPhoneNumber())</span>
    -<span class="nc" id="L63">                    .privacyConsent(loginRequestDto.getPrivacyConsent())</span>
    -<span class="nc" id="L64">                    .marketingConsent(loginRequestDto.getMarketingConsent())</span>
    -<span class="nc" id="L65">                    .build();</span>
    -
    -<span class="nc" id="L67">            User registeredUser = userRepository.save(user);</span>
    -<span class="nc" id="L68">            userId = registeredUser.getId();</span>
    -
    -<span class="nc" id="L70">            createDrawParticipationInfo(userId); // 추첨 이벤트 참여 정보 생성</span>
    -<span class="nc" id="L71">            createShareInfo(userId); // 공유 정보 생성(초대한 친구 수, 남은 추첨 횟수)</span>
    -<span class="nc" id="L72">            createShareUrlInfo(userId); // 공유 url 생성</span>
    -
    -            // 공유받은 url을 이용해 인증한다면
    -            // 공유한 사람 추첨 기회 추가
    -            // 공유한 사람의 &quot;내가 초대한 친구 수&quot; 추가
    -            // 공유받은 사람은 이미 공유 url로 참여했다고 표시해주기
    -<span class="nc bnc" id="L78" title="All 2 branches missed.">            if (shareCode != null) {</span>
    -                // 공유한 사람의 아이디
    -<span class="nc" id="L80">                Integer shareUserId = shareUrlInfoRepository.findUserIdByShareUrl(shareCode)</span>
    -<span class="nc" id="L81">                        .orElseThrow(() -&gt; new ShareUrlInfoException(ErrorStatus._NOT_FOUND));</span>
    -
    -                // 공유한 사람 추첨 기회 추가
    -<span class="nc" id="L84">                shareInfoRepository.increaseInvitedNumAndRemainDrawCount(shareUserId);</span>
    -            }
    -<span class="nc" id="L86">        }</span>
    -        // 전화번호가 이미 User DB에 등록되어 있는 경우
    -        // 전화번호로 User 객체 조회
    -        else {
    -<span class="nc" id="L90">            User user = userRepository.findByPhoneNumber(loginRequestDto.getPhoneNumber());</span>
    -
    -<span class="nc bnc" id="L92" title="All 2 branches missed.">            if(!user.getName().equals(loginRequestDto.getName()))</span>
    -<span class="nc" id="L93">                throw new UserException(ErrorStatus._AUTH_USERNAME_NOT_MATCH);</span>
    -
    -<span class="nc" id="L95">            user.setMarketingConsent(loginRequestDto.getMarketingConsent());</span>
    -
    -<span class="nc" id="L97">            userId = user.getId();</span>
    -        }
    -
    -<span class="nc" id="L100">        return jwtUtil.createServiceToken(JwtClaimsDto.builder()</span>
    -<span class="nc" id="L101">                .id(userId)</span>
    -<span class="nc" id="L102">                .roleType(RoleType.ROLE_USER)</span>
    -<span class="nc" id="L103">                .build());</span>
    -    }
    -
    -    private void createShareInfo(Integer userId) {
    -<span class="nc" id="L107">        ShareInfo shareInfo = ShareInfo.builder()</span>
    -<span class="nc" id="L108">                .userId(userId)</span>
    -<span class="nc" id="L109">                .invitedNum(0)</span>
    -<span class="nc" id="L110">                .remainDrawCount(1)</span>
    -<span class="nc" id="L111">                .build();</span>
    -
    -<span class="nc" id="L113">        shareInfoRepository.save(shareInfo);</span>
    -<span class="nc" id="L114">    }</span>
    -
    -    private void createShareUrlInfo(Integer userId) {
    -<span class="nc" id="L117">        RandomCodeUtil randomCodeUtil = new RandomCodeUtil();</span>
    -        String shareCode;
    -
    -        do {
    -<span class="nc" id="L121">            shareCode = randomCodeUtil.generateRandomCode(4);</span>
    -<span class="nc bnc" id="L122" title="All 2 branches missed.">        } while (shareUrlInfoRepository.findUserIdByShareUrl(shareCode).isPresent());</span>
    -
    -<span class="nc" id="L124">        ShareUrlInfo shareUrlInfo = ShareUrlInfo.builder()</span>
    -<span class="nc" id="L125">                .userId(userId)</span>
    -<span class="nc" id="L126">                .shareUrl(shareCode)</span>
    -<span class="nc" id="L127">                .build();</span>
    -
    -<span class="nc" id="L129">        shareUrlInfoRepository.save(shareUrlInfo);</span>
    -<span class="nc" id="L130">    }</span>
    -
    -    private void createDrawParticipationInfo(Integer userId) {
    -<span class="nc" id="L133">        DrawParticipationInfo drawParticipationInfo = DrawParticipationInfo.builder()</span>
    -<span class="nc" id="L134">                .userId(userId)</span>
    -<span class="nc" id="L135">                .drawWinningCount(0)</span>
    -<span class="nc" id="L136">                .drawLosingCount(0)</span>
    -<span class="nc" id="L137">                .drawAttendanceCount(1)</span>
    -<span class="nc" id="L138">                .build();</span>
    -
    -<span class="nc" id="L140">        drawParticipationInfoRepository.save(drawParticipationInfo);</span>
    -<span class="nc" id="L141">    }</span>
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/VerificationService.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/VerificationService.html
    deleted file mode 100644
    index 31fcf5fd..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/VerificationService.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>VerificationService</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.fo_domain.user.service</a> &gt; <span class="el_class">VerificationService</span></div><h1>VerificationService</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">304 of 304</td><td class="ctr2">0%</td><td class="bar">16 of 16</td><td class="ctr2">0%</td><td class="ctr1">13</td><td class="ctr2">13</td><td class="ctr1">64</td><td class="ctr2">64</td><td class="ctr1">5</td><td class="ctr2">5</td></tr></tfoot><tbody><tr><td id="a1"><a href="VerificationService.java.html#L46" class="el_method">sendVerificationCode(String)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="104" alt="104"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="60" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f1">3</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h0">21</td><td class="ctr2" id="i0">21</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="VerificationService.java.html#L124" class="el_method">confirmVerificationCode(String, String)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="111" height="10" title="97" alt="97"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="8" alt="8"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f0">5</td><td class="ctr2" id="g0">5</td><td class="ctr1" id="h1">19</td><td class="ctr2" id="i1">19</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="VerificationService.java.html#L86" class="el_method">sendVerificationCodeTest(String)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="88" height="10" title="77" alt="77"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"><img src="../jacoco-resources/redbar.gif" width="60" height="10" title="4" alt="4"/></td><td class="ctr2" id="e2">0%</td><td class="ctr1" id="f2">3</td><td class="ctr2" id="g2">3</td><td class="ctr1" id="h2">16</td><td class="ctr2" id="i2">16</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a4"><a href="VerificationService.java.html#L31" class="el_method">VerificationService(SmsProperties, StringRedisUtil, RandomCodeUtil)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="25" height="10" title="22" alt="22"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">7</td><td class="ctr2" id="i3">7</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a3"><a href="VerificationService.java.html#L22" class="el_method">static {...}</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="4" height="10" title="4" alt="4"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">1</td><td class="ctr2" id="i4">1</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/VerificationService.java.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/VerificationService.java.html
    deleted file mode 100644
    index d239094f..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/VerificationService.java.html
    +++ /dev/null
    @@ -1,158 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>VerificationService.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.fo_domain.user.service</a> &gt; <span class="el_source">VerificationService.java</span></div><h1>VerificationService.java</h1><pre class="source lang-java linenums">package com.softeer.backend.fo_domain.user.service;
    -
    -import com.softeer.backend.fo_domain.user.constatnt.RedisVerificationPrefix;
    -import com.softeer.backend.fo_domain.user.constatnt.VerificationProperty;
    -import com.softeer.backend.fo_domain.user.dto.verification.VerificationCodeResponseDto;
    -import com.softeer.backend.fo_domain.user.dto.verification.VerificationCodeTestResponseDto;
    -import com.softeer.backend.fo_domain.user.exception.UserException;
    -import com.softeer.backend.fo_domain.user.properties.SmsProperties;
    -import com.softeer.backend.global.common.code.status.ErrorStatus;
    -import com.softeer.backend.global.util.RandomCodeUtil;
    -import com.softeer.backend.global.util.StringRedisUtil;
    -import lombok.extern.slf4j.Slf4j;
    -import net.nurigo.sdk.NurigoApp;
    -import net.nurigo.sdk.message.model.Message;
    -import net.nurigo.sdk.message.request.SingleMessageSendingRequest;
    -import net.nurigo.sdk.message.response.SingleMessageSentResponse;
    -import net.nurigo.sdk.message.service.DefaultMessageService;
    -import org.springframework.stereotype.Service;
    -
    -import java.time.LocalDateTime;
    -
    -<span class="nc" id="L22">@Slf4j</span>
    -@Service
    -public class VerificationService {
    -    private final DefaultMessageService messageService;
    -    private final StringRedisUtil stringRedisUtil;
    -    private final SmsProperties smsProperties;
    -    private final RandomCodeUtil randomCodeUtil;
    -
    -    public VerificationService(SmsProperties smsProperties, StringRedisUtil stringRedisUtil,
    -<span class="nc" id="L31">                               RandomCodeUtil randomCodeUtil) {</span>
    -<span class="nc" id="L32">        this.messageService = NurigoApp.INSTANCE.initialize(</span>
    -<span class="nc" id="L33">                smsProperties.getKey(), smsProperties.getSecret(), smsProperties.getUrl());</span>
    -<span class="nc" id="L34">        this.smsProperties = smsProperties;</span>
    -<span class="nc" id="L35">        this.stringRedisUtil = stringRedisUtil;</span>
    -<span class="nc" id="L36">        this.randomCodeUtil = randomCodeUtil;</span>
    -<span class="nc" id="L37">    }</span>
    -
    -    /**
    -     * 1. CoolSms를 사용하여 인증코드를 발급하고 인증 제한시간을 응답에 담아 반환한다.
    -     * 2. 인증 코드 발급 제한 횟수를 초과하면 내일 다시 인증하라는 응답을 전송한다.
    -     */
    -    public VerificationCodeResponseDto sendVerificationCode(String phoneNumber) {
    -
    -        // 인증코드 발급이 처음이면 redis에 발급 횟수를 저장(유효 기간: 밤 12시 전까지)
    -<span class="nc bnc" id="L46" title="All 2 branches missed.">        if (!stringRedisUtil.hasKey(RedisVerificationPrefix.VERIFICATION_ISSUE_COUNT.getPrefix() + phoneNumber)) {</span>
    -<span class="nc" id="L47">            stringRedisUtil.setDataExpireAt(RedisVerificationPrefix.VERIFICATION_ISSUE_COUNT.getPrefix() + phoneNumber,</span>
    -<span class="nc" id="L48">                    String.valueOf(1), LocalDateTime.now().toLocalDate().atStartOfDay().plusDays(1));</span>
    -
    -        }
    -        // 인증코드 발급 제한 횟수를 초과하면 예외 발생
    -        else {
    -<span class="nc" id="L53">            long issueCount = stringRedisUtil.incrementData(RedisVerificationPrefix.VERIFICATION_ISSUE_COUNT.getPrefix() + phoneNumber);</span>
    -<span class="nc bnc" id="L54" title="All 2 branches missed.">            if (issueCount &gt; VerificationProperty.CODE_ISSUE_ATTEMPTS.getValue()) {</span>
    -<span class="nc" id="L55">                log.error(&quot;Exceeded the number of code issuance attempts.&quot;);</span>
    -<span class="nc" id="L56">                throw new UserException(ErrorStatus._AUTH_CODE_ISSUE_LIMIT_EXCEEDED);</span>
    -            }
    -        }
    -
    -        // 인증코드의 인증 횟수 삭제 (초기화 기능)
    -<span class="nc" id="L61">        stringRedisUtil.deleteData(RedisVerificationPrefix.VERIFICATION_ATTEMPTS.getPrefix() + phoneNumber);</span>
    -
    -<span class="nc" id="L63">        Message message = new Message();</span>
    -<span class="nc" id="L64">        message.setFrom(smsProperties.getSenderNumber());</span>
    -<span class="nc" id="L65">        message.setTo(phoneNumber);</span>
    -
    -<span class="nc" id="L67">        String verificationCode = randomCodeUtil.generateRandomCode(</span>
    -<span class="nc" id="L68">                VerificationProperty.CODE_LENGTH.getValue());</span>
    -<span class="nc" id="L69">        message.setText(&quot;[Hyundai] 본인 확인 인증번호는 (&quot; + verificationCode + &quot;) 입니다.&quot;);</span>
    -
    -<span class="nc" id="L71">        SingleMessageSentResponse response = this.messageService.sendOne(new SingleMessageSendingRequest(message));</span>
    -<span class="nc" id="L72">        log.info(&quot;Verification code sent to {} {}&quot;, phoneNumber, response);</span>
    -
    -        // 인증코드 저장(유효시간 설정)
    -<span class="nc" id="L75">        stringRedisUtil.setDataExpire(RedisVerificationPrefix.VERIFICATION_CODE.getPrefix() + phoneNumber, verificationCode,</span>
    -<span class="nc" id="L76">                VerificationProperty.TIME_LIMIT.getValue());</span>
    -
    -<span class="nc" id="L78">        return VerificationCodeResponseDto.builder()</span>
    -<span class="nc" id="L79">                .timeLimit(VerificationProperty.TIME_LIMIT.getValue())</span>
    -<span class="nc" id="L80">                .build();</span>
    -    }
    -
    -    public VerificationCodeTestResponseDto sendVerificationCodeTest(String phoneNumber) {
    -
    -        // 인증코드 발급이 처음이면 redis에 발급 횟수를 저장(유효 기간: 밤 12시 전까지)
    -<span class="nc bnc" id="L86" title="All 2 branches missed.">        if (!stringRedisUtil.hasKey(RedisVerificationPrefix.VERIFICATION_ISSUE_COUNT.getPrefix() + phoneNumber)) {</span>
    -<span class="nc" id="L87">            stringRedisUtil.setDataExpireAt(RedisVerificationPrefix.VERIFICATION_ISSUE_COUNT.getPrefix() + phoneNumber,</span>
    -<span class="nc" id="L88">                    String.valueOf(1), LocalDateTime.now().toLocalDate().atStartOfDay().plusDays(1));</span>
    -
    -        }
    -        // 인증코드 발급 제한 횟수를 초과하면 예외 발생
    -        else {
    -<span class="nc" id="L93">            long issueCount = stringRedisUtil.incrementData(RedisVerificationPrefix.VERIFICATION_ISSUE_COUNT.getPrefix() + phoneNumber);</span>
    -<span class="nc bnc" id="L94" title="All 2 branches missed.">            if (issueCount &gt; VerificationProperty.CODE_ISSUE_ATTEMPTS.getValue()) {</span>
    -<span class="nc" id="L95">                log.error(&quot;Exceeded the number of code issuance attempts.&quot;);</span>
    -<span class="nc" id="L96">                throw new UserException(ErrorStatus._AUTH_CODE_ISSUE_LIMIT_EXCEEDED);</span>
    -            }
    -        }
    -
    -        // 인증코드의 인증 횟수 삭제 (초기화 기능)
    -<span class="nc" id="L101">        stringRedisUtil.deleteData(RedisVerificationPrefix.VERIFICATION_ATTEMPTS.getPrefix() + phoneNumber);</span>
    -
    -<span class="nc" id="L103">        String verificationCode = randomCodeUtil.generateRandomCode(</span>
    -<span class="nc" id="L104">                VerificationProperty.CODE_LENGTH.getValue());</span>
    -
    -        // 인증코드 저장(유효시간 설정)
    -<span class="nc" id="L107">        stringRedisUtil.setDataExpire(RedisVerificationPrefix.VERIFICATION_CODE.getPrefix() + phoneNumber, verificationCode,</span>
    -<span class="nc" id="L108">                VerificationProperty.TIME_LIMIT.getValue());</span>
    -
    -<span class="nc" id="L110">        return VerificationCodeTestResponseDto.builder()</span>
    -<span class="nc" id="L111">                .verificationCode(verificationCode)</span>
    -<span class="nc" id="L112">                .timeLimit(VerificationProperty.TIME_LIMIT.getValue())</span>
    -<span class="nc" id="L113">                .build();</span>
    -    }
    -
    -
    -    /**
    -     * 1. 인증 코드를 검증하여 Redis에 있는 인증코도와 같은지를 검사한다.
    -     * 2. 제한시간이 지났거나 인증코드 불일치, 혹은 인증 제한 횟수를 초과한 경우 예외를 던진다.
    -     */
    -    public void confirmVerificationCode(String phoneNumber, String verificationCode) {
    -
    -        // 인증코드의 인증 제한 횟수를 초과하면 예외 발생
    -<span class="nc bnc" id="L124" title="All 2 branches missed.">        if (stringRedisUtil.hasKey(RedisVerificationPrefix.VERIFICATION_ATTEMPTS.getPrefix() + phoneNumber)) {</span>
    -<span class="nc" id="L125">            long attemptCount = stringRedisUtil.incrementData(RedisVerificationPrefix.VERIFICATION_ATTEMPTS.getPrefix() + phoneNumber);</span>
    -<span class="nc bnc" id="L126" title="All 2 branches missed.">            if (attemptCount &gt; VerificationProperty.MAX_ATTEMPTS.getValue()) {</span>
    -<span class="nc" id="L127">                log.error(&quot;Verification code attempts exceeded.&quot;);</span>
    -<span class="nc" id="L128">                throw new UserException(ErrorStatus._AUTH_CODE_ATTEMPTS_EXCEEDED);</span>
    -            }
    -<span class="nc" id="L130">        }</span>
    -        // 인증코드의 인증 횟수 설정(유효 기간: 밤 12시 전까지)
    -        else {
    -<span class="nc" id="L133">            stringRedisUtil.setDataExpireAt(RedisVerificationPrefix.VERIFICATION_ATTEMPTS.getPrefix() + phoneNumber,</span>
    -<span class="nc" id="L134">                    String.valueOf(1), LocalDateTime.now().toLocalDate().atStartOfDay().plusDays(1));</span>
    -        }
    -
    -<span class="nc" id="L137">        String originalVerificationCode = stringRedisUtil.getData(RedisVerificationPrefix.VERIFICATION_CODE.getPrefix() + phoneNumber);</span>
    -
    -<span class="nc bnc" id="L139" title="All 2 branches missed.">        if (originalVerificationCode == null) {</span>
    -<span class="nc" id="L140">            log.error(&quot;Verification code has expired.&quot;);</span>
    -<span class="nc" id="L141">            throw new UserException(ErrorStatus._AUTH_CODE_NOT_EXIST);</span>
    -        }
    -
    -<span class="nc bnc" id="L144" title="All 2 branches missed.">        if (!originalVerificationCode.equals(verificationCode)) {</span>
    -<span class="nc" id="L145">            log.error(&quot;Verification code does not match.&quot;);</span>
    -<span class="nc" id="L146">            throw new UserException(ErrorStatus._AUTH_CODE_NOT_MATCH);</span>
    -        }
    -
    -        // 인증 성공
    -        // 인증 관련한 모든 데이터를 삭제
    -<span class="nc" id="L151">        stringRedisUtil.deleteData(RedisVerificationPrefix.VERIFICATION_ISSUE_COUNT.getPrefix() + phoneNumber);</span>
    -<span class="nc" id="L152">        stringRedisUtil.deleteData(RedisVerificationPrefix.VERIFICATION_ATTEMPTS.getPrefix() + phoneNumber);</span>
    -<span class="nc" id="L153">        stringRedisUtil.deleteData(RedisVerificationPrefix.VERIFICATION_CODE.getPrefix() + phoneNumber);</span>
    -
    -
    -<span class="nc" id="L156">    }</span>
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/index.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/index.html
    deleted file mode 100644
    index 1b4c4616..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.user.service</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.user.service</span></div><h1>com.softeer.backend.fo_domain.user.service</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">485 of 485</td><td class="ctr2">0%</td><td class="bar">26 of 26</td><td class="ctr2">0%</td><td class="ctr1">24</td><td class="ctr2">24</td><td class="ctr1">118</td><td class="ctr2">118</td><td class="ctr1">11</td><td class="ctr2">11</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="VerificationService.html" class="el_class">VerificationService</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="304" alt="304"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="16" alt="16"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">13</td><td class="ctr2" id="g0">13</td><td class="ctr1" id="h0">64</td><td class="ctr2" id="i0">64</td><td class="ctr1" id="j1">5</td><td class="ctr2" id="k1">5</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="LoginService.html" class="el_class">LoginService</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="71" height="10" title="181" alt="181"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="75" height="10" title="10" alt="10"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f1">11</td><td class="ctr2" id="g1">11</td><td class="ctr1" id="h1">54</td><td class="ctr2" id="i1">54</td><td class="ctr1" id="j0">6</td><td class="ctr2" id="k0">6</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/index.source.html
    deleted file mode 100644
    index 69c7bfca..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.fo_domain.user.service/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.fo_domain.user.service</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.fo_domain.user.service</span></div><h1>com.softeer.backend.fo_domain.user.service</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">485 of 485</td><td class="ctr2">0%</td><td class="bar">26 of 26</td><td class="ctr2">0%</td><td class="ctr1">24</td><td class="ctr2">24</td><td class="ctr1">118</td><td class="ctr2">118</td><td class="ctr1">11</td><td class="ctr2">11</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="VerificationService.java.html" class="el_source">VerificationService.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="304" alt="304"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="16" alt="16"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">13</td><td class="ctr2" id="g0">13</td><td class="ctr1" id="h0">64</td><td class="ctr2" id="i0">64</td><td class="ctr1" id="j1">5</td><td class="ctr2" id="k1">5</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="LoginService.java.html" class="el_source">LoginService.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="71" height="10" title="181" alt="181"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="75" height="10" title="10" alt="10"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f1">11</td><td class="ctr2" id="g1">11</td><td class="ctr1" id="h1">54</td><td class="ctr2" id="i1">54</td><td class="ctr1" id="j0">6</td><td class="ctr2" id="k0">6</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/AopForTransaction.html b/jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/AopForTransaction.html
    deleted file mode 100644
    index 9235e803..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/AopForTransaction.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>AopForTransaction</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.annotation.aop</a> &gt; <span class="el_class">AopForTransaction</span></div><h1>AopForTransaction</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">6 of 6</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="AopForTransaction.java.html#L12" class="el_method">AopForTransaction()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="3" alt="3"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">1</td><td class="ctr2" id="i0">1</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="AopForTransaction.java.html#L23" class="el_method">proceed(ProceedingJoinPoint)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="3" alt="3"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/AopForTransaction.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/AopForTransaction.java.html
    deleted file mode 100644
    index a9d21502..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/AopForTransaction.java.html
    +++ /dev/null
    @@ -1,26 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>AopForTransaction.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.annotation.aop</a> &gt; <span class="el_source">AopForTransaction.java</span></div><h1>AopForTransaction.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.annotation.aop;
    -
    -import org.aspectj.lang.ProceedingJoinPoint;
    -import org.springframework.stereotype.Component;
    -import org.springframework.transaction.annotation.Propagation;
    -import org.springframework.transaction.annotation.Transactional;
    -
    -/**
    - * 메서드의 transaction commit을 보장하기 위한 클래스
    - */
    -@Component
    -<span class="nc" id="L12">public class AopForTransaction {</span>
    -
    -    /**
    -     * 파라미터로 넘어온 메서드를 새로운 트랜잭션에서 실행하는 메서드
    -     *
    -     * @param joinPoint
    -     * @return 메서드의 반환값
    -     * @throws Throwable
    -     */
    -    @Transactional(propagation = Propagation.REQUIRES_NEW)
    -    public Object proceed(final ProceedingJoinPoint joinPoint) throws Throwable {
    -<span class="nc" id="L23">        return joinPoint.proceed();</span>
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/EventLockAop.html b/jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/EventLockAop.html
    deleted file mode 100644
    index dcc8bd82..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/EventLockAop.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>EventLockAop</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.annotation.aop</a> &gt; <span class="el_class">EventLockAop</span></div><h1>EventLockAop</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">77 of 77</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">18</td><td class="ctr2">18</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="EventLockAop.java.html#L34" class="el_method">lock(ProceedingJoinPoint)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="73" alt="73"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">17</td><td class="ctr2" id="i0">17</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="EventLockAop.java.html#L22" class="el_method">static {...}</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="6" height="10" title="4" alt="4"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/EventLockAop.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/EventLockAop.java.html
    deleted file mode 100644
    index b1f48d12..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/EventLockAop.java.html
    +++ /dev/null
    @@ -1,61 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>EventLockAop.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.annotation.aop</a> &gt; <span class="el_source">EventLockAop.java</span></div><h1>EventLockAop.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.annotation.aop;
    -
    -import com.softeer.backend.global.annotation.EventLock;
    -import com.softeer.backend.global.common.exception.EventLockException;
    -import com.softeer.backend.global.util.SpringELParser;
    -import lombok.RequiredArgsConstructor;
    -import lombok.extern.slf4j.Slf4j;
    -import org.aspectj.lang.ProceedingJoinPoint;
    -import org.aspectj.lang.annotation.Around;
    -import org.aspectj.lang.annotation.Aspect;
    -import org.aspectj.lang.reflect.MethodSignature;
    -import org.redisson.api.RLock;
    -import org.redisson.api.RedissonClient;
    -import org.springframework.stereotype.Component;
    -
    -import java.lang.reflect.Method;
    -
    -
    -/**
    - * 선착순, 추첨 이벤트 시에 동기화를 위한 redis lock를 설정하는 Aop 클래스
    - */
    -<span class="nc" id="L22">@Slf4j</span>
    -@Aspect
    -@Component
    -@RequiredArgsConstructor
    -public class EventLockAop {
    -    private static final String REDISSON_LOCK_PREFIX = &quot;LOCK:&quot;;
    -
    -    private final RedissonClient redissonClient;
    -    private final AopForTransaction aopForTransaction;
    -
    -    @Around(&quot;@annotation(com.softeer.backend.global.annotation.EventLock)&quot;)
    -    public Object lock(final ProceedingJoinPoint joinPoint) throws Throwable {
    -<span class="nc" id="L34">        MethodSignature signature = (MethodSignature) joinPoint.getSignature();</span>
    -<span class="nc" id="L35">        Method method = signature.getMethod();</span>
    -<span class="nc" id="L36">        EventLock eventLock = method.getAnnotation(EventLock.class);</span>
    -
    -<span class="nc" id="L38">        String key = REDISSON_LOCK_PREFIX + SpringELParser.getDynamicValue(signature.getParameterNames(), joinPoint.getArgs(), eventLock.key());</span>
    -<span class="nc" id="L39">        RLock rLock = redissonClient.getLock(key);</span>
    -
    -        try {
    -<span class="nc" id="L42">            boolean available = rLock.tryLock(eventLock.waitTime(), eventLock.leaseTime(), eventLock.timeUnit());</span>
    -<span class="nc bnc" id="L43" title="All 2 branches missed.">            if (!available) {</span>
    -<span class="nc" id="L44">                log.info(&quot;{} is locked&quot;, key);</span>
    -<span class="nc" id="L45">                throw new EventLockException(key);</span>
    -            }
    -
    -<span class="nc" id="L48">            return aopForTransaction.proceed(joinPoint);</span>
    -<span class="nc" id="L49">        } catch (InterruptedException e) {</span>
    -<span class="nc" id="L50">            log.info(&quot;Interrupted while waiting for lock, key: {}&quot;, key);</span>
    -<span class="nc" id="L51">            throw new EventLockException(key);</span>
    -        } finally {
    -            try {
    -<span class="nc" id="L54">                rLock.unlock();</span>
    -<span class="nc" id="L55">            } catch (IllegalMonitorStateException e) {</span>
    -<span class="nc" id="L56">                log.info(&quot;Redisson Lock Already UnLock, MethodName: {}, key: {}&quot;, method.getName(), key);</span>
    -<span class="nc" id="L57">            }</span>
    -        }
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/index.html b/jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/index.html
    deleted file mode 100644
    index 49bd9950..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.annotation.aop</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.annotation.aop</span></div><h1>com.softeer.backend.global.annotation.aop</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">83 of 83</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">20</td><td class="ctr2">20</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="EventLockAop.html" class="el_class">EventLockAop</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="77" alt="77"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">18</td><td class="ctr2" id="i0">18</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="AopForTransaction.html" class="el_class">AopForTransaction</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="9" height="10" title="6" alt="6"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">2</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">2</td><td class="ctr2" id="k1">2</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/index.source.html
    deleted file mode 100644
    index d2624bce..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.annotation.aop/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.annotation.aop</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.annotation.aop</span></div><h1>com.softeer.backend.global.annotation.aop</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">83 of 83</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">20</td><td class="ctr2">20</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="EventLockAop.java.html" class="el_source">EventLockAop.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="77" alt="77"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">18</td><td class="ctr2" id="i0">18</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="AopForTransaction.java.html" class="el_source">AopForTransaction.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="9" height="10" title="6" alt="6"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">2</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">2</td><td class="ctr2" id="k1">2</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.annotation.argumentresolver/AuthInfoArgumentResolver.html b/jacoco/jacocoHtml/com.softeer.backend.global.annotation.argumentresolver/AuthInfoArgumentResolver.html
    deleted file mode 100644
    index 728241b4..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.annotation.argumentresolver/AuthInfoArgumentResolver.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>AuthInfoArgumentResolver</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.annotation.argumentresolver</a> &gt; <span class="el_class">AuthInfoArgumentResolver</span></div><h1>AuthInfoArgumentResolver</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">40 of 40</td><td class="ctr2">0%</td><td class="bar">8 of 8</td><td class="ctr2">0%</td><td class="ctr1">7</td><td class="ctr2">7</td><td class="ctr1">9</td><td class="ctr2">9</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a1"><a href="AuthInfoArgumentResolver.java.html#L22" class="el_method">resolveArgument(MethodParameter, ModelAndViewContainer, NativeWebRequest, WebDataBinderFactory)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="24" alt="24"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">6</td><td class="ctr2" id="i0">6</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="AuthInfoArgumentResolver.java.html#L17" class="el_method">supportsParameter(MethodParameter)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="65" height="10" title="13" alt="13"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f1">3</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="AuthInfoArgumentResolver.java.html#L13" class="el_method">AuthInfoArgumentResolver()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="15" height="10" title="3" alt="3"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.annotation.argumentresolver/AuthInfoArgumentResolver.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.annotation.argumentresolver/AuthInfoArgumentResolver.java.html
    deleted file mode 100644
    index 1a230be4..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.annotation.argumentresolver/AuthInfoArgumentResolver.java.html
    +++ /dev/null
    @@ -1,31 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>AuthInfoArgumentResolver.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.annotation.argumentresolver</a> &gt; <span class="el_source">AuthInfoArgumentResolver.java</span></div><h1>AuthInfoArgumentResolver.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.annotation.argumentresolver;
    -
    -import com.softeer.backend.global.annotation.AuthInfo;
    -import com.softeer.backend.global.common.dto.JwtClaimsDto;
    -import jakarta.servlet.http.HttpServletRequest;
    -import lombok.NonNull;
    -import org.springframework.core.MethodParameter;
    -import org.springframework.web.bind.support.WebDataBinderFactory;
    -import org.springframework.web.context.request.NativeWebRequest;
    -import org.springframework.web.method.support.HandlerMethodArgumentResolver;
    -import org.springframework.web.method.support.ModelAndViewContainer;
    -
    -<span class="nc" id="L13">public class AuthInfoArgumentResolver implements HandlerMethodArgumentResolver {</span>
    -
    -    @Override
    -    public boolean supportsParameter(MethodParameter parameter) {
    -<span class="nc bnc" id="L17" title="All 2 branches missed.">        return parameter.getParameterAnnotation(AuthInfo.class) != null</span>
    -<span class="nc bnc" id="L18" title="All 2 branches missed.">                &amp;&amp; parameter.getParameterType().equals(Integer.class);</span>
    -    }
    -
    -    @Override
    -<span class="nc bnc" id="L22" title="All 2 branches missed.">    public Object resolveArgument(@NonNull MethodParameter parameter, ModelAndViewContainer mavContainer, NativeWebRequest webRequest, WebDataBinderFactory binderFactory) {</span>
    -<span class="nc" id="L23">        HttpServletRequest req = (HttpServletRequest) webRequest.getNativeRequest();</span>
    -<span class="nc" id="L24">        JwtClaimsDto jwtClaimsDto = (JwtClaimsDto) req.getAttribute(&quot;jwtClaims&quot;);</span>
    -<span class="nc bnc" id="L25" title="All 2 branches missed.">        if (jwtClaimsDto == null) {</span>
    -<span class="nc" id="L26">            return null;</span>
    -        }
    -<span class="nc" id="L28">        return jwtClaimsDto.getId();</span>
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.annotation.argumentresolver/index.html b/jacoco/jacocoHtml/com.softeer.backend.global.annotation.argumentresolver/index.html
    deleted file mode 100644
    index deb0f0e9..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.annotation.argumentresolver/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.annotation.argumentresolver</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.annotation.argumentresolver</span></div><h1>com.softeer.backend.global.annotation.argumentresolver</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">40 of 40</td><td class="ctr2">0%</td><td class="bar">8 of 8</td><td class="ctr2">0%</td><td class="ctr1">7</td><td class="ctr2">7</td><td class="ctr1">9</td><td class="ctr2">9</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="AuthInfoArgumentResolver.html" class="el_class">AuthInfoArgumentResolver</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="40" alt="40"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="8" alt="8"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">7</td><td class="ctr2" id="g0">7</td><td class="ctr1" id="h0">9</td><td class="ctr2" id="i0">9</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k0">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.annotation.argumentresolver/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.global.annotation.argumentresolver/index.source.html
    deleted file mode 100644
    index 12a122d7..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.annotation.argumentresolver/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.annotation.argumentresolver</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.annotation.argumentresolver</span></div><h1>com.softeer.backend.global.annotation.argumentresolver</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">40 of 40</td><td class="ctr2">0%</td><td class="bar">8 of 8</td><td class="ctr2">0%</td><td class="ctr1">7</td><td class="ctr2">7</td><td class="ctr1">9</td><td class="ctr2">9</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="AuthInfoArgumentResolver.java.html" class="el_source">AuthInfoArgumentResolver.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="40" alt="40"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="8" alt="8"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">7</td><td class="ctr2" id="g0">7</td><td class="ctr1" id="h0">9</td><td class="ctr2" id="i0">9</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k0">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/ErrorStatus.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/ErrorStatus.html
    deleted file mode 100644
    index 3773e45d..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/ErrorStatus.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ErrorStatus</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.common.code.status</a> &gt; <span class="el_class">ErrorStatus</span></div><h1>ErrorStatus</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">152 of 152</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">24</td><td class="ctr2">24</td><td class="ctr1">5</td><td class="ctr2">5</td></tr></tfoot><tbody><tr><td id="a4"><a href="ErrorStatus.java.html#L13" class="el_method">static {...}</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="129" alt="129"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">15</td><td class="ctr2" id="i0">15</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a3"><a href="ErrorStatus.java.html#L57" class="el_method">getReason()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="13" height="10" title="14" alt="14"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">6</td><td class="ctr2" id="i1">6</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="ErrorStatus.java.html#L72" class="el_method">getHttpStatus()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="2" height="10" title="3" alt="3"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a0"><a href="ErrorStatus.java.html#L82" class="el_method">getCode()</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="2" height="10" title="3" alt="3"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">1</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a1"><a href="ErrorStatus.java.html#L92" class="el_method">getErrorMsg()</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="2" height="10" title="3" alt="3"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">1</td><td class="ctr2" id="i4">1</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/ErrorStatus.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/ErrorStatus.java.html
    deleted file mode 100644
    index 547ede8c..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/ErrorStatus.java.html
    +++ /dev/null
    @@ -1,95 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ErrorStatus.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.common.code.status</a> &gt; <span class="el_source">ErrorStatus.java</span></div><h1>ErrorStatus.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.common.code.status;
    -
    -import com.softeer.backend.global.common.code.BaseErrorCode;
    -import com.softeer.backend.global.common.response.ResponseDto;
    -import lombok.Getter;
    -import lombok.RequiredArgsConstructor;
    -import org.springframework.http.HttpStatus;
    -
    -
    -/**
    - * 에러 응답 코드를 관리하는 Enum 클래스
    - */
    -<span class="nc" id="L13">@Getter</span>
    -@RequiredArgsConstructor
    -public enum ErrorStatus implements BaseErrorCode {
    -
    -    // Common Error &amp; Global Error
    -<span class="nc" id="L18">    _BAD_REQUEST(HttpStatus.BAD_REQUEST, &quot;G400&quot;, &quot;잘못된 요청입니다.&quot;),</span>
    -<span class="nc" id="L19">    _FORBIDDEN(HttpStatus.FORBIDDEN, &quot;G401&quot;, &quot;해당 요청에 대한 권한이 없습니다.&quot;),</span>
    -<span class="nc" id="L20">    _NOT_FOUND(HttpStatus.NOT_FOUND, &quot;G402&quot;, &quot;데이터를 찾지 못했습니다.&quot;),</span>
    -<span class="nc" id="L21">    _METHOD_NOT_ALLOWED(HttpStatus.METHOD_NOT_ALLOWED, &quot;G403&quot;, &quot;지원하지 않는 Http Method 입니다.&quot;),</span>
    -<span class="nc" id="L22">    _INTERNAL_SERVER_ERROR(HttpStatus.INTERNAL_SERVER_ERROR, &quot;G500&quot;, &quot;서버 에러가 발생했습니다.&quot;),</span>
    -
    -    // Validation Error
    -<span class="nc" id="L25">    _VALIDATION_ERROR(HttpStatus.BAD_REQUEST, &quot;V400&quot;, &quot;요청 필드에 대한 검증 예외가 발생했습니다.&quot;),</span>
    -
    -    // JWT Error
    -<span class="nc" id="L28">    _UNAUTHORIZED(HttpStatus.UNAUTHORIZED, &quot;J400&quot;, &quot;인증 과정에서 예외가 발생했습니다. JWT Token 재발급이 필요합니다.&quot;),</span>
    -<span class="nc" id="L29">    _REISSUE_ERROR(HttpStatus.UNAUTHORIZED, &quot;J401&quot;, &quot;JWT Token 재발급에서 예외가 발생했습니다. 로그인 요청이 필요합니다.&quot;),</span>
    -
    -    // User &amp; Auth Error
    -<span class="nc" id="L32">    _AUTH_CODE_NOT_EXIST(HttpStatus.BAD_REQUEST, &quot;A400&quot;, &quot;인증 코드 제한시간이 초과되었습니다. 인증 코드 발급 API를 호출하세요.&quot;),</span>
    -<span class="nc" id="L33">    _AUTH_CODE_NOT_MATCH(HttpStatus.BAD_REQUEST, &quot;A401&quot;, &quot;인증 코드가 일치하지 않습니다.&quot;),</span>
    -<span class="nc" id="L34">    _AUTH_CODE_ATTEMPTS_EXCEEDED(HttpStatus.BAD_REQUEST, &quot;A402&quot;,</span>
    -            &quot;인증 코드의 인증 횟수를 초과하였습니다. 인증 코드 발급 API를 호출하세요.&quot;),
    -<span class="nc" id="L36">    _AUTH_CODE_ISSUE_LIMIT_EXCEEDED(HttpStatus.BAD_REQUEST, &quot;A403&quot;,</span>
    -            &quot;인증 코드 발급 횟수를 초과하였습니다. 나중에 다시 시도하세요.&quot;),
    -<span class="nc" id="L38">    _AUTH_CODE_NOT_VERIFIED(HttpStatus.BAD_REQUEST, &quot;A404&quot;, &quot;인증되지 않은 상태에서 로그인 할 수 없습니다.&quot;),</span>
    -<span class="nc" id="L39">    _AUTH_USERNAME_NOT_MATCH(HttpStatus.BAD_REQUEST, &quot;A405&quot;, &quot;이미 등록된 번호입니다.&quot;);</span>
    -
    -    // 예외의 Http 상태값
    -    private final HttpStatus httpStatus;
    -
    -    // 예외의 커스텀 코드값
    -    private final String code;
    -
    -    // 예외 메시지
    -    private final String message;
    -
    -    /**
    -     * Error 정보를 갖고있는 ErrorReasonDto를 반환하는 메서드
    -     *
    -     * @return ErrorReasonDto 객체
    -     */
    -    @Override
    -    public ResponseDto.ErrorReasonDto getReason() {
    -<span class="nc" id="L57">        return ResponseDto.ErrorReasonDto.builder()</span>
    -<span class="nc" id="L58">                .httpStatus(this.httpStatus)</span>
    -<span class="nc" id="L59">                .isSuccess(false)</span>
    -<span class="nc" id="L60">                .code(this.code)</span>
    -<span class="nc" id="L61">                .message(this.message)</span>
    -<span class="nc" id="L62">                .build();</span>
    -    }
    -
    -    /**
    -     * HttpStatus를 반환하는 메서드
    -     *
    -     * @return HttpStatus 객체
    -     */
    -    @Override
    -    public HttpStatus getHttpStatus() {
    -<span class="nc" id="L72">        return httpStatus;</span>
    -    }
    -
    -    /**
    -     * 예외 코드를 반환하는 메서드
    -     *
    -     * @return 커스텀 코드값
    -     */
    -    @Override
    -    public String getCode() {
    -<span class="nc" id="L82">        return code;</span>
    -    }
    -
    -    /**
    -     * 예외 메시지를 반환하는 메서드
    -     *
    -     * @return 예외 메시지
    -     */
    -    @Override
    -    public String getErrorMsg() {
    -<span class="nc" id="L92">        return message;</span>
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/SuccessStatus.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/SuccessStatus.html
    deleted file mode 100644
    index 82c9fcfd..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/SuccessStatus.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>SuccessStatus</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.common.code.status</a> &gt; <span class="el_class">SuccessStatus</span></div><h1>SuccessStatus</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">32 of 32</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">10</td><td class="ctr2">10</td><td class="ctr1">4</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a2"><a href="SuccessStatus.java.html#L35" class="el_method">getReason()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="14" alt="14"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">6</td><td class="ctr2" id="i0">6</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a3"><a href="SuccessStatus.java.html#L12" class="el_method">static {...}</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="102" height="10" title="12" alt="12"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="SuccessStatus.java.html#L50" class="el_method">getCode()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="25" height="10" title="3" alt="3"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a1"><a href="SuccessStatus.java.html#L60" class="el_method">getMsg()</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="25" height="10" title="3" alt="3"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">1</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/SuccessStatus.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/SuccessStatus.java.html
    deleted file mode 100644
    index c8f4e1b4..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/SuccessStatus.java.html
    +++ /dev/null
    @@ -1,63 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>SuccessStatus.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.common.code.status</a> &gt; <span class="el_source">SuccessStatus.java</span></div><h1>SuccessStatus.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.common.code.status;
    -
    -import com.softeer.backend.global.common.code.BaseCode;
    -import com.softeer.backend.global.common.response.ResponseDto;
    -import lombok.Getter;
    -import lombok.RequiredArgsConstructor;
    -import org.springframework.http.HttpStatus;
    -
    -/**
    - * 성공 응답 코드를 관리하는 Enum 클래스
    - */
    -<span class="nc" id="L12">@Getter</span>
    -@RequiredArgsConstructor
    -public enum SuccessStatus implements BaseCode {
    -    // Success
    -<span class="nc" id="L16">    _OK(HttpStatus.OK, &quot;S200&quot;, &quot;요청 처리 성공&quot;);</span>
    -
    -    // 예외의 Http 상태값
    -    private final HttpStatus httpStatus;
    -
    -    // 예외의 커스텀 코드값
    -    private final String code;
    -
    -    // 예외 메시지
    -    private final String message;
    -
    -
    -    /**
    -     * 성공 응답 정보를 갖고있는 ReasonDto를 반환하는 메서드
    -     *
    -     * @return ReasonDto 객체
    -     */
    -    @Override
    -    public ResponseDto.ReasonDto getReason() {
    -<span class="nc" id="L35">        return ResponseDto.ReasonDto.builder()</span>
    -<span class="nc" id="L36">                .httpStatus(this.httpStatus)</span>
    -<span class="nc" id="L37">                .isSuccess(true)</span>
    -<span class="nc" id="L38">                .code(this.code)</span>
    -<span class="nc" id="L39">                .message(this.message)</span>
    -<span class="nc" id="L40">                .build();</span>
    -    }
    -
    -    /**
    -     * 성공 코드를 반환하는 메서드
    -     *
    -     * @return 커스텀 코드값
    -     */
    -    @Override
    -    public String getCode() {
    -<span class="nc" id="L50">        return this.code;</span>
    -    }
    -
    -    /**
    -     * 성공 메시지를 반환하는 메서드
    -     *
    -     * @return 예외 메시지
    -     */
    -    @Override
    -    public String getMsg() {
    -<span class="nc" id="L60">        return this.message;</span>
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/index.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/index.html
    deleted file mode 100644
    index bd1dc1c5..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.common.code.status</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.common.code.status</span></div><h1>com.softeer.backend.global.common.code.status</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">184 of 184</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">9</td><td class="ctr2">9</td><td class="ctr1">34</td><td class="ctr2">34</td><td class="ctr1">9</td><td class="ctr2">9</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="ErrorStatus.html" class="el_class">ErrorStatus</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="152" alt="152"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">5</td><td class="ctr2" id="g0">5</td><td class="ctr1" id="h0">24</td><td class="ctr2" id="i0">24</td><td class="ctr1" id="j0">5</td><td class="ctr2" id="k0">5</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a1"><a href="SuccessStatus.html" class="el_class">SuccessStatus</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="25" height="10" title="32" alt="32"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">4</td><td class="ctr2" id="g1">4</td><td class="ctr1" id="h1">10</td><td class="ctr2" id="i1">10</td><td class="ctr1" id="j1">4</td><td class="ctr2" id="k1">4</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/index.source.html
    deleted file mode 100644
    index 4cc13f24..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.common.code.status/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.common.code.status</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.common.code.status</span></div><h1>com.softeer.backend.global.common.code.status</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">184 of 184</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">9</td><td class="ctr2">9</td><td class="ctr1">34</td><td class="ctr2">34</td><td class="ctr1">9</td><td class="ctr2">9</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="ErrorStatus.java.html" class="el_source">ErrorStatus.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="152" alt="152"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">5</td><td class="ctr2" id="g0">5</td><td class="ctr1" id="h0">24</td><td class="ctr2" id="i0">24</td><td class="ctr1" id="j0">5</td><td class="ctr2" id="k0">5</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a1"><a href="SuccessStatus.java.html" class="el_source">SuccessStatus.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="25" height="10" title="32" alt="32"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">4</td><td class="ctr2" id="g1">4</td><td class="ctr1" id="h1">10</td><td class="ctr2" id="i1">10</td><td class="ctr1" id="j1">4</td><td class="ctr2" id="k1">4</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/RedisKeyPrefix.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/RedisKeyPrefix.html
    deleted file mode 100644
    index 0804cbc6..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/RedisKeyPrefix.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>RedisKeyPrefix</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.common.constant</a> &gt; <span class="el_class">RedisKeyPrefix</span></div><h1>RedisKeyPrefix</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">67 of 67</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="RedisKeyPrefix.java.html#L5" class="el_method">static {...}</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="59" alt="59"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">9</td><td class="ctr2" id="i0">9</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="RedisKeyPrefix.java.html#L24" class="el_method">RedisKeyPrefix(String, int, String)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="16" height="10" title="8" alt="8"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">3</td><td class="ctr2" id="i1">3</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/RedisKeyPrefix.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/RedisKeyPrefix.java.html
    deleted file mode 100644
    index 01c43b38..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/RedisKeyPrefix.java.html
    +++ /dev/null
    @@ -1,28 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>RedisKeyPrefix.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.common.constant</a> &gt; <span class="el_source">RedisKeyPrefix.java</span></div><h1>RedisKeyPrefix.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.common.constant;
    -
    -import lombok.Getter;
    -
    -<span class="nc" id="L5">@Getter</span>
    -public enum RedisKeyPrefix {
    -    // 선착순
    -<span class="nc" id="L8">    FCFS_USERID_PREFIX(&quot;FCFS_WINNER_&quot;),</span>
    -<span class="nc" id="L9">    FCFS_CODE_PREFIX(&quot;FCFS_CODE_&quot;),</span>
    -<span class="nc" id="L10">    FCFS_CODE_USERID_PREFIX(&quot;FCFS_CODE_USERID_&quot;),</span>
    -<span class="nc" id="L11">    FCFS_PARTICIPANT_COUNT_PREFIX(&quot;FCFS_PARTICIPANT_COUNT&quot;),</span>
    -
    -    // 추첨
    -<span class="nc" id="L14">    DRAW_LOCK_PREFIX(&quot;LOCK:DRAW_WINNER&quot;),</span>
    -<span class="nc" id="L15">    DRAW_WINNER_LIST_PREFIX(&quot;LOCK:DRAW_WINNER_LIST_&quot;),</span>
    -<span class="nc" id="L16">    DRAW_PARTICIPANT_COUNT_PREFIX(&quot;DRAW_PARTICIPANT_COUNT&quot;),</span>
    -
    -    // 사이트 방문자 수
    -<span class="nc" id="L19">    TOTAL_VISITORS_COUNT_PREFIX(&quot;TOTAL_VISITORS_COUNT_&quot;);</span>
    -
    -
    -    private final String prefix;
    -
    -<span class="nc" id="L24">    RedisKeyPrefix(String prefix) {</span>
    -<span class="nc" id="L25">        this.prefix = prefix;</span>
    -<span class="nc" id="L26">    }</span>
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/RoleType.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/RoleType.html
    deleted file mode 100644
    index 2ca41327..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/RoleType.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>RoleType</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.common.constant</a> &gt; <span class="el_class">RoleType</span></div><h1>RoleType</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">25 of 25</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">6</td><td class="ctr2">6</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="RoleType.java.html#L9" class="el_method">static {...}</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="17" alt="17"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">3</td><td class="ctr2" id="i0">3</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="RoleType.java.html#L18" class="el_method">RoleType(String, int, String)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="56" height="10" title="8" alt="8"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">3</td><td class="ctr2" id="i1">3</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/RoleType.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/RoleType.java.html
    deleted file mode 100644
    index f8e98e78..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/RoleType.java.html
    +++ /dev/null
    @@ -1,23 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>RoleType.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.common.constant</a> &gt; <span class="el_source">RoleType.java</span></div><h1>RoleType.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.common.constant;
    -
    -import lombok.Getter;
    -import lombok.RequiredArgsConstructor;
    -
    -/**
    - * 유저의 권한 정보
    - */
    -<span class="nc" id="L9">@Getter</span>
    -@RequiredArgsConstructor
    -public enum RoleType {
    -
    -<span class="nc" id="L13">    ROLE_USER(&quot;USER_&quot;), // 일반 유저</span>
    -<span class="nc" id="L14">    ROLE_ADMIN(&quot;ADMIN_&quot;); // 관리자 유저</span>
    -
    -    String redisKeyPrefix;
    -
    -<span class="nc" id="L18">    RoleType(String redisKeyPrefix) {</span>
    -<span class="nc" id="L19">        this.redisKeyPrefix = redisKeyPrefix;</span>
    -<span class="nc" id="L20">    }</span>
    -
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/ValidationConstant.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/ValidationConstant.html
    deleted file mode 100644
    index 0f3c836c..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/ValidationConstant.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ValidationConstant</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.common.constant</a> &gt; <span class="el_class">ValidationConstant</span></div><h1>ValidationConstant</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">3 of 3</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="ValidationConstant.java.html#L5" class="el_method">ValidationConstant()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="3" alt="3"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">1</td><td class="ctr2" id="i0">1</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/ValidationConstant.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/ValidationConstant.java.html
    deleted file mode 100644
    index 5264e566..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/ValidationConstant.java.html
    +++ /dev/null
    @@ -1,27 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ValidationConstant.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.common.constant</a> &gt; <span class="el_source">ValidationConstant.java</span></div><h1>ValidationConstant.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.common.constant;
    -
    -import lombok.Getter;
    -
    -<span class="nc" id="L5">public class ValidationConstant {</span>
    -    public static final String PHONE_NUMBER_REGEX = &quot;^01[016789]\\d{8}$&quot;;
    -    public static final String PHONE_NUMBER_MSG = &quot;잘못된 전화번호 형식입니다.&quot;;
    -
    -    public static final String VERIFICATION_CODE_REGEX = &quot;^[a-zA-Z0-9]{6}$&quot;;
    -    public static final String VERIFICATION_CODE_MSG = &quot;잘못된 인증코드 형식입니다.&quot;;
    -
    -    // 최소 4자에서 최대 20자까지 허용
    -    // 영어 대문자, 소문자, 숫자 허용
    -    public static final String ADMIN_ACCOUNT_REGEX = &quot;^[a-zA-Z0-9]{4,20}$&quot;;
    -    public static final String ADMIN_ACCOUNT_MSG = &quot;잘못된 아이디 형식입니다.&quot;;
    -
    -    // 최소 8자에서 최대 20자까지 허용
    -    // 적어도 하나의 대문자, 소문자, 숫자, 특수문자 포함
    -    // 허용할 특수문자: @, #, $, %, &amp;, *, !, ^
    -    public static final String ADMIN_PASSWORD_REGEX = &quot;^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[@#$%^&amp;*!])[A-Za-z\\d@#$%^&amp;*!]{8,20}$&quot;;
    -    public static final String ADMIN_PASSWORD_MSG = &quot;잘못된 비밀번호 형식입니다.&quot;;
    -
    -    public static final String MIN_VALUE_MSG = &quot;값은 최소 {value}이어야 합니다.&quot;;
    -    public static final String MAX_VALUE_MSG = &quot;값은 최대 {value}이어야 합니다.&quot;;
    -
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/index.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/index.html
    deleted file mode 100644
    index b342d38c..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.common.constant</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.common.constant</span></div><h1>com.softeer.backend.global.common.constant</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">95 of 95</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">19</td><td class="ctr2">19</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a0"><a href="RedisKeyPrefix.html" class="el_class">RedisKeyPrefix</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="67" alt="67"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">12</td><td class="ctr2" id="i0">12</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a1"><a href="RoleType.html" class="el_class">RoleType</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="44" height="10" title="25" alt="25"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">2</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h1">6</td><td class="ctr2" id="i1">6</td><td class="ctr1" id="j1">2</td><td class="ctr2" id="k1">2</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a2"><a href="ValidationConstant.html" class="el_class">ValidationConstant</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="5" height="10" title="3" alt="3"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/index.source.html
    deleted file mode 100644
    index 81c57535..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.common.constant/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.common.constant</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.common.constant</span></div><h1>com.softeer.backend.global.common.constant</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">95 of 95</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">19</td><td class="ctr2">19</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a0"><a href="RedisKeyPrefix.java.html" class="el_source">RedisKeyPrefix.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="67" alt="67"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">12</td><td class="ctr2" id="i0">12</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a1"><a href="RoleType.java.html" class="el_source">RoleType.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="44" height="10" title="25" alt="25"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">2</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h1">6</td><td class="ctr2" id="i1">6</td><td class="ctr1" id="j1">2</td><td class="ctr2" id="k1">2</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a2"><a href="ValidationConstant.java.html" class="el_source">ValidationConstant.java</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="5" height="10" title="3" alt="3"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/ExceptionAdvice.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/ExceptionAdvice.html
    deleted file mode 100644
    index afa4af82..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/ExceptionAdvice.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ExceptionAdvice</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.common.exception</a> &gt; <span class="el_class">ExceptionAdvice</span></div><h1>ExceptionAdvice</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">207 of 207</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">17</td><td class="ctr2">17</td><td class="ctr1">43</td><td class="ctr2">43</td><td class="ctr1">16</td><td class="ctr2">16</td></tr></tfoot><tbody><tr><td id="a5"><a href="ExceptionAdvice.java.html#L135" class="el_method">handleEventLockExceptionInternal(EventLockException, HttpHeaders, WebRequest)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="26" alt="26"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">7</td><td class="ctr2" id="i0">7</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a7"><a href="ExceptionAdvice.java.html#L119" class="el_method">handleGeneralExceptionInternal(Exception, ResponseDto.ErrorReasonDto, HttpHeaders, WebRequest)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="92" height="10" title="20" alt="20"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">4</td><td class="ctr2" id="i1">4</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="ExceptionAdvice.java.html#L158" class="el_method">handleConstraintExceptionInternal(Exception, ErrorStatus, HttpHeaders, WebRequest, List)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="92" height="10" title="20" alt="20"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">4</td><td class="ctr2" id="i2">4</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a1"><a href="ExceptionAdvice.java.html#L173" class="el_method">handleArgsExceptionInternal(Exception, HttpHeaders, ErrorStatus, WebRequest, Map)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="92" height="10" title="20" alt="20"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">4</td><td class="ctr2" id="i3">4</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a9"><a href="ExceptionAdvice.java.html#L188" class="el_method">handleGlobalExceptionInternal(Exception, ErrorStatus, HttpHeaders, HttpStatus, WebRequest, String)</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="87" height="10" title="19" alt="19"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h7">3</td><td class="ctr2" id="i7">3</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a10"><a href="ExceptionAdvice.java.html#L81" class="el_method">handleMethodArgumentNotValid(MethodArgumentNotValidException, HttpHeaders, HttpStatusCode, WebRequest)</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="83" height="10" title="18" alt="18"/></td><td class="ctr2" id="c5">0%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">1</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h4">4</td><td class="ctr2" id="i4">4</td><td class="ctr1" id="j5">1</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a13"><a href="ExceptionAdvice.java.html#L85" class="el_method">lambda$handleMethodArgumentNotValid$2(Map, FieldError)</a></td><td class="bar" id="b6"><img src="../jacoco-resources/redbar.gif" width="78" height="10" title="17" alt="17"/></td><td class="ctr2" id="c6">0%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">1</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h5">4</td><td class="ctr2" id="i5">4</td><td class="ctr1" id="j6">1</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a11"><a href="ExceptionAdvice.java.html#L57" class="el_method">handleValidationException(ConstraintViolationException, WebRequest)</a></td><td class="bar" id="b7"><img src="../jacoco-resources/redbar.gif" width="69" height="10" title="15" alt="15"/></td><td class="ctr2" id="c7">0%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">1</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h6">4</td><td class="ctr2" id="i6">4</td><td class="ctr1" id="j7">1</td><td class="ctr2" id="k7">1</td></tr><tr><td id="a8"><a href="ExceptionAdvice.java.html#L104" class="el_method">handleGlobalException(Exception, WebRequest)</a></td><td class="bar" id="b8"><img src="../jacoco-resources/redbar.gif" width="50" height="10" title="11" alt="11"/></td><td class="ctr2" id="c8">0%</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f8">1</td><td class="ctr2" id="g8">1</td><td class="ctr1" id="h10">1</td><td class="ctr2" id="i10">1</td><td class="ctr1" id="j8">1</td><td class="ctr2" id="k8">1</td></tr><tr><td id="a6"><a href="ExceptionAdvice.java.html#L38" class="el_method">handleGeneralException(GeneralException, WebRequest)</a></td><td class="bar" id="b9"><img src="../jacoco-resources/redbar.gif" width="46" height="10" title="10" alt="10"/></td><td class="ctr2" id="c9">0%</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f9">1</td><td class="ctr2" id="g9">1</td><td class="ctr1" id="h8">2</td><td class="ctr2" id="i8">2</td><td class="ctr1" id="j9">1</td><td class="ctr2" id="k9">1</td></tr><tr><td id="a3"><a href="ExceptionAdvice.java.html#L112" class="el_method">handleDataAccessException(DataAccessException)</a></td><td class="bar" id="b10"><img src="../jacoco-resources/redbar.gif" width="32" height="10" title="7" alt="7"/></td><td class="ctr2" id="c10">0%</td><td class="bar" id="d10"/><td class="ctr2" id="e10">n/a</td><td class="ctr1" id="f10">1</td><td class="ctr2" id="g10">1</td><td class="ctr1" id="h9">2</td><td class="ctr2" id="i9">2</td><td class="ctr1" id="j10">1</td><td class="ctr2" id="k10">1</td></tr><tr><td id="a14"><a href="ExceptionAdvice.java.html#L58" class="el_method">lambda$handleValidationException$0(ConstraintViolation)</a></td><td class="bar" id="b11"><img src="../jacoco-resources/redbar.gif" width="32" height="10" title="7" alt="7"/></td><td class="ctr2" id="c11">0%</td><td class="bar" id="d11"/><td class="ctr2" id="e11">n/a</td><td class="ctr1" id="f11">1</td><td class="ctr2" id="g11">1</td><td class="ctr1" id="h11">1</td><td class="ctr2" id="i11">1</td><td class="ctr1" id="j11">1</td><td class="ctr2" id="k11">1</td></tr><tr><td id="a4"><a href="ExceptionAdvice.java.html#L44" class="el_method">handleEventLockException(EventLockException, WebRequest)</a></td><td class="bar" id="b12"><img src="../jacoco-resources/redbar.gif" width="27" height="10" title="6" alt="6"/></td><td class="ctr2" id="c12">0%</td><td class="bar" id="d12"/><td class="ctr2" id="e12">n/a</td><td class="ctr1" id="f12">1</td><td class="ctr2" id="g12">1</td><td class="ctr1" id="h12">1</td><td class="ctr2" id="i12">1</td><td class="ctr1" id="j12">1</td><td class="ctr2" id="k12">1</td></tr><tr><td id="a12"><a href="ExceptionAdvice.java.html#L88" class="el_method">lambda$handleMethodArgumentNotValid$1(String, String)</a></td><td class="bar" id="b13"><img src="../jacoco-resources/redbar.gif" width="18" height="10" title="4" alt="4"/></td><td class="ctr2" id="c13">0%</td><td class="bar" id="d13"/><td class="ctr2" id="e13">n/a</td><td class="ctr1" id="f13">1</td><td class="ctr2" id="g13">1</td><td class="ctr1" id="h13">1</td><td class="ctr2" id="i13">1</td><td class="ctr1" id="j13">1</td><td class="ctr2" id="k13">1</td></tr><tr><td id="a15"><a href="ExceptionAdvice.java.html#L25" class="el_method">static {...}</a></td><td class="bar" id="b14"><img src="../jacoco-resources/redbar.gif" width="18" height="10" title="4" alt="4"/></td><td class="ctr2" id="c14">0%</td><td class="bar" id="d14"/><td class="ctr2" id="e14">n/a</td><td class="ctr1" id="f14">1</td><td class="ctr2" id="g14">1</td><td class="ctr1" id="h14">1</td><td class="ctr2" id="i14">1</td><td class="ctr1" id="j14">1</td><td class="ctr2" id="k14">1</td></tr><tr><td id="a0"><a href="ExceptionAdvice.java.html#L27" class="el_method">ExceptionAdvice()</a></td><td class="bar" id="b15"><img src="../jacoco-resources/redbar.gif" width="13" height="10" title="3" alt="3"/></td><td class="ctr2" id="c15">0%</td><td class="bar" id="d15"/><td class="ctr2" id="e15">n/a</td><td class="ctr1" id="f15">1</td><td class="ctr2" id="g15">1</td><td class="ctr1" id="h15">1</td><td class="ctr2" id="i15">1</td><td class="ctr1" id="j15">1</td><td class="ctr2" id="k15">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/ExceptionAdvice.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/ExceptionAdvice.java.html
    deleted file mode 100644
    index 80b4eb80..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/ExceptionAdvice.java.html
    +++ /dev/null
    @@ -1,200 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ExceptionAdvice.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.common.exception</a> &gt; <span class="el_source">ExceptionAdvice.java</span></div><h1>ExceptionAdvice.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.common.exception;
    -
    -import com.softeer.backend.global.common.code.status.ErrorStatus;
    -import com.softeer.backend.global.common.response.ResponseDto;
    -import jakarta.validation.ConstraintViolationException;
    -import lombok.extern.slf4j.Slf4j;
    -import org.springframework.dao.DataAccessException;
    -import org.springframework.http.HttpHeaders;
    -import org.springframework.http.HttpStatus;
    -import org.springframework.http.HttpStatusCode;
    -import org.springframework.http.ResponseEntity;
    -import org.springframework.web.bind.MethodArgumentNotValidException;
    -import org.springframework.web.bind.annotation.ExceptionHandler;
    -import org.springframework.web.bind.annotation.RestControllerAdvice;
    -import org.springframework.web.context.request.WebRequest;
    -import org.springframework.web.servlet.ModelAndView;
    -import org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExceptionHandler;
    -
    -import java.util.*;
    -
    -
    -/**
    - * 예외를 한 곳에서 처리하는 클래스
    - */
    -<span class="nc" id="L25">@Slf4j</span>
    -@RestControllerAdvice
    -<span class="nc" id="L27">public class ExceptionAdvice extends ResponseEntityExceptionHandler {</span>
    -
    -    /**
    -     * GeneralException을 처리하는 메서드
    -     *
    -     * @param generalException 커스텀 예외의 최고 조상 클래스
    -     * @param webRequest       client 요청 객체
    -     * @return client 응답 객체
    -     */
    -    @ExceptionHandler
    -    public ResponseEntity&lt;Object&gt; handleGeneralException(GeneralException generalException, WebRequest webRequest) {
    -<span class="nc" id="L38">        ResponseDto.ErrorReasonDto errorReasonHttpStatus = generalException.getErrorReason();</span>
    -<span class="nc" id="L39">        return handleGeneralExceptionInternal(generalException, errorReasonHttpStatus, HttpHeaders.EMPTY, webRequest);</span>
    -    }
    -
    -    @ExceptionHandler
    -    public ModelAndView handleEventLockException(EventLockException eventLockException, WebRequest webRequest) {
    -<span class="nc" id="L44">        return handleEventLockExceptionInternal(eventLockException, HttpHeaders.EMPTY, webRequest);</span>
    -    }
    -
    -    /**
    -     * ConstraintViolationException을 처리하는 메서드
    -     *
    -     * @param constraintViolationException 검증 예외
    -     * @param request                      client 요청 객체
    -     * @return client 응답 객체
    -     */
    -    @ExceptionHandler
    -    public ResponseEntity&lt;Object&gt; handleValidationException(ConstraintViolationException constraintViolationException, WebRequest request) {
    -
    -<span class="nc" id="L57">        List&lt;String&gt; errorMessages = constraintViolationException.getConstraintViolations().stream()</span>
    -<span class="nc" id="L58">                .map(violation -&gt; Optional.ofNullable(violation.getMessage()).orElse(&quot;&quot;))</span>
    -<span class="nc" id="L59">                .toList();</span>
    -
    -<span class="nc" id="L61">        return handleConstraintExceptionInternal(constraintViolationException, ErrorStatus._VALIDATION_ERROR, HttpHeaders.EMPTY, request,</span>
    -                errorMessages);
    -    }
    -
    -    /**
    -     * MethodArgumentNotValidException을 처리하는 메서드
    -     * &lt;p&gt;
    -     * ResponseEntityExceptionHandler의 메서드를 오버라이딩하여 사용한다.
    -     *
    -     * @param methodArgumentNotValidException 컨트롤러 메서드의 파라미터 객체에 대한 검증 예외
    -     * @param headers                         헤더 객체
    -     * @param status                          HttpStatusCode 값
    -     * @param request                         client 요청 객체
    -     * @return client 응답 객체
    -     */
    -    @Override
    -    public ResponseEntity&lt;Object&gt; handleMethodArgumentNotValid(
    -            MethodArgumentNotValidException methodArgumentNotValidException,
    -            HttpHeaders headers, HttpStatusCode status, WebRequest request) {
    -
    -<span class="nc" id="L81">        Map&lt;String, String&gt; errors = new LinkedHashMap&lt;&gt;();</span>
    -
    -<span class="nc" id="L83">        methodArgumentNotValidException.getBindingResult().getFieldErrors()</span>
    -<span class="nc" id="L84">                .forEach(fieldError -&gt; {</span>
    -<span class="nc" id="L85">                    String fieldName = fieldError.getField();</span>
    -<span class="nc" id="L86">                    String errorMessage = Optional.ofNullable(fieldError.getDefaultMessage()).orElse(&quot;&quot;);</span>
    -<span class="nc" id="L87">                    errors.merge(fieldName, errorMessage, (existingErrorMessage, newErrorMessage)</span>
    -<span class="nc" id="L88">                            -&gt; existingErrorMessage + &quot;, &quot; + newErrorMessage);</span>
    -<span class="nc" id="L89">                });</span>
    -
    -<span class="nc" id="L91">        return handleArgsExceptionInternal(methodArgumentNotValidException, HttpHeaders.EMPTY, ErrorStatus._VALIDATION_ERROR, request, errors);</span>
    -    }
    -
    -    /**
    -     * 나머지 모든 예외들을 처리하는 메서드
    -     *
    -     * @param e       Exception을 상속한 예외 객체
    -     * @param request client 요청 객체
    -     * @return client 응답 객체
    -     */
    -    @ExceptionHandler
    -    public ResponseEntity&lt;Object&gt; handleGlobalException(Exception e, WebRequest request) {
    -
    -<span class="nc" id="L104">        return handleGlobalExceptionInternal(e, ErrorStatus._INTERNAL_SERVER_ERROR, HttpHeaders.EMPTY, ErrorStatus._INTERNAL_SERVER_ERROR.getHttpStatus(), request, e.getMessage());</span>
    -    }
    -
    -    /**
    -     * DB 관련 예외 처리
    -     */
    -    @ExceptionHandler
    -    public void handleDataAccessException(DataAccessException e) {
    -<span class="nc" id="L112">        log.error(&quot;DataAccessException occurred: {}&quot;, e.getMessage(), e);</span>
    -<span class="nc" id="L113">    }</span>
    -
    -    // GeneralException에 대한 client 응답 객체를 생성하는 메서드
    -    private ResponseEntity&lt;Object&gt; handleGeneralExceptionInternal(Exception e, ResponseDto.ErrorReasonDto reason,
    -                                                                  HttpHeaders headers, WebRequest webRequest) {
    -
    -<span class="nc" id="L119">        log.error(&quot;GeneralException captured in ExceptionAdvice&quot;, e);</span>
    -
    -<span class="nc" id="L121">        ResponseDto&lt;Object&gt; body = ResponseDto.onFailure(reason.getCode(), reason.getMessage(), null);</span>
    -
    -<span class="nc" id="L123">        return super.handleExceptionInternal(</span>
    -                e,
    -                body,
    -                headers,
    -<span class="nc" id="L127">                reason.getHttpStatus(),</span>
    -                webRequest
    -        );
    -    }
    -
    -    // EventLockException에 대한 client 응답 객체를 생성하는 메서드
    -    private ModelAndView handleEventLockExceptionInternal(EventLockException e, HttpHeaders headers, WebRequest webRequest) {
    -
    -<span class="nc" id="L135">        log.error(&quot;EventLockException captured in ExceptionAdvice&quot;, e);</span>
    -
    -<span class="nc" id="L137">        String redissonKeyName = e.getRedissonKeyName();</span>
    -
    -<span class="nc" id="L139">        ModelAndView modelAndView = new ModelAndView();</span>
    -
    -<span class="nc bnc" id="L141" title="All 2 branches missed.">        if (redissonKeyName.contains(&quot;FCFS&quot;)){</span>
    -
    -<span class="nc" id="L143">            modelAndView.setViewName(&quot;redirect:/fcfs/result&quot;);</span>
    -<span class="nc" id="L144">            modelAndView.addObject(&quot;fcfsWin&quot;, false);</span>
    -        }
    -
    -        //TODO
    -        // DRAW 관련 예외일 경우, body 구성하는 코드 필요
    -
    -<span class="nc" id="L150">        return modelAndView;</span>
    -    }
    -
    -    // ConstraintViolationException에 대한 client 응답 객체를 생성하는 메서드
    -    private ResponseEntity&lt;Object&gt; handleConstraintExceptionInternal(Exception e, ErrorStatus errorCommonStatus,
    -                                                                     HttpHeaders headers, WebRequest request,
    -                                                                     List&lt;String&gt; errorMessages) {
    -
    -<span class="nc" id="L158">        log.error(&quot;ConstraintViolationException captured in ExceptionAdvice&quot;, e);</span>
    -
    -<span class="nc" id="L160">        ResponseDto&lt;Object&gt; body = ResponseDto.onFailure(errorCommonStatus.getCode(), errorCommonStatus.getMessage(), errorMessages);</span>
    -<span class="nc" id="L161">        return super.handleExceptionInternal(</span>
    -                e,
    -                body,
    -                headers,
    -<span class="nc" id="L165">                errorCommonStatus.getHttpStatus(),</span>
    -                request
    -        );
    -    }
    -
    -    // MethodArgumentNotValidException에 대한 client 응답 객체를 생성하는 메서드
    -    private ResponseEntity&lt;Object&gt; handleArgsExceptionInternal(Exception e, HttpHeaders headers, ErrorStatus errorCommonStatus,
    -                                                               WebRequest request, Map&lt;String, String&gt; errorArgs) {
    -<span class="nc" id="L173">        log.error(&quot;MethodArgumentNotValidException captured in ExceptionAdvice&quot;, e);</span>
    -
    -<span class="nc" id="L175">        ResponseDto&lt;Object&gt; body = ResponseDto.onFailure(errorCommonStatus.getCode(), errorCommonStatus.getMessage(), errorArgs);</span>
    -<span class="nc" id="L176">        return super.handleExceptionInternal(</span>
    -                e,
    -                body,
    -                headers,
    -<span class="nc" id="L180">                errorCommonStatus.getHttpStatus(),</span>
    -                request
    -        );
    -    }
    -
    -    // 나머지 모든 예외에 대한 client 응답 객체를 생성하는 메서드
    -    private ResponseEntity&lt;Object&gt; handleGlobalExceptionInternal(Exception e, ErrorStatus errorCommonStatus,
    -                                                                 HttpHeaders headers, HttpStatus status, WebRequest request, String errorPoint) {
    -<span class="nc" id="L188">        log.error(&quot;Exception captured in ExceptionAdvice&quot;, e);</span>
    -
    -<span class="nc" id="L190">        ResponseDto&lt;Object&gt; body = ResponseDto.onFailure(errorCommonStatus.getCode(), errorCommonStatus.getMessage(), errorPoint);</span>
    -<span class="nc" id="L191">        return super.handleExceptionInternal(</span>
    -                e,
    -                body,
    -                headers,
    -                status,
    -                request
    -        );
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/GeneralException.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/GeneralException.html
    deleted file mode 100644
    index 6e4f6702..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/GeneralException.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>GeneralException</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.common.exception</a> &gt; <span class="el_class">GeneralException</span></div><h1>GeneralException</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="GeneralException.java.html#L23" class="el_method">getErrorReason()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">1</td><td class="ctr2" id="i0">1</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/GeneralException.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/GeneralException.java.html
    deleted file mode 100644
    index 71e418ba..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/GeneralException.java.html
    +++ /dev/null
    @@ -1,27 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>GeneralException.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.common.exception</a> &gt; <span class="el_source">GeneralException.java</span></div><h1>GeneralException.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.common.exception;
    -
    -import com.softeer.backend.global.common.code.BaseErrorCode;
    -import com.softeer.backend.global.common.response.ResponseDto;
    -import lombok.AllArgsConstructor;
    -import lombok.Getter;
    -
    -/**
    - * 커스텀 예외의 최고 조상 클래스
    - */
    -@Getter
    -@AllArgsConstructor
    -public class GeneralException extends RuntimeException {
    -
    -    private final BaseErrorCode code;
    -
    -    /**
    -     * Error 정보를 갖고있는 ErrorReasonDto를 반환하는 메서드
    -     *
    -     * @return ErrorReasonDto 객체
    -     */
    -    public ResponseDto.ErrorReasonDto getErrorReason() {
    -<span class="nc" id="L23">        return this.code.getReason();</span>
    -    }
    -
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/JwtAuthenticationException.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/JwtAuthenticationException.html
    deleted file mode 100644
    index ae54edd3..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/JwtAuthenticationException.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>JwtAuthenticationException</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.common.exception</a> &gt; <span class="el_class">JwtAuthenticationException</span></div><h1>JwtAuthenticationException</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="JwtAuthenticationException.java.html#L12" class="el_method">JwtAuthenticationException(BaseErrorCode)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/JwtAuthenticationException.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/JwtAuthenticationException.java.html
    deleted file mode 100644
    index cf066fcb..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/JwtAuthenticationException.java.html
    +++ /dev/null
    @@ -1,15 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>JwtAuthenticationException.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.common.exception</a> &gt; <span class="el_source">JwtAuthenticationException.java</span></div><h1>JwtAuthenticationException.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.common.exception;
    -
    -
    -import com.softeer.backend.global.common.code.BaseErrorCode;
    -
    -/**
    - * JWT 인증 예외 클래스
    - */
    -public class JwtAuthenticationException extends GeneralException {
    -
    -    public JwtAuthenticationException(BaseErrorCode code) {
    -<span class="nc" id="L12">        super(code);</span>
    -<span class="nc" id="L13">    }</span>
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/JwtAuthorizationException.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/JwtAuthorizationException.html
    deleted file mode 100644
    index 0f9203fe..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/JwtAuthorizationException.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>JwtAuthorizationException</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.common.exception</a> &gt; <span class="el_class">JwtAuthorizationException</span></div><h1>JwtAuthorizationException</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="JwtAuthorizationException.java.html#L11" class="el_method">JwtAuthorizationException(BaseErrorCode)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/JwtAuthorizationException.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/JwtAuthorizationException.java.html
    deleted file mode 100644
    index 6ebbb304..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/JwtAuthorizationException.java.html
    +++ /dev/null
    @@ -1,14 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>JwtAuthorizationException.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.common.exception</a> &gt; <span class="el_source">JwtAuthorizationException.java</span></div><h1>JwtAuthorizationException.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.common.exception;
    -
    -import com.softeer.backend.global.common.code.BaseErrorCode;
    -
    -/**
    - * JWT 인가 예외 클래스
    - */
    -public class JwtAuthorizationException extends GeneralException {
    -
    -    public JwtAuthorizationException(BaseErrorCode code) {
    -<span class="nc" id="L11">        super(code);</span>
    -<span class="nc" id="L12">    }</span>
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/index.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/index.html
    deleted file mode 100644
    index 0494feb0..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.common.exception</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.common.exception</span></div><h1>com.softeer.backend.global.common.exception</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">219 of 219</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">20</td><td class="ctr2">20</td><td class="ctr1">48</td><td class="ctr2">48</td><td class="ctr1">19</td><td class="ctr2">19</td><td class="ctr1">4</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a0"><a href="ExceptionAdvice.html" class="el_class">ExceptionAdvice</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="207" alt="207"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">17</td><td class="ctr2" id="g0">17</td><td class="ctr1" id="h0">43</td><td class="ctr2" id="i0">43</td><td class="ctr1" id="j0">16</td><td class="ctr2" id="k0">16</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a3"><a href="JwtAuthorizationException.html" class="el_class">JwtAuthorizationException</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="2" height="10" title="4" alt="4"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a2"><a href="JwtAuthenticationException.html" class="el_class">JwtAuthenticationException</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="2" height="10" title="4" alt="4"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">2</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a1"><a href="GeneralException.html" class="el_class">GeneralException</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="2" height="10" title="4" alt="4"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">1</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td><td class="ctr1" id="l3">1</td><td class="ctr2" id="m3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/index.source.html
    deleted file mode 100644
    index da825254..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.common.exception/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.common.exception</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.common.exception</span></div><h1>com.softeer.backend.global.common.exception</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">219 of 219</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">20</td><td class="ctr2">20</td><td class="ctr1">48</td><td class="ctr2">48</td><td class="ctr1">19</td><td class="ctr2">19</td><td class="ctr1">4</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a0"><a href="ExceptionAdvice.java.html" class="el_source">ExceptionAdvice.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="207" alt="207"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">17</td><td class="ctr2" id="g0">17</td><td class="ctr1" id="h0">43</td><td class="ctr2" id="i0">43</td><td class="ctr1" id="j0">16</td><td class="ctr2" id="k0">16</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a2"><a href="JwtAuthenticationException.java.html" class="el_source">JwtAuthenticationException.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="2" height="10" title="4" alt="4"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a1"><a href="GeneralException.java.html" class="el_source">GeneralException.java</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="2" height="10" title="4" alt="4"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h3">1</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a3"><a href="JwtAuthorizationException.java.html" class="el_source">JwtAuthorizationException.java</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="2" height="10" title="4" alt="4"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h2">2</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td><td class="ctr1" id="l3">1</td><td class="ctr2" id="m3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.response/ResponseDto.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.response/ResponseDto.html
    deleted file mode 100644
    index 324293a9..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.common.response/ResponseDto.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ResponseDto</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.common.response</a> &gt; <span class="el_class">ResponseDto</span></div><h1>ResponseDto</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">53 of 53</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">5</td><td class="ctr2">5</td></tr></tfoot><tbody><tr><td id="a2"><a href="ResponseDto.java.html#L40" class="el_method">onSuccess()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="11" alt="11"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">1</td><td class="ctr2" id="i0">1</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a4"><a href="ResponseDto.java.html#L51" class="el_method">onSuccess(Object)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="11" alt="11"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a3"><a href="ResponseDto.java.html#L63" class="el_method">onSuccess(BaseCode, Object)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="11" alt="11"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a0"><a href="ResponseDto.java.html#L74" class="el_method">onFailure(BaseErrorCode)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="11" alt="11"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">1</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a1"><a href="ResponseDto.java.html#L87" class="el_method">onFailure(String, String, Object)</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="98" height="10" title="9" alt="9"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">1</td><td class="ctr2" id="i4">1</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.response/ResponseDto.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.response/ResponseDto.java.html
    deleted file mode 100644
    index 283df28c..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.common.response/ResponseDto.java.html
    +++ /dev/null
    @@ -1,114 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ResponseDto.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.common.response</a> &gt; <span class="el_source">ResponseDto.java</span></div><h1>ResponseDto.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.common.response;
    -
    -import com.fasterxml.jackson.annotation.JsonInclude;
    -import com.fasterxml.jackson.annotation.JsonProperty;
    -import com.fasterxml.jackson.annotation.JsonPropertyOrder;
    -import com.softeer.backend.global.common.code.BaseCode;
    -import com.softeer.backend.global.common.code.BaseErrorCode;
    -import com.softeer.backend.global.common.code.status.SuccessStatus;
    -import lombok.AllArgsConstructor;
    -import lombok.Builder;
    -import lombok.Getter;
    -import org.springframework.http.HttpStatus;
    -
    -/**
    - * Client 응답 객체 클래스
    - *
    - * @param &lt;T&gt; 응답에 담을 객체 타입
    - */
    -@Getter
    -@AllArgsConstructor
    -@JsonPropertyOrder({&quot;isSuccess&quot;, &quot;code&quot;, &quot;message&quot;, &quot;result&quot;})
    -public class ResponseDto&lt;T&gt; {
    -
    -    // client 요청 처리 성공 여부값
    -    @JsonProperty(&quot;isSuccess&quot;)
    -    private final Boolean isSuccess;
    -    // 커스텀 상태 코드값
    -    private final String code;
    -    // 응답 메시지
    -    private final String message;
    -
    -    // 응답에 담을 객체
    -    @JsonInclude(JsonInclude.Include.NON_NULL)
    -    private final T result;
    -
    -    /**
    -     * 요청 처리에는 성공했지만, 보낼 데이터가 없을 경우 사용하는 메서드
    -     */
    -    public static &lt;T&gt; ResponseDto&lt;T&gt; onSuccess() {
    -<span class="nc" id="L40">        return new ResponseDto&lt;&gt;(true, SuccessStatus._OK.getCode(), SuccessStatus._OK.getMessage(), null);</span>
    -    }
    -
    -    /**
    -     * client 요청 처리 성공 시의 응답값을 생성하는 메서드
    -     *
    -     * @param result client 응답에 넣을 객체
    -     * @param &lt;T&gt;    응답에 담을 객체 타입
    -     * @return client 응답 객체
    -     */
    -    public static &lt;T&gt; ResponseDto&lt;T&gt; onSuccess(T result) {
    -<span class="nc" id="L51">        return new ResponseDto&lt;&gt;(true, SuccessStatus._OK.getCode(), SuccessStatus._OK.getMessage(), result);</span>
    -    }
    -
    -    /**
    -     * client 요청 처리 성공 시의 응답값을 생성하는 메서드
    -     *
    -     * @param code   성공 응답 코드
    -     * @param result client 응답에 넣을 객체
    -     * @param &lt;T&gt;    응답에 담을 객체 타입
    -     * @return client 응답 객체
    -     */
    -    public static &lt;T&gt; ResponseDto&lt;T&gt; onSuccess(BaseCode code, T result) {
    -<span class="nc" id="L63">        return new ResponseDto&lt;&gt;(true, code.getCode(), code.getMsg(), result);</span>
    -    }
    -
    -    /**
    -     * client 요청 처리 실패 시의 응답값을 생성하는 메서드
    -     *
    -     * @param code 실패 응답 코드
    -     * @param &lt;T&gt;  응답에 담을 객체 타입
    -     * @return client 응답 객체
    -     */
    -    public static &lt;T&gt; ResponseDto&lt;T&gt; onFailure(BaseErrorCode code) {
    -<span class="nc" id="L74">        return new ResponseDto&lt;&gt;(false, code.getCode(), code.getErrorMsg(), null);</span>
    -    }
    -
    -    /**
    -     * client 요청 처리 실패 시의 응답값을 생성하는 메서드
    -     *
    -     * @param code    code 실패 응답 코드
    -     * @param message 실패 응답 메시지
    -     * @param result  client 응답에 넣을 객체
    -     * @param &lt;T&gt;     응답에 담을 객체 타입
    -     * @return client 응답 객체
    -     */
    -    public static &lt;T&gt; ResponseDto&lt;T&gt; onFailure(String code, String message, T result) {
    -<span class="nc" id="L87">        return new ResponseDto&lt;&gt;(false, code, message, result);</span>
    -    }
    -
    -    /**
    -     * Error 정보를 갖고 있는 내부 클래스
    -     */
    -    @Getter
    -    @Builder
    -    public static class ErrorReasonDto {
    -        private HttpStatus httpStatus;
    -        private final boolean isSuccess;
    -        private final String code;
    -        private final String message;
    -    }
    -
    -    /**
    -     * 성공 응답 정보를 갖고 있는 내부 클래스
    -     */
    -    @Getter
    -    @Builder
    -    public static class ReasonDto {
    -        private HttpStatus httpStatus;
    -        private final boolean isSuccess;
    -        private final String code;
    -        private final String message;
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.response/index.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.response/index.html
    deleted file mode 100644
    index 7781e211..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.common.response/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.common.response</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.common.response</span></div><h1>com.softeer.backend.global.common.response</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">53 of 53</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="ResponseDto.html" class="el_class">ResponseDto</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="53" alt="53"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">5</td><td class="ctr2" id="g0">5</td><td class="ctr1" id="h0">5</td><td class="ctr2" id="i0">5</td><td class="ctr1" id="j0">5</td><td class="ctr2" id="k0">5</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.response/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.response/index.source.html
    deleted file mode 100644
    index 486a0d3f..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.common.response/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.common.response</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.common.response</span></div><h1>com.softeer.backend.global.common.response</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">53 of 53</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="ResponseDto.java.html" class="el_source">ResponseDto.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="53" alt="53"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">5</td><td class="ctr2" id="g0">5</td><td class="ctr1" id="h0">5</td><td class="ctr2" id="i0">5</td><td class="ctr1" id="j0">5</td><td class="ctr2" id="k0">5</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.swagger/SwaggerController.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.swagger/SwaggerController.html
    deleted file mode 100644
    index 09fd055f..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.common.swagger/SwaggerController.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>SwaggerController</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.common.swagger</a> &gt; <span class="el_class">SwaggerController</span></div><h1>SwaggerController</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">5 of 5</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="SwaggerController.java.html#L7" class="el_method">SwaggerController()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="3" alt="3"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">1</td><td class="ctr2" id="i0">1</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="SwaggerController.java.html#L11" class="el_method">getRedirectUrl()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="80" height="10" title="2" alt="2"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.swagger/SwaggerController.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.swagger/SwaggerController.java.html
    deleted file mode 100644
    index d7796586..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.common.swagger/SwaggerController.java.html
    +++ /dev/null
    @@ -1,14 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>SwaggerController.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.common.swagger</a> &gt; <span class="el_source">SwaggerController.java</span></div><h1>SwaggerController.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.common.swagger;
    -
    -import org.springframework.stereotype.Controller;
    -import org.springframework.web.bind.annotation.RequestMapping;
    -
    -@Controller
    -<span class="nc" id="L7">public class SwaggerController {</span>
    -
    -    @RequestMapping(&quot;/swagger&quot;)
    -    public String getRedirectUrl() {
    -<span class="nc" id="L11">        return &quot;redirect:swagger-ui/index.html&quot;;</span>
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.swagger/index.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.swagger/index.html
    deleted file mode 100644
    index 58308a40..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.common.swagger/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.common.swagger</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.common.swagger</span></div><h1>com.softeer.backend.global.common.swagger</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">5 of 5</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="SwaggerController.html" class="el_class">SwaggerController</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="5" alt="5"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.common.swagger/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.global.common.swagger/index.source.html
    deleted file mode 100644
    index 76234594..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.common.swagger/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.common.swagger</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.common.swagger</span></div><h1>com.softeer.backend.global.common.swagger</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">5 of 5</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="SwaggerController.java.html" class="el_source">SwaggerController.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="5" alt="5"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.cache/CacheConfig.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.cache/CacheConfig.html
    deleted file mode 100644
    index 04eb493b..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.config.cache/CacheConfig.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>CacheConfig</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.config.cache</a> &gt; <span class="el_class">CacheConfig</span></div><h1>CacheConfig</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">45 of 45</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">4</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a1"><a href="CacheConfig.java.html#L22" class="el_method">cacheManager()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="20" alt="20"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">10</td><td class="ctr2" id="i0">10</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="CacheConfig.java.html#L30" class="el_method">lambda$cacheManager$0(Object, Object, RemovalCause)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="108" height="10" title="18" alt="18"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a3"><a href="CacheConfig.java.html#L15" class="el_method">static {...}</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="24" height="10" title="4" alt="4"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a0"><a href="CacheConfig.java.html#L18" class="el_method">CacheConfig()</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="18" height="10" title="3" alt="3"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">1</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.cache/CacheConfig.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.cache/CacheConfig.java.html
    deleted file mode 100644
    index 89472093..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.config.cache/CacheConfig.java.html
    +++ /dev/null
    @@ -1,35 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>CacheConfig.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.config.cache</a> &gt; <span class="el_source">CacheConfig.java</span></div><h1>CacheConfig.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.config.cache;
    -
    -import com.github.benmanes.caffeine.cache.Caffeine;
    -import lombok.extern.slf4j.Slf4j;
    -import org.springframework.cache.CacheManager;
    -import org.springframework.cache.annotation.EnableCaching;
    -import org.springframework.cache.caffeine.CaffeineCacheManager;
    -import org.springframework.cache.concurrent.ConcurrentMapCacheManager;
    -import org.springframework.context.annotation.Bean;
    -import org.springframework.context.annotation.Configuration;
    -
    -import java.util.List;
    -import java.util.concurrent.TimeUnit;
    -
    -<span class="nc" id="L15">@Slf4j</span>
    -@Configuration
    -@EnableCaching
    -<span class="nc" id="L18">public class CacheConfig {</span>
    -
    -    @Bean
    -    public CacheManager cacheManager() {
    -<span class="nc" id="L22">        CaffeineCacheManager cacheManager = new CaffeineCacheManager();</span>
    -<span class="nc" id="L23">        cacheManager.setCaffeine(</span>
    -<span class="nc" id="L24">                Caffeine.newBuilder()</span>
    -<span class="nc" id="L25">                        .expireAfterAccess(1, TimeUnit.DAYS) //첫 번재 접근 후 1일 경과 후, 제거</span>
    -<span class="nc" id="L26">                        .initialCapacity(200) //초기 크기 설정</span>
    -<span class="nc" id="L27">                        .softValues() // 값 객체에 대한 부드러움 참조: 메모리가 부족할 때만 GC가 일어남. GC가 수집 대상으로 판단하더라도 GC가 일어나지 않음</span>
    -<span class="nc" id="L28">                        .maximumSize(1000) // 최대 크기 설정</span>
    -<span class="nc" id="L29">                        .recordStats() // 캐시 지표 기록</span>
    -<span class="nc" id="L30">                        .removalListener((key ,value, cause) -&gt; log.debug(&quot;key: {}, value: {}가 제거 되었습니다. cause: {}&quot;, key, value, cause))</span>
    -        );
    -<span class="nc" id="L32">        return cacheManager;</span>
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.cache/index.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.cache/index.html
    deleted file mode 100644
    index 5f673827..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.config.cache/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.config.cache</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.config.cache</span></div><h1>com.softeer.backend.global.config.cache</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">45 of 45</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="CacheConfig.html" class="el_class">CacheConfig</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="45" alt="45"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">12</td><td class="ctr2" id="i0">12</td><td class="ctr1" id="j0">4</td><td class="ctr2" id="k0">4</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.cache/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.cache/index.source.html
    deleted file mode 100644
    index 47612f26..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.config.cache/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.config.cache</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.config.cache</span></div><h1>com.softeer.backend.global.config.cache</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">45 of 45</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="CacheConfig.java.html" class="el_source">CacheConfig.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="45" alt="45"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">12</td><td class="ctr2" id="i0">12</td><td class="ctr1" id="j0">4</td><td class="ctr2" id="k0">4</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.docs/SwaggerConfig.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.docs/SwaggerConfig.html
    deleted file mode 100644
    index 6070f9cd..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.config.docs/SwaggerConfig.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>SwaggerConfig</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.config.docs</a> &gt; <span class="el_class">SwaggerConfig</span></div><h1>SwaggerConfig</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">70 of 70</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">24</td><td class="ctr2">24</td><td class="ctr1">4</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a3"><a href="SwaggerConfig.java.html#L46" class="el_method">getOpenApi()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="28" alt="28"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">9</td><td class="ctr2" id="i0">9</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="SwaggerConfig.java.html#L59" class="el_method">getJwtSecurityScheme()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="68" height="10" title="16" alt="16"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">6</td><td class="ctr2" id="i1">6</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="SwaggerConfig.java.html#L36" class="el_method">chatOpenApi()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="60" height="10" title="14" alt="14"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">5</td><td class="ctr2" id="i2">5</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a1"><a href="SwaggerConfig.java.html#L68" class="el_method">getJwtRefreshSecurityScheme()</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="51" height="10" title="12" alt="12"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">4</td><td class="ctr2" id="i3">4</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.docs/SwaggerConfig.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.docs/SwaggerConfig.java.html
    deleted file mode 100644
    index c628de15..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.config.docs/SwaggerConfig.java.html
    +++ /dev/null
    @@ -1,74 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>SwaggerConfig.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.config.docs</a> &gt; <span class="el_source">SwaggerConfig.java</span></div><h1>SwaggerConfig.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.config.docs;
    -
    -import com.softeer.backend.global.config.properties.JwtProperties;
    -import io.swagger.v3.oas.annotations.OpenAPIDefinition;
    -import io.swagger.v3.oas.annotations.info.Info;
    -import io.swagger.v3.oas.annotations.servers.Server;
    -import io.swagger.v3.oas.models.Components;
    -import io.swagger.v3.oas.models.OpenAPI;
    -import io.swagger.v3.oas.models.security.SecurityRequirement;
    -import io.swagger.v3.oas.models.security.SecurityScheme;
    -import lombok.RequiredArgsConstructor;
    -import org.springdoc.core.models.GroupedOpenApi;
    -import org.springframework.context.annotation.Bean;
    -import org.springframework.context.annotation.Configuration;
    -
    -/**
    - * Swagger 설정 클래스
    - */
    -@OpenAPIDefinition(
    -        info = @Info(title = &quot;T라미숙해&quot;,
    -                description = &quot;T라미숙해 api명세&quot;,
    -                version = &quot;v1&quot;),
    -        servers = {
    -                @Server(url = &quot;https://softeer.shop&quot;),
    -                @Server(url = &quot;http://localhost:5000&quot;)
    -        }
    -)
    -@RequiredArgsConstructor
    -@Configuration
    -public class SwaggerConfig {
    -
    -    private final JwtProperties jwtProperties;
    -
    -    @Bean
    -    public GroupedOpenApi chatOpenApi() {
    -<span class="nc" id="L36">        String[] paths = {&quot;/**&quot;};</span>
    -
    -<span class="nc" id="L38">        return GroupedOpenApi.builder()</span>
    -<span class="nc" id="L39">                .group(&quot;T라미숙해 API v1&quot;)</span>
    -<span class="nc" id="L40">                .pathsToMatch(paths)</span>
    -<span class="nc" id="L41">                .build();</span>
    -    }
    -
    -    @Bean
    -    public OpenAPI getOpenApi() {
    -<span class="nc" id="L46">        Components components = new Components()</span>
    -<span class="nc" id="L47">                .addSecuritySchemes(&quot;AccessToken&quot;, getJwtSecurityScheme())</span>
    -<span class="nc" id="L48">                .addSecuritySchemes(&quot;RefreshToken&quot;, getJwtRefreshSecurityScheme());</span>
    -<span class="nc" id="L49">        SecurityRequirement securityItem = new SecurityRequirement()</span>
    -<span class="nc" id="L50">                .addList(&quot;AccessToken&quot;)</span>
    -<span class="nc" id="L51">                .addList(&quot;RefreshToken&quot;);</span>
    -
    -<span class="nc" id="L53">        return new OpenAPI()</span>
    -<span class="nc" id="L54">                .components(components)</span>
    -<span class="nc" id="L55">                .addSecurityItem(securityItem);</span>
    -    }
    -
    -    private SecurityScheme getJwtSecurityScheme() {
    -<span class="nc" id="L59">        return new SecurityScheme()</span>
    -<span class="nc" id="L60">                .type(SecurityScheme.Type.HTTP)</span>
    -<span class="nc" id="L61">                .scheme(&quot;bearer&quot;)</span>
    -<span class="nc" id="L62">                .bearerFormat(&quot;JWT&quot;)</span>
    -<span class="nc" id="L63">                .in(SecurityScheme.In.HEADER)</span>
    -<span class="nc" id="L64">                .name(jwtProperties.getAccessHeader());</span>
    -    }
    -
    -    private SecurityScheme getJwtRefreshSecurityScheme() {
    -<span class="nc" id="L68">        return new SecurityScheme()</span>
    -<span class="nc" id="L69">                .type(SecurityScheme.Type.APIKEY)</span>
    -<span class="nc" id="L70">                .in(SecurityScheme.In.HEADER)</span>
    -<span class="nc" id="L71">                .name(jwtProperties.getRefreshHeader());</span>
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.docs/index.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.docs/index.html
    deleted file mode 100644
    index 369ffe69..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.config.docs/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.config.docs</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.config.docs</span></div><h1>com.softeer.backend.global.config.docs</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">70 of 70</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">24</td><td class="ctr2">24</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="SwaggerConfig.html" class="el_class">SwaggerConfig</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="70" alt="70"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">24</td><td class="ctr2" id="i0">24</td><td class="ctr1" id="j0">4</td><td class="ctr2" id="k0">4</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.docs/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.docs/index.source.html
    deleted file mode 100644
    index 33948ed0..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.config.docs/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.config.docs</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.config.docs</span></div><h1>com.softeer.backend.global.config.docs</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">70 of 70</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">24</td><td class="ctr2">24</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="SwaggerConfig.java.html" class="el_source">SwaggerConfig.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="70" alt="70"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">4</td><td class="ctr1" id="h0">24</td><td class="ctr2" id="i0">24</td><td class="ctr1" id="j0">4</td><td class="ctr2" id="k0">4</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.properties/JwtProperties.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.properties/JwtProperties.html
    deleted file mode 100644
    index a2c42548..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.config.properties/JwtProperties.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>JwtProperties</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.config.properties</a> &gt; <span class="el_class">JwtProperties</span></div><h1>JwtProperties</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">21 of 21</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">8</td><td class="ctr2">8</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="JwtProperties.java.html#L29" class="el_method">JwtProperties(String, String, String, String, Long, Long)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="21" alt="21"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">8</td><td class="ctr2" id="i0">8</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.properties/JwtProperties.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.properties/JwtProperties.java.html
    deleted file mode 100644
    index 913c50df..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.config.properties/JwtProperties.java.html
    +++ /dev/null
    @@ -1,38 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>JwtProperties.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.config.properties</a> &gt; <span class="el_source">JwtProperties.java</span></div><h1>JwtProperties.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.config.properties;
    -
    -import lombok.Getter;
    -import org.springframework.boot.context.properties.ConfigurationProperties;
    -import org.springframework.boot.context.properties.bind.ConstructorBinding;
    -
    -/**
    - * JWT 속성 관리 클래스
    - * &lt;p&gt;
    - * bearer: JWT 토큰 타입
    - * secret: JWT 비밀 키
    - * accessHeader: Access Token 헤더 이름
    - * refreshHeader: Refresh Token 헤더 이름
    - * accessExpiration: Access Token 유효 기간
    - * refreshExpiration: Refresh Token 유효 기간
    - */
    -@Getter
    -@ConfigurationProperties(&quot;jwt&quot;)
    -public class JwtProperties {
    -    private final String bearer;
    -    private final String secret;
    -    private final String accessHeader;
    -    private final String refreshHeader;
    -    private final Long accessExpiration;
    -    private final Long refreshExpiration;
    -
    -    @ConstructorBinding
    -    public JwtProperties(String bearer, String secret, String accessHeader, String refreshHeader,
    -<span class="nc" id="L29">                         Long accessExpiration, Long refreshExpiration) {</span>
    -<span class="nc" id="L30">        this.bearer = bearer;</span>
    -<span class="nc" id="L31">        this.secret = secret;</span>
    -<span class="nc" id="L32">        this.accessHeader = accessHeader;</span>
    -<span class="nc" id="L33">        this.refreshHeader = refreshHeader;</span>
    -<span class="nc" id="L34">        this.accessExpiration = accessExpiration;</span>
    -<span class="nc" id="L35">        this.refreshExpiration = refreshExpiration;</span>
    -<span class="nc" id="L36">    }</span>
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.properties/RedisProperties.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.properties/RedisProperties.html
    deleted file mode 100644
    index 3538406a..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.config.properties/RedisProperties.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>RedisProperties</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.config.properties</a> &gt; <span class="el_class">RedisProperties</span></div><h1>RedisProperties</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">9 of 9</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="RedisProperties.java.html#L20" class="el_method">RedisProperties(String, Integer)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="9" alt="9"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">4</td><td class="ctr2" id="i0">4</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.properties/RedisProperties.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.properties/RedisProperties.java.html
    deleted file mode 100644
    index 2740aac6..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.config.properties/RedisProperties.java.html
    +++ /dev/null
    @@ -1,25 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>RedisProperties.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.config.properties</a> &gt; <span class="el_source">RedisProperties.java</span></div><h1>RedisProperties.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.config.properties;
    -
    -import lombok.Getter;
    -import org.springframework.boot.context.properties.ConfigurationProperties;
    -import org.springframework.boot.context.properties.bind.ConstructorBinding;
    -
    -/**
    - * Redis 속성 관리 클래스
    - * &lt;p&gt;
    - * host: Redis host 정보
    - * port: Redis 포트 정보
    - */
    -@Getter
    -@ConfigurationProperties(&quot;spring.data.redis&quot;)
    -public class RedisProperties {
    -    private final String host;
    -    private final Integer port;
    -
    -    @ConstructorBinding
    -<span class="nc" id="L20">    public RedisProperties(String host, Integer port) {</span>
    -<span class="nc" id="L21">        this.host = host;</span>
    -<span class="nc" id="L22">        this.port = port;</span>
    -<span class="nc" id="L23">    }</span>
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.properties/index.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.properties/index.html
    deleted file mode 100644
    index 1b6eea94..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.config.properties/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.config.properties</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.config.properties</span></div><h1>com.softeer.backend.global.config.properties</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">30 of 30</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="JwtProperties.html" class="el_class">JwtProperties</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="21" alt="21"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">8</td><td class="ctr2" id="i0">8</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a1"><a href="RedisProperties.html" class="el_class">RedisProperties</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="51" height="10" title="9" alt="9"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">4</td><td class="ctr2" id="i1">4</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.properties/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.properties/index.source.html
    deleted file mode 100644
    index a99eb421..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.config.properties/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.config.properties</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.config.properties</span></div><h1>com.softeer.backend.global.config.properties</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">30 of 30</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="JwtProperties.java.html" class="el_source">JwtProperties.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="21" alt="21"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">8</td><td class="ctr2" id="i0">8</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a1"><a href="RedisProperties.java.html" class="el_source">RedisProperties.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="51" height="10" title="9" alt="9"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">4</td><td class="ctr2" id="i1">4</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.redis/RedisConfig.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.redis/RedisConfig.html
    deleted file mode 100644
    index 9e1b4667..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.config.redis/RedisConfig.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>RedisConfig</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.config.redis</a> &gt; <span class="el_class">RedisConfig</span></div><h1>RedisConfig</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">60 of 60</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a2"><a href="RedisConfig.java.html#L33" class="el_method">redisTemplateForInteger(RedisConnectionFactory)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="31" alt="31"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">7</td><td class="ctr2" id="i0">7</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="RedisConfig.java.html#L55" class="el_method">redissonClient()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="69" height="10" title="18" alt="18"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">4</td><td class="ctr2" id="i1">4</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="RedisConfig.java.html#L28" class="el_method">redisConnectionFactory()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="42" height="10" title="11" alt="11"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.redis/RedisConfig.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.redis/RedisConfig.java.html
    deleted file mode 100644
    index 40a50369..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.config.redis/RedisConfig.java.html
    +++ /dev/null
    @@ -1,62 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>RedisConfig.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.config.redis</a> &gt; <span class="el_source">RedisConfig.java</span></div><h1>RedisConfig.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.config.redis;
    -
    -import com.softeer.backend.global.config.properties.RedisProperties;
    -import lombok.RequiredArgsConstructor;
    -import org.redisson.Redisson;
    -import org.redisson.api.RedissonClient;
    -import org.redisson.config.Config;
    -import org.springframework.context.annotation.Bean;
    -import org.springframework.context.annotation.Configuration;
    -import org.springframework.data.redis.connection.RedisConnectionFactory;
    -import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory;
    -import org.springframework.data.redis.core.RedisTemplate;
    -import org.springframework.data.redis.serializer.GenericToStringSerializer;
    -import org.springframework.data.redis.serializer.StringRedisSerializer;
    -
    -/**
    - * Redis 환경설정 클래스
    - */
    -@Configuration
    -@RequiredArgsConstructor
    -public class RedisConfig {
    -    private static final String REDISSON_HOST_PREFIX = &quot;redis://&quot;;
    -
    -    private final RedisProperties redisProperties;
    -
    -    @Bean
    -    public RedisConnectionFactory redisConnectionFactory() {
    -<span class="nc" id="L28">        return new LettuceConnectionFactory(redisProperties.getHost(), redisProperties.getPort());</span>
    -    }
    -
    -    @Bean
    -    public RedisTemplate&lt;String, Integer&gt; redisTemplateForInteger(RedisConnectionFactory connectionFactory) {
    -<span class="nc" id="L33">        RedisTemplate&lt;String, Integer&gt; template = new RedisTemplate&lt;&gt;();</span>
    -<span class="nc" id="L34">        template.setConnectionFactory(connectionFactory);</span>
    -
    -<span class="nc" id="L36">        template.setKeySerializer(new StringRedisSerializer());</span>
    -
    -<span class="nc" id="L38">        template.setValueSerializer(new GenericToStringSerializer&lt;&gt;(Integer.class));</span>
    -
    -<span class="nc" id="L40">        template.setHashKeySerializer(new StringRedisSerializer());</span>
    -
    -<span class="nc" id="L42">        template.setHashValueSerializer(new GenericToStringSerializer&lt;&gt;(Integer.class));</span>
    -
    -<span class="nc" id="L44">        return template;</span>
    -    }
    -
    -    /**
    -     * Redisson 설정
    -     *
    -     * @return RedissonClient 객체
    -     */
    -    @Bean
    -    public RedissonClient redissonClient() {
    -
    -<span class="nc" id="L55">        Config config = new Config();</span>
    -<span class="nc" id="L56">        config.useSingleServer().setAddress(</span>
    -<span class="nc" id="L57">                REDISSON_HOST_PREFIX + redisProperties.getHost() + &quot;:&quot; + redisProperties.getPort());</span>
    -
    -<span class="nc" id="L59">        return Redisson.create(config);</span>
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.redis/index.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.redis/index.html
    deleted file mode 100644
    index 6f9b9d7e..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.config.redis/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.config.redis</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.config.redis</span></div><h1>com.softeer.backend.global.config.redis</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">60 of 60</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="RedisConfig.html" class="el_class">RedisConfig</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="60" alt="60"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">12</td><td class="ctr2" id="i0">12</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k0">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.redis/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.redis/index.source.html
    deleted file mode 100644
    index b75b2cbf..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.config.redis/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.config.redis</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.config.redis</span></div><h1>com.softeer.backend.global.config.redis</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">60 of 60</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="RedisConfig.java.html" class="el_source">RedisConfig.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="60" alt="60"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">12</td><td class="ctr2" id="i0">12</td><td class="ctr1" id="j0">3</td><td class="ctr2" id="k0">3</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.schedular/SchedulerConfig.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.schedular/SchedulerConfig.html
    deleted file mode 100644
    index fe2a97d9..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.config.schedular/SchedulerConfig.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>SchedulerConfig</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.config.schedular</a> &gt; <span class="el_class">SchedulerConfig</span></div><h1>SchedulerConfig</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">15 of 15</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="SchedulerConfig.java.html#L11" class="el_method">taskScheduler()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="12" alt="12"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">4</td><td class="ctr2" id="i0">4</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="SchedulerConfig.java.html#L8" class="el_method">SchedulerConfig()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="30" height="10" title="3" alt="3"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.schedular/SchedulerConfig.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.schedular/SchedulerConfig.java.html
    deleted file mode 100644
    index b6766acc..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.config.schedular/SchedulerConfig.java.html
    +++ /dev/null
    @@ -1,17 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>SchedulerConfig.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.config.schedular</a> &gt; <span class="el_source">SchedulerConfig.java</span></div><h1>SchedulerConfig.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.config.schedular;
    -
    -import org.springframework.context.annotation.Bean;
    -import org.springframework.context.annotation.Configuration;
    -import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
    -
    -@Configuration
    -<span class="nc" id="L8">public class SchedulerConfig {</span>
    -    @Bean
    -    public ThreadPoolTaskScheduler taskScheduler() {
    -<span class="nc" id="L11">        ThreadPoolTaskScheduler taskScheduler = new ThreadPoolTaskScheduler();</span>
    -<span class="nc" id="L12">        taskScheduler.setPoolSize(2);</span>
    -<span class="nc" id="L13">        taskScheduler.setThreadNamePrefix(&quot;Scheduler-&quot;);</span>
    -<span class="nc" id="L14">        return taskScheduler;</span>
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.schedular/index.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.schedular/index.html
    deleted file mode 100644
    index 8a985653..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.config.schedular/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.config.schedular</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.config.schedular</span></div><h1>com.softeer.backend.global.config.schedular</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">15 of 15</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="SchedulerConfig.html" class="el_class">SchedulerConfig</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="15" alt="15"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">5</td><td class="ctr2" id="i0">5</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.schedular/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.schedular/index.source.html
    deleted file mode 100644
    index 0646f84f..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.config.schedular/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.config.schedular</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.config.schedular</span></div><h1>com.softeer.backend.global.config.schedular</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">15 of 15</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="SchedulerConfig.java.html" class="el_source">SchedulerConfig.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="15" alt="15"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">5</td><td class="ctr2" id="i0">5</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.web/WebMvcConfig.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.web/WebMvcConfig.html
    deleted file mode 100644
    index f9970646..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.config.web/WebMvcConfig.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>WebMvcConfig</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.config.web</a> &gt; <span class="el_class">WebMvcConfig</span></div><h1>WebMvcConfig</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">206 of 206</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">7</td><td class="ctr2">7</td><td class="ctr1">33</td><td class="ctr2">33</td><td class="ctr1">7</td><td class="ctr2">7</td></tr></tfoot><tbody><tr><td id="a1"><a href="WebMvcConfig.java.html#L66" class="el_method">addCorsMappings(CorsRegistry)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="77" alt="77"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">8</td><td class="ctr2" id="i0">8</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a4"><a href="WebMvcConfig.java.html#L93" class="el_method">jwtAuthenticationFilter()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="43" height="10" title="28" alt="28"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">5</td><td class="ctr2" id="i1">5</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="WebMvcConfig.java.html#L51" class="el_method">addInterceptors(InterceptorRegistry)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="38" height="10" title="25" alt="25"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">5</td><td class="ctr2" id="i2">5</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a3"><a href="WebMvcConfig.java.html#L81" class="el_method">exceptionHandleFilter()</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="37" height="10" title="24" alt="24"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">5</td><td class="ctr2" id="i3">5</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a6"><a href="WebMvcConfig.java.html#L114" class="el_method">shallowEtagHeaderFilter()</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="35" height="10" title="23" alt="23"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h5">3</td><td class="ctr2" id="i5">3</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a5"><a href="WebMvcConfig.java.html#L105" class="el_method">jwtAuthorizationFilter()</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="34" height="10" title="22" alt="22"/></td><td class="ctr2" id="c5">0%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">1</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h4">5</td><td class="ctr2" id="i4">5</td><td class="ctr1" id="j5">1</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a0"><a href="WebMvcConfig.java.html#L46" class="el_method">addArgumentResolvers(List)</a></td><td class="bar" id="b6"><img src="../jacoco-resources/redbar.gif" width="10" height="10" title="7" alt="7"/></td><td class="ctr2" id="c6">0%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">1</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h6">2</td><td class="ctr2" id="i6">2</td><td class="ctr1" id="j6">1</td><td class="ctr2" id="k6">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.web/WebMvcConfig.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.web/WebMvcConfig.java.html
    deleted file mode 100644
    index 567e78ff..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.config.web/WebMvcConfig.java.html
    +++ /dev/null
    @@ -1,121 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>WebMvcConfig.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.config.web</a> &gt; <span class="el_source">WebMvcConfig.java</span></div><h1>WebMvcConfig.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.config.web;
    -
    -import com.fasterxml.jackson.databind.ObjectMapper;
    -import com.softeer.backend.fo_domain.draw.interceptor.DrawTimeCheckInterceptor;
    -import com.softeer.backend.fo_domain.fcfs.interceptor.FcfsTimeCheckInterceptor;
    -import com.softeer.backend.global.annotation.argumentresolver.AuthInfoArgumentResolver;
    -import com.softeer.backend.global.config.properties.JwtProperties;
    -import com.softeer.backend.global.filter.ExceptionHandlingFilter;
    -import com.softeer.backend.global.filter.JwtAuthenticationFilter;
    -import com.softeer.backend.global.filter.JwtAuthorizationFilter;
    -import com.softeer.backend.global.util.JwtUtil;
    -import com.softeer.backend.global.util.StringRedisUtil;
    -import lombok.RequiredArgsConstructor;
    -import org.springframework.boot.web.servlet.FilterRegistrationBean;
    -import org.springframework.context.annotation.Bean;
    -import org.springframework.context.annotation.Configuration;
    -import org.springframework.web.filter.ShallowEtagHeaderFilter;
    -import org.springframework.web.method.support.HandlerMethodArgumentResolver;
    -import org.springframework.web.servlet.config.annotation.CorsRegistry;
    -import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
    -import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
    -
    -import java.util.List;
    -
    -/**
    - * WebMvc 설정 클래스
    - */
    -@Configuration
    -@RequiredArgsConstructor
    -public class WebMvcConfig implements WebMvcConfigurer {
    -
    -    private final ObjectMapper objectMapper;
    -    private final JwtUtil jwtUtil;
    -    private final StringRedisUtil stringRedisUtil;
    -    private final JwtProperties jwtProperties;
    -
    -    private final FcfsTimeCheckInterceptor fcfsTimeCheckInterceptor;
    -    private final DrawTimeCheckInterceptor drawTimeCheckInterceptor;
    -
    -    /**
    -     * AuthInfo 애노테이션에 대한 Argument Resolver 등록
    -     *
    -     * @param resolvers
    -     */
    -    public void addArgumentResolvers(List&lt;HandlerMethodArgumentResolver&gt; resolvers) {
    -<span class="nc" id="L46">        resolvers.add(new AuthInfoArgumentResolver());</span>
    -<span class="nc" id="L47">    }</span>
    -
    -    @Override
    -    public void addInterceptors(InterceptorRegistry registry) {
    -<span class="nc" id="L51">        registry.addInterceptor(fcfsTimeCheckInterceptor)</span>
    -<span class="nc" id="L52">                .addPathPatterns(&quot;/fcfs&quot;);</span>
    -
    -<span class="nc" id="L54">        registry.addInterceptor(drawTimeCheckInterceptor)</span>
    -<span class="nc" id="L55">                .addPathPatterns(&quot;/event/draw&quot;);</span>
    -<span class="nc" id="L56">    }</span>
    -
    -    /**
    -     * CORS 설정 메서드
    -     *
    -     * @param registry Cors 등록 객체
    -     */
    -    @Override
    -    public void addCorsMappings(CorsRegistry registry) {
    -
    -<span class="nc" id="L66">        registry.addMapping(&quot;/**&quot;)</span>
    -<span class="nc" id="L67">                .allowedOrigins(&quot;https://softeer.site&quot;, &quot;http://localhost:5173&quot;, &quot;https://softeer.shop&quot;,</span>
    -                        &quot;https://d3qmq1ffhp5il9.cloudfront.net&quot;) // 허용할 도메인 설정
    -<span class="nc" id="L69">                .allowedMethods(&quot;OPTIONS&quot;, &quot;GET&quot;, &quot;POST&quot;, &quot;PUT&quot;, &quot;DELETE&quot;) // 허용할 HTTP 메서드 설정</span>
    -<span class="nc" id="L70">                .allowedHeaders(&quot;Content-Type&quot;, &quot;Authorization&quot;, &quot;Authorization-Refresh&quot;) // 허용할 헤더 설정</span>
    -<span class="nc" id="L71">                .exposedHeaders(&quot;Authorization&quot;, &quot;Authorization-Refresh&quot;) // 클라이언트에 노출할 헤더 설정</span>
    -<span class="nc" id="L72">                .allowCredentials(true) // 자격 증명 허용</span>
    -<span class="nc" id="L73">                .maxAge(3600); // preflight 요청의 캐시 시간 설정 (초 단위)</span>
    -<span class="nc" id="L74">    }</span>
    -
    -    /**
    -     * ExceptionHandlingFilter를 필터에 등록
    -     */
    -    @Bean
    -    public FilterRegistrationBean&lt;ExceptionHandlingFilter&gt; exceptionHandleFilter() {
    -<span class="nc" id="L81">        FilterRegistrationBean&lt;ExceptionHandlingFilter&gt; registrationBean = new FilterRegistrationBean&lt;&gt;();</span>
    -<span class="nc" id="L82">        registrationBean.setFilter(new ExceptionHandlingFilter(objectMapper));</span>
    -<span class="nc" id="L83">        registrationBean.addUrlPatterns(&quot;/*&quot;);</span>
    -<span class="nc" id="L84">        registrationBean.setOrder(1);</span>
    -<span class="nc" id="L85">        return registrationBean;</span>
    -    }
    -
    -    /**
    -     * JwtAuthenticationFilter를 필터에 등록
    -     */
    -    @Bean
    -    public FilterRegistrationBean&lt;JwtAuthenticationFilter&gt; jwtAuthenticationFilter() {
    -<span class="nc" id="L93">        FilterRegistrationBean&lt;JwtAuthenticationFilter&gt; registrationBean = new FilterRegistrationBean&lt;&gt;();</span>
    -<span class="nc" id="L94">        registrationBean.setFilter(new JwtAuthenticationFilter(jwtUtil, stringRedisUtil, jwtProperties));</span>
    -<span class="nc" id="L95">        registrationBean.addUrlPatterns(&quot;/*&quot;);</span>
    -<span class="nc" id="L96">        registrationBean.setOrder(2);</span>
    -<span class="nc" id="L97">        return registrationBean;</span>
    -    }
    -
    -    /**
    -     * JwtAuthorizationFilter를 필터에 등록
    -     */
    -    @Bean
    -    public FilterRegistrationBean&lt;JwtAuthorizationFilter&gt; jwtAuthorizationFilter() {
    -<span class="nc" id="L105">        FilterRegistrationBean&lt;JwtAuthorizationFilter&gt; registrationBean = new FilterRegistrationBean&lt;&gt;();</span>
    -<span class="nc" id="L106">        registrationBean.setFilter(new JwtAuthorizationFilter());</span>
    -<span class="nc" id="L107">        registrationBean.addUrlPatterns(&quot;/admin/*&quot;);</span>
    -<span class="nc" id="L108">        registrationBean.setOrder(3);</span>
    -<span class="nc" id="L109">        return registrationBean;</span>
    -    }
    -
    -    @Bean
    -    public FilterRegistrationBean&lt;ShallowEtagHeaderFilter&gt; shallowEtagHeaderFilter() {
    -<span class="nc" id="L114">        FilterRegistrationBean&lt;ShallowEtagHeaderFilter&gt; filterRegistrationBean</span>
    -                = new FilterRegistrationBean&lt;&gt;(new ShallowEtagHeaderFilter());
    -<span class="nc" id="L116">        filterRegistrationBean.addUrlPatterns(&quot;/main/event/static&quot;, &quot;/main/car&quot;);</span>
    -<span class="nc" id="L117">        return filterRegistrationBean;</span>
    -    }
    -
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.web/index.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.web/index.html
    deleted file mode 100644
    index 7eaf93fa..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.config.web/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.config.web</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.config.web</span></div><h1>com.softeer.backend.global.config.web</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">206 of 206</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">7</td><td class="ctr2">7</td><td class="ctr1">33</td><td class="ctr2">33</td><td class="ctr1">7</td><td class="ctr2">7</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="WebMvcConfig.html" class="el_class">WebMvcConfig</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="206" alt="206"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">7</td><td class="ctr2" id="g0">7</td><td class="ctr1" id="h0">33</td><td class="ctr2" id="i0">33</td><td class="ctr1" id="j0">7</td><td class="ctr2" id="k0">7</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.config.web/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.global.config.web/index.source.html
    deleted file mode 100644
    index 02877261..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.config.web/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.config.web</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.config.web</span></div><h1>com.softeer.backend.global.config.web</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">206 of 206</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">7</td><td class="ctr2">7</td><td class="ctr1">33</td><td class="ctr2">33</td><td class="ctr1">7</td><td class="ctr2">7</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="WebMvcConfig.java.html" class="el_source">WebMvcConfig.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="206" alt="206"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">7</td><td class="ctr2" id="g0">7</td><td class="ctr1" id="h0">33</td><td class="ctr2" id="i0">33</td><td class="ctr1" id="j0">7</td><td class="ctr2" id="k0">7</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.filter/ExceptionHandlingFilter.html b/jacoco/jacocoHtml/com.softeer.backend.global.filter/ExceptionHandlingFilter.html
    deleted file mode 100644
    index 2f14de37..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.filter/ExceptionHandlingFilter.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ExceptionHandlingFilter</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.filter</a> &gt; <span class="el_class">ExceptionHandlingFilter</span></div><h1>ExceptionHandlingFilter</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">59 of 59</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">20</td><td class="ctr2">20</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a1"><a href="ExceptionHandlingFilter.java.html#L53" class="el_method">setErrorResponse(HttpServletResponse, BaseErrorCode)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="29" alt="29"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">10</td><td class="ctr2" id="i0">10</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="ExceptionHandlingFilter.java.html#L30" class="el_method">doFilterInternal(HttpServletRequest, HttpServletResponse, FilterChain)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="107" height="10" title="26" alt="26"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">9</td><td class="ctr2" id="i1">9</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="ExceptionHandlingFilter.java.html#L21" class="el_method">static {...}</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="16" height="10" title="4" alt="4"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.filter/ExceptionHandlingFilter.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.filter/ExceptionHandlingFilter.java.html
    deleted file mode 100644
    index 92151b3c..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.filter/ExceptionHandlingFilter.java.html
    +++ /dev/null
    @@ -1,68 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ExceptionHandlingFilter.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.filter</a> &gt; <span class="el_source">ExceptionHandlingFilter.java</span></div><h1>ExceptionHandlingFilter.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.filter;
    -
    -import com.fasterxml.jackson.databind.ObjectMapper;
    -import com.softeer.backend.global.common.code.BaseErrorCode;
    -import com.softeer.backend.global.common.code.status.ErrorStatus;
    -import com.softeer.backend.global.common.exception.JwtAuthenticationException;
    -import com.softeer.backend.global.common.response.ResponseDto;
    -import jakarta.servlet.FilterChain;
    -import jakarta.servlet.http.HttpServletRequest;
    -import jakarta.servlet.http.HttpServletResponse;
    -import lombok.RequiredArgsConstructor;
    -import lombok.extern.slf4j.Slf4j;
    -import org.springframework.web.filter.OncePerRequestFilter;
    -
    -import java.io.IOException;
    -import java.io.OutputStream;
    -
    -/**
    - * Jwt 예외를 처리하는 필터 클래스
    - */
    -<span class="nc" id="L21">@Slf4j</span>
    -@RequiredArgsConstructor
    -public class ExceptionHandlingFilter extends OncePerRequestFilter {
    -
    -    private final ObjectMapper objectMapper;
    -
    -    @Override
    -    protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) {
    -        try {
    -<span class="nc" id="L30">            filterChain.doFilter(request, response);</span>
    -            // Jwt 인증 예외 처리
    -<span class="nc" id="L32">        } catch (JwtAuthenticationException jwtAuthenticationException) {</span>
    -
    -<span class="nc" id="L34">            log.error(&quot;JwtAuthenticationException occurs in ExceptionHandlingFilter&quot;,</span>
    -                    jwtAuthenticationException);
    -
    -<span class="nc" id="L37">            setErrorResponse(response, jwtAuthenticationException.getCode());</span>
    -
    -            // 나머지 예외 처리
    -<span class="nc" id="L40">        } catch (Exception e) {</span>
    -
    -<span class="nc" id="L42">            log.error(&quot;Exception occurs in ExceptionHandlingFilter&quot;, e);</span>
    -
    -<span class="nc" id="L44">            setErrorResponse(response, ErrorStatus._INTERNAL_SERVER_ERROR);</span>
    -<span class="nc" id="L45">        }</span>
    -<span class="nc" id="L46">    }</span>
    -
    -    // 인증 예외 처리 메서드
    -    private void setErrorResponse(HttpServletResponse response,
    -                                  BaseErrorCode errorCode) {
    -
    -
    -<span class="nc" id="L53">        response.setStatus(errorCode.getHttpStatus().value());</span>
    -<span class="nc" id="L54">        response.setContentType(&quot;application/json&quot;);</span>
    -<span class="nc" id="L55">        response.setCharacterEncoding(&quot;UTF-8&quot;);</span>
    -
    -<span class="nc" id="L57">        try (OutputStream os = response.getOutputStream()) {</span>
    -
    -<span class="nc" id="L59">            objectMapper.writeValue(os, ResponseDto.onFailure(errorCode));</span>
    -<span class="nc" id="L60">            os.flush();</span>
    -
    -<span class="nc" id="L62">        } catch (IOException e) {</span>
    -
    -<span class="nc" id="L64">            log.error(&quot;IOException occurs in ExceptionHandlingFilter&quot;, e);</span>
    -<span class="nc" id="L65">        }</span>
    -<span class="nc" id="L66">    }</span>
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.filter/JwtAuthenticationFilter.html b/jacoco/jacocoHtml/com.softeer.backend.global.filter/JwtAuthenticationFilter.html
    deleted file mode 100644
    index 7e534881..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.filter/JwtAuthenticationFilter.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>JwtAuthenticationFilter</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.filter</a> &gt; <span class="el_class">JwtAuthenticationFilter</span></div><h1>JwtAuthenticationFilter</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">298 of 298</td><td class="ctr2">0%</td><td class="bar">18 of 18</td><td class="ctr2">0%</td><td class="ctr1">25</td><td class="ctr2">25</td><td class="ctr1">74</td><td class="ctr2">74</td><td class="ctr1">16</td><td class="ctr2">16</td></tr></tfoot><tbody><tr><td id="a2"><a href="JwtAuthenticationFilter.java.html#L59" class="el_method">doFilterInternal(HttpServletRequest, HttpServletResponse, FilterChain)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="67" alt="67"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="10" alt="10"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">6</td><td class="ctr2" id="g0">6</td><td class="ctr1" id="h0">16</td><td class="ctr2" id="i0">16</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a3"><a href="JwtAuthenticationFilter.java.html#L145" class="el_method">isRefreshTokenMatch(String)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="57" height="10" title="32" alt="32"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="48" height="10" title="4" alt="4"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f1">3</td><td class="ctr2" id="g1">3</td><td class="ctr1" id="h3">6</td><td class="ctr2" id="i3">6</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a10"><a href="JwtAuthenticationFilter.java.html#L189" class="el_method">makeResultResponse(HttpServletResponse, JwtTokenResponseDto)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="55" height="10" title="31" alt="31"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h1">9</td><td class="ctr2" id="i1">9</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a12"><a href="JwtAuthenticationFilter.java.html#L162" class="el_method">reIssueRefreshToken(JwtClaimsDto)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="46" height="10" title="26" alt="26"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">1</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h6">4</td><td class="ctr2" id="i6">4</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a11"><a href="JwtAuthenticationFilter.java.html#L112" class="el_method">reissueAccessTokenAndRefreshToken(HttpServletResponse, String, String)</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="44" height="10" title="25" alt="25"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">1</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h4">5</td><td class="ctr2" id="i4">5</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a9"><a href="JwtAuthenticationFilter.java.html#L177" class="el_method">makeAndSendAccessTokenAndRefreshToken(HttpServletResponse, String, String)</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="41" height="10" title="23" alt="23"/></td><td class="ctr2" id="c5">0%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">1</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h2">8</td><td class="ctr2" id="i2">8</td><td class="ctr1" id="j5">1</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a0"><a href="JwtAuthenticationFilter.java.html#L203" class="el_method">checkAccessToken(HttpServletRequest)</a></td><td class="bar" id="b6"><img src="../jacoco-resources/redbar.gif" width="32" height="10" title="18" alt="18"/></td><td class="ctr2" id="c6">0%</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f8">1</td><td class="ctr2" id="g8">1</td><td class="ctr1" id="h5">5</td><td class="ctr2" id="i5">5</td><td class="ctr1" id="j6">1</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a14"><a href="JwtAuthenticationFilter.java.html#L131" class="el_method">validateAccessToken(String)</a></td><td class="bar" id="b7"><img src="../jacoco-resources/redbar.gif" width="25" height="10" title="14" alt="14"/></td><td class="ctr2" id="c7">0%</td><td class="bar" id="d2"><img src="../jacoco-resources/redbar.gif" width="24" height="10" title="2" alt="2"/></td><td class="ctr2" id="e2">0%</td><td class="ctr1" id="f2">2</td><td class="ctr2" id="g2">2</td><td class="ctr1" id="h7">4</td><td class="ctr2" id="i7">4</td><td class="ctr1" id="j7">1</td><td class="ctr2" id="k7">1</td></tr><tr><td id="a15"><a href="JwtAuthenticationFilter.java.html#L138" class="el_method">validateRefreshToken(String)</a></td><td class="bar" id="b8"><img src="../jacoco-resources/redbar.gif" width="25" height="10" title="14" alt="14"/></td><td class="ctr2" id="c8">0%</td><td class="bar" id="d3"><img src="../jacoco-resources/redbar.gif" width="24" height="10" title="2" alt="2"/></td><td class="ctr2" id="e3">0%</td><td class="ctr1" id="f3">2</td><td class="ctr2" id="g3">2</td><td class="ctr1" id="h8">4</td><td class="ctr2" id="i8">4</td><td class="ctr1" id="j8">1</td><td class="ctr2" id="k8">1</td></tr><tr><td id="a1"><a href="JwtAuthenticationFilter.java.html#L125" class="el_method">checkAllConditions(String, String)</a></td><td class="bar" id="b9"><img src="../jacoco-resources/redbar.gif" width="17" height="10" title="10" alt="10"/></td><td class="ctr2" id="c9">0%</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f9">1</td><td class="ctr2" id="g9">1</td><td class="ctr1" id="h9">4</td><td class="ctr2" id="i9">4</td><td class="ctr1" id="j9">1</td><td class="ctr2" id="k9">1</td></tr><tr><td id="a6"><a href="JwtAuthenticationFilter.java.html#L205" class="el_method">lambda$checkAccessToken$2()</a></td><td class="bar" id="b10"><img src="../jacoco-resources/redbar.gif" width="14" height="10" title="8" alt="8"/></td><td class="ctr2" id="c10">0%</td><td class="bar" id="d10"/><td class="ctr2" id="e10">n/a</td><td class="ctr1" id="f10">1</td><td class="ctr2" id="g10">1</td><td class="ctr1" id="h10">2</td><td class="ctr2" id="i10">2</td><td class="ctr1" id="j10">1</td><td class="ctr2" id="k10">1</td></tr><tr><td id="a8"><a href="JwtAuthenticationFilter.java.html#L80" class="el_method">lambda$doFilterInternal$1()</a></td><td class="bar" id="b11"><img src="../jacoco-resources/redbar.gif" width="14" height="10" title="8" alt="8"/></td><td class="ctr2" id="c11">0%</td><td class="bar" id="d11"/><td class="ctr2" id="e11">n/a</td><td class="ctr1" id="f11">1</td><td class="ctr2" id="g11">1</td><td class="ctr1" id="h11">2</td><td class="ctr2" id="i11">2</td><td class="ctr1" id="j11">1</td><td class="ctr2" id="k11">1</td></tr><tr><td id="a7"><a href="JwtAuthenticationFilter.java.html#L76" class="el_method">lambda$doFilterInternal$0()</a></td><td class="bar" id="b12"><img src="../jacoco-resources/redbar.gif" width="14" height="10" title="8" alt="8"/></td><td class="ctr2" id="c12">0%</td><td class="bar" id="d12"/><td class="ctr2" id="e12">n/a</td><td class="ctr1" id="f12">1</td><td class="ctr2" id="g12">1</td><td class="ctr1" id="h12">2</td><td class="ctr2" id="i12">2</td><td class="ctr1" id="j12">1</td><td class="ctr2" id="k12">1</td></tr><tr><td id="a5"><a href="JwtAuthenticationFilter.java.html#L98" class="el_method">isUriInWhiteList(String)</a></td><td class="bar" id="b13"><img src="../jacoco-resources/redbar.gif" width="8" height="10" title="5" alt="5"/></td><td class="ctr2" id="c13">0%</td><td class="bar" id="d13"/><td class="ctr2" id="e13">n/a</td><td class="ctr1" id="f13">1</td><td class="ctr2" id="g13">1</td><td class="ctr1" id="h13">1</td><td class="ctr2" id="i13">1</td><td class="ctr1" id="j13">1</td><td class="ctr2" id="k13">1</td></tr><tr><td id="a4"><a href="JwtAuthenticationFilter.java.html#L102" class="el_method">isUriInOptionalAuthList(String)</a></td><td class="bar" id="b14"><img src="../jacoco-resources/redbar.gif" width="8" height="10" title="5" alt="5"/></td><td class="ctr2" id="c14">0%</td><td class="bar" id="d14"/><td class="ctr2" id="e14">n/a</td><td class="ctr1" id="f14">1</td><td class="ctr2" id="g14">1</td><td class="ctr1" id="h14">1</td><td class="ctr2" id="i14">1</td><td class="ctr1" id="j14">1</td><td class="ctr2" id="k14">1</td></tr><tr><td id="a13"><a href="JwtAuthenticationFilter.java.html#L31" class="el_method">static {...}</a></td><td class="bar" id="b15"><img src="../jacoco-resources/redbar.gif" width="7" height="10" title="4" alt="4"/></td><td class="ctr2" id="c15">0%</td><td class="bar" id="d15"/><td class="ctr2" id="e15">n/a</td><td class="ctr1" id="f15">1</td><td class="ctr2" id="g15">1</td><td class="ctr1" id="h15">1</td><td class="ctr2" id="i15">1</td><td class="ctr1" id="j15">1</td><td class="ctr2" id="k15">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.filter/JwtAuthenticationFilter.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.filter/JwtAuthenticationFilter.java.html
    deleted file mode 100644
    index 362fae6a..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.filter/JwtAuthenticationFilter.java.html
    +++ /dev/null
    @@ -1,215 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>JwtAuthenticationFilter.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.filter</a> &gt; <span class="el_source">JwtAuthenticationFilter.java</span></div><h1>JwtAuthenticationFilter.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.filter;
    -
    -import com.fasterxml.jackson.databind.ObjectMapper;
    -import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
    -import com.softeer.backend.global.common.code.status.ErrorStatus;
    -import com.softeer.backend.global.common.dto.JwtClaimsDto;
    -import com.softeer.backend.global.common.exception.JwtAuthenticationException;
    -import com.softeer.backend.global.common.response.ResponseDto;
    -import com.softeer.backend.global.config.properties.JwtProperties;
    -import com.softeer.backend.global.util.JwtUtil;
    -import com.softeer.backend.global.util.StringRedisUtil;
    -import com.softeer.backend.global.common.dto.JwtTokenResponseDto;
    -import jakarta.servlet.FilterChain;
    -import jakarta.servlet.ServletException;
    -import jakarta.servlet.http.HttpServletRequest;
    -import jakarta.servlet.http.HttpServletResponse;
    -import lombok.RequiredArgsConstructor;
    -import lombok.extern.slf4j.Slf4j;
    -import org.springframework.http.HttpStatus;
    -import org.springframework.util.PatternMatchUtils;
    -import org.springframework.web.cors.CorsUtils;
    -import org.springframework.web.filter.OncePerRequestFilter;
    -
    -import java.io.IOException;
    -import java.io.OutputStream;
    -import java.time.LocalDateTime;
    -
    -/**
    - * Jwt 인증을 처리하는 필터 클래스
    - */
    -<span class="nc" id="L31">@Slf4j</span>
    -@RequiredArgsConstructor
    -public class JwtAuthenticationFilter extends OncePerRequestFilter {
    -
    -    // 인증검사를 하지 않는 url 설정
    -    private final String[] whiteListUrls = {
    -            &quot;/swagger-ui/**&quot;, &quot;/swagger&quot;, &quot;/v3/**&quot;, &quot;/error/**&quot;,
    -            &quot;/verification/send&quot;, &quot;/verification/confirm&quot;, &quot;/verification/send/test&quot;,
    -            &quot;/login&quot;,
    -            &quot;/main/event/static&quot;, &quot;/main/event/info&quot;, &quot;/main/car&quot;,
    -            &quot;/admin/login&quot;, &quot;/admin/signup&quot;,
    -            &quot;/share/**&quot;
    -    };
    -
    -    // Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정
    -    private final String[] optionalAuthUrls = {
    -            &quot;/comment&quot;,
    -            &quot;/share-shorten-url&quot;
    -    };
    -
    -    private final JwtUtil jwtUtil;
    -    private final StringRedisUtil stringRedisUtil;
    -    private final JwtProperties jwtProperties;
    -
    -    @Override
    -    protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException {
    -
    -        // preflight 요청 또는 whitelist에 있는 요청은 인증 검사 x
    -<span class="nc bnc" id="L59" title="All 4 branches missed.">        if (CorsUtils.isPreFlightRequest(request) || isUriInWhiteList(request.getRequestURI())) {</span>
    -<span class="nc" id="L60">            filterChain.doFilter(request, response);</span>
    -<span class="nc" id="L61">            return;</span>
    -        }
    -
    -        // optionalAuthUrls에 등록된 url 중, access token이 header에 없으면 인증 x
    -<span class="nc bnc" id="L65" title="All 2 branches missed.">        if (isUriInOptionalAuthList(request.getRequestURI()) &amp;&amp;</span>
    -<span class="nc bnc" id="L66" title="All 2 branches missed.">                jwtUtil.extractAccessToken(request).isEmpty()) {</span>
    -
    -<span class="nc" id="L68">            filterChain.doFilter(request, response);</span>
    -<span class="nc" id="L69">            return;</span>
    -        }
    -
    -
    -        // Case 01) Access Token 재발급인 경우(Authorization Header Access Token 유효성 x)
    -<span class="nc bnc" id="L74" title="All 2 branches missed.">        if (request.getRequestURI().contains(&quot;/reissue&quot;)) {</span>
    -<span class="nc" id="L75">            String accessToken = jwtUtil.extractAccessToken(request).orElseThrow(() -&gt; {</span>
    -<span class="nc" id="L76">                log.error(&quot;Access Token is missing in the Authorization header during the '/reissue' process.&quot;);</span>
    -<span class="nc" id="L77">                return new JwtAuthenticationException(ErrorStatus._REISSUE_ERROR);</span>
    -            });
    -<span class="nc" id="L79">            String refreshToken = jwtUtil.extractRefreshToken(request).orElseThrow(() -&gt; {</span>
    -<span class="nc" id="L80">                log.error(&quot;Refresh Token is missing in the Authorization header during the '/reissue' process.&quot;);</span>
    -<span class="nc" id="L81">                return new JwtAuthenticationException(ErrorStatus._REISSUE_ERROR);</span>
    -            });
    -
    -<span class="nc" id="L84">            this.reissueAccessTokenAndRefreshToken(response, accessToken, refreshToken);</span>
    -<span class="nc" id="L85">        }</span>
    -        // Case 02) 일반 API 요청인 경우
    -        else {
    -<span class="nc" id="L88">            checkAccessToken(request);</span>
    -<span class="nc" id="L89">            log.info(&quot;jwtAuthentication filter is finished&quot;);</span>
    -
    -            // Authentication Exception 없이 정상 인증처리 된 경우
    -            // 기존 필터 체인 호출
    -<span class="nc" id="L93">            filterChain.doFilter(request, response);</span>
    -        }
    -<span class="nc" id="L95">    }</span>
    -
    -    private boolean isUriInWhiteList(String url) {
    -<span class="nc" id="L98">        return PatternMatchUtils.simpleMatch(whiteListUrls, url);</span>
    -    }
    -
    -    private boolean isUriInOptionalAuthList(String url) {
    -<span class="nc" id="L102">        return PatternMatchUtils.simpleMatch(optionalAuthUrls, url);</span>
    -    }
    -
    -    private void reissueAccessTokenAndRefreshToken(HttpServletResponse response,
    -                                                   String accessToken, String refreshToken) throws IOException {
    -        /**
    -         * 1. refresh token 유효성 검증
    -         * 2. access token 유효성 검증(유효하지 않아야 함)
    -         * 3. redis refresh 와 일치 여부 확인
    -         */
    -<span class="nc" id="L112">        checkAllConditions(accessToken, refreshToken);</span>
    -<span class="nc" id="L113">        String newAccessToken = jwtUtil.createAccessToken(jwtUtil.getJwtClaimsFromRefreshToken(refreshToken));</span>
    -<span class="nc" id="L114">        String newRefreshToken = reIssueRefreshToken(jwtUtil.getJwtClaimsFromRefreshToken(refreshToken));</span>
    -<span class="nc" id="L115">        makeAndSendAccessTokenAndRefreshToken(response, newAccessToken, newRefreshToken);</span>
    -<span class="nc" id="L116">    }</span>
    -
    -    // Access Token + Refresh Token 재발급 메소드
    -    private void checkAllConditions(String accessToken, String refreshToken) {
    -        /**
    -         * 1. access Token 유효하지 않은지 확인
    -         * 2. refresh Token 유효한지 확인
    -         * 3. refresh Token 일치하는지 확인
    -         **/
    -<span class="nc" id="L125">        validateAccessToken(accessToken);</span>
    -<span class="nc" id="L126">        validateRefreshToken(refreshToken);</span>
    -<span class="nc" id="L127">        isRefreshTokenMatch(refreshToken);</span>
    -<span class="nc" id="L128">    }</span>
    -
    -    private void validateAccessToken(String accessToken) {
    -<span class="nc bnc" id="L131" title="All 2 branches missed.">        if (jwtUtil.validateToken(accessToken)) {</span>
    -<span class="nc" id="L132">            log.error(&quot;JWT Access Token is valid during the '/reissue' process.&quot;);</span>
    -<span class="nc" id="L133">            throw new JwtAuthenticationException(ErrorStatus._REISSUE_ERROR);</span>
    -        }
    -<span class="nc" id="L135">    }</span>
    -
    -    private void validateRefreshToken(String refreshToken) {
    -<span class="nc bnc" id="L138" title="All 2 branches missed.">        if (!this.jwtUtil.validateToken(refreshToken)) {</span>
    -<span class="nc" id="L139">            log.error(&quot;JWT Refresh Token is invalid during the '/reissue' process.&quot;);</span>
    -<span class="nc" id="L140">            throw new JwtAuthenticationException(ErrorStatus._REISSUE_ERROR);</span>
    -        }
    -<span class="nc" id="L142">    }</span>
    -
    -    private void isRefreshTokenMatch(String refreshToken) {
    -<span class="nc" id="L145">        JwtClaimsDto jwtClaimsDto = jwtUtil.getJwtClaimsFromRefreshToken(refreshToken);</span>
    -
    -<span class="nc bnc" id="L147" title="All 2 branches missed.">        if (stringRedisUtil.getData(stringRedisUtil.getRedisKeyForJwt(jwtClaimsDto)) == null ||</span>
    -<span class="nc bnc" id="L148" title="All 2 branches missed.">                !refreshToken.equals(stringRedisUtil.getData(stringRedisUtil.getRedisKeyForJwt(jwtClaimsDto)))) {</span>
    -
    -<span class="nc" id="L150">            log.error(&quot;WT Refresh Token is either missing in Redis or does not match the token in Redis.&quot;);</span>
    -<span class="nc" id="L151">            throw new JwtAuthenticationException(ErrorStatus._REISSUE_ERROR);</span>
    -        }
    -<span class="nc" id="L153">    }</span>
    -
    -    /**
    -     * refresh token 재발급 하는 메소드
    -     * 1. 새로운 Refresh Token 발급
    -     * 2. 해당 Key 에 해당하는 Redis Value 업데이트
    -     **/
    -    private String reIssueRefreshToken(JwtClaimsDto jwtClaimsDto) {
    -        // 기존 refresh token 삭제
    -<span class="nc" id="L162">        stringRedisUtil.deleteData(stringRedisUtil.getRedisKeyForJwt(jwtClaimsDto));</span>
    -<span class="nc" id="L163">        String reIssuedRefreshToken = jwtUtil.createRefreshToken(jwtClaimsDto);</span>
    -        // refresh token 저장
    -<span class="nc" id="L165">        stringRedisUtil.setDataExpire(stringRedisUtil.getRedisKeyForJwt(jwtClaimsDto), reIssuedRefreshToken, jwtProperties.getRefreshExpiration());</span>
    -<span class="nc" id="L166">        return reIssuedRefreshToken;</span>
    -    }
    -
    -    /**
    -     * 재발급한 refresh &amp; access token 응답으로 보내는 메소드
    -     * 1. 상태 코드 설정
    -     * 2. 응답 헤더에 설정 (jwtProperties 에서 정보 가져옴)
    -     **/
    -    private void makeAndSendAccessTokenAndRefreshToken(HttpServletResponse response,
    -                                                       String accessToken,
    -                                                       String refreshToken) throws IOException {
    -<span class="nc" id="L177">        LocalDateTime expireTime = LocalDateTime.now().plusSeconds(this.jwtProperties.getAccessExpiration() / 1000);</span>
    -        // refresh token, access token 을 응답 본문에 넣어 응답
    -<span class="nc" id="L179">        JwtTokenResponseDto jwtTokenResponseDto = JwtTokenResponseDto.builder()</span>
    -<span class="nc" id="L180">                .accessToken(accessToken)</span>
    -<span class="nc" id="L181">                .refreshToken(refreshToken)</span>
    -<span class="nc" id="L182">                .expiredTime(expireTime)</span>
    -<span class="nc" id="L183">                .build();</span>
    -<span class="nc" id="L184">        makeResultResponse(response, jwtTokenResponseDto);</span>
    -<span class="nc" id="L185">    }</span>
    -
    -    private void makeResultResponse(HttpServletResponse response,
    -                                    JwtTokenResponseDto jwtTokenResponseDto) throws IOException {
    -<span class="nc" id="L189">        response.setStatus(HttpStatus.OK.value());</span>
    -<span class="nc" id="L190">        response.setContentType(&quot;application/json&quot;);</span>
    -<span class="nc" id="L191">        response.setCharacterEncoding(&quot;UTF-8&quot;);</span>
    -
    -<span class="nc" id="L193">        try (OutputStream os = response.getOutputStream()) {</span>
    -<span class="nc" id="L194">            ObjectMapper objectMapper = new ObjectMapper().registerModule(new JavaTimeModule());</span>
    -<span class="nc" id="L195">            ResponseDto&lt;JwtTokenResponseDto&gt; responseDto = ResponseDto.onSuccess(jwtTokenResponseDto);</span>
    -<span class="nc" id="L196">            objectMapper.writeValue(os, responseDto);</span>
    -<span class="nc" id="L197">            os.flush();</span>
    -        }
    -<span class="nc" id="L199">    }</span>
    -
    -    private void checkAccessToken(HttpServletRequest request) {
    -
    -<span class="nc" id="L203">        String accessToken = jwtUtil.extractAccessToken(request)</span>
    -<span class="nc" id="L204">                .orElseThrow(() -&gt; {</span>
    -<span class="nc" id="L205">                    log.error(&quot;Access Token is missing in the Authorization header.&quot;);</span>
    -<span class="nc" id="L206">                    return new JwtAuthenticationException(ErrorStatus._UNAUTHORIZED);</span>
    -                });
    -
    -<span class="nc" id="L209">        JwtClaimsDto jwtClaimsDto = jwtUtil.getJwtClaimsFromAccessToken(accessToken);</span>
    -
    -<span class="nc" id="L211">        request.setAttribute(&quot;jwtClaims&quot;, jwtClaimsDto);</span>
    -<span class="nc" id="L212">    }</span>
    -
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.filter/JwtAuthorizationFilter.html b/jacoco/jacocoHtml/com.softeer.backend.global.filter/JwtAuthorizationFilter.html
    deleted file mode 100644
    index 13458218..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.filter/JwtAuthorizationFilter.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>JwtAuthorizationFilter</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.filter</a> &gt; <span class="el_class">JwtAuthorizationFilter</span></div><h1>JwtAuthorizationFilter</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">46 of 46</td><td class="ctr2">0%</td><td class="bar">8 of 8</td><td class="ctr2">0%</td><td class="ctr1">7</td><td class="ctr2">7</td><td class="ctr1">11</td><td class="ctr2">11</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a0"><a href="JwtAuthorizationFilter.java.html#L34" class="el_method">doFilterInternal(HttpServletRequest, HttpServletResponse, FilterChain)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="37" alt="37"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="8" alt="8"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">5</td><td class="ctr2" id="g0">5</td><td class="ctr1" id="h0">9</td><td class="ctr2" id="i0">9</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="JwtAuthorizationFilter.java.html#L52" class="el_method">isUriInWhiteList(String)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="16" height="10" title="5" alt="5"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="JwtAuthorizationFilter.java.html#L22" class="el_method">static {...}</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="12" height="10" title="4" alt="4"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.filter/JwtAuthorizationFilter.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.filter/JwtAuthorizationFilter.java.html
    deleted file mode 100644
    index 44c3045f..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.filter/JwtAuthorizationFilter.java.html
    +++ /dev/null
    @@ -1,56 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>JwtAuthorizationFilter.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.filter</a> &gt; <span class="el_source">JwtAuthorizationFilter.java</span></div><h1>JwtAuthorizationFilter.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.filter;
    -
    -import com.softeer.backend.global.common.code.status.ErrorStatus;
    -import com.softeer.backend.global.common.constant.RoleType;
    -import com.softeer.backend.global.common.dto.JwtClaimsDto;
    -import com.softeer.backend.global.common.exception.JwtAuthorizationException;
    -import jakarta.servlet.FilterChain;
    -import jakarta.servlet.ServletException;
    -import jakarta.servlet.http.HttpServletRequest;
    -import jakarta.servlet.http.HttpServletResponse;
    -import lombok.NoArgsConstructor;
    -import lombok.extern.slf4j.Slf4j;
    -import org.springframework.util.PatternMatchUtils;
    -import org.springframework.web.cors.CorsUtils;
    -import org.springframework.web.filter.OncePerRequestFilter;
    -
    -import java.io.IOException;
    -
    -/**
    - * 유저의 권한을 검증하는 필터 클래스
    - */
    -<span class="nc" id="L22">@Slf4j</span>
    -@NoArgsConstructor
    -public class JwtAuthorizationFilter extends OncePerRequestFilter {
    -
    -    // 인가검사를 하지 않는 url 설정
    -    private final String[] whiteListUrls = {
    -            &quot;/admin/login&quot;, &quot;/admin/signup&quot;
    -    };
    -
    -    @Override
    -    protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException {
    -
    -<span class="nc bnc" id="L34" title="All 4 branches missed.">        if(CorsUtils.isPreFlightRequest(request) || isUriInWhiteList(request.getRequestURI())){</span>
    -<span class="nc" id="L35">            filterChain.doFilter(request, response);</span>
    -<span class="nc" id="L36">            return;</span>
    -        }
    -
    -
    -<span class="nc" id="L40">        JwtClaimsDto jwtClaimsDto = (JwtClaimsDto) request.getAttribute(&quot;jwtClaims&quot;);</span>
    -
    -<span class="nc bnc" id="L42" title="All 4 branches missed.">        if (jwtClaimsDto == null || jwtClaimsDto.getRoleType() != RoleType.ROLE_ADMIN) {</span>
    -
    -<span class="nc" id="L44">            log.error(&quot;JwtAuthorizationException has occurred&quot;);</span>
    -<span class="nc" id="L45">            throw new JwtAuthorizationException(ErrorStatus._FORBIDDEN);</span>
    -        }
    -
    -<span class="nc" id="L48">        filterChain.doFilter(request, response);</span>
    -<span class="nc" id="L49">    }</span>
    -
    -    private boolean isUriInWhiteList(String url) {
    -<span class="nc" id="L52">        return PatternMatchUtils.simpleMatch(whiteListUrls, url);</span>
    -    }
    -
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.filter/index.html b/jacoco/jacocoHtml/com.softeer.backend.global.filter/index.html
    deleted file mode 100644
    index cc7ab49a..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.filter/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.filter</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.filter</span></div><h1>com.softeer.backend.global.filter</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">403 of 403</td><td class="ctr2">0%</td><td class="bar">26 of 26</td><td class="ctr2">0%</td><td class="ctr1">35</td><td class="ctr2">35</td><td class="ctr1">105</td><td class="ctr2">105</td><td class="ctr1">22</td><td class="ctr2">22</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a1"><a href="JwtAuthenticationFilter.html" class="el_class">JwtAuthenticationFilter</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="298" alt="298"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="18" alt="18"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">25</td><td class="ctr2" id="g0">25</td><td class="ctr1" id="h0">74</td><td class="ctr2" id="i0">74</td><td class="ctr1" id="j0">16</td><td class="ctr2" id="k0">16</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="ExceptionHandlingFilter.html" class="el_class">ExceptionHandlingFilter</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="23" height="10" title="59" alt="59"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">3</td><td class="ctr2" id="g2">3</td><td class="ctr1" id="h1">20</td><td class="ctr2" id="i1">20</td><td class="ctr1" id="j1">3</td><td class="ctr2" id="k1">3</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a2"><a href="JwtAuthorizationFilter.html" class="el_class">JwtAuthorizationFilter</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="18" height="10" title="46" alt="46"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="53" height="10" title="8" alt="8"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f1">7</td><td class="ctr2" id="g1">7</td><td class="ctr1" id="h2">11</td><td class="ctr2" id="i2">11</td><td class="ctr1" id="j2">3</td><td class="ctr2" id="k2">3</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.filter/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.global.filter/index.source.html
    deleted file mode 100644
    index 396d3605..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.filter/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.filter</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.filter</span></div><h1>com.softeer.backend.global.filter</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">403 of 403</td><td class="ctr2">0%</td><td class="bar">26 of 26</td><td class="ctr2">0%</td><td class="ctr1">35</td><td class="ctr2">35</td><td class="ctr1">105</td><td class="ctr2">105</td><td class="ctr1">22</td><td class="ctr2">22</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a1"><a href="JwtAuthenticationFilter.java.html" class="el_source">JwtAuthenticationFilter.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="298" alt="298"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="18" alt="18"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">25</td><td class="ctr2" id="g0">25</td><td class="ctr1" id="h0">74</td><td class="ctr2" id="i0">74</td><td class="ctr1" id="j0">16</td><td class="ctr2" id="k0">16</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="ExceptionHandlingFilter.java.html" class="el_source">ExceptionHandlingFilter.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="23" height="10" title="59" alt="59"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">3</td><td class="ctr2" id="g2">3</td><td class="ctr1" id="h1">20</td><td class="ctr2" id="i1">20</td><td class="ctr1" id="j1">3</td><td class="ctr2" id="k1">3</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a2"><a href="JwtAuthorizationFilter.java.html" class="el_source">JwtAuthorizationFilter.java</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="18" height="10" title="46" alt="46"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="53" height="10" title="8" alt="8"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f1">7</td><td class="ctr2" id="g1">7</td><td class="ctr1" id="h2">11</td><td class="ctr2" id="i2">11</td><td class="ctr1" id="j2">3</td><td class="ctr2" id="k2">3</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.scheduler/DbInsertScheduler.html b/jacoco/jacocoHtml/com.softeer.backend.global.scheduler/DbInsertScheduler.html
    deleted file mode 100644
    index b456b2a4..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.scheduler/DbInsertScheduler.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DbInsertScheduler</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.scheduler</a> &gt; <span class="el_class">DbInsertScheduler</span></div><h1>DbInsertScheduler</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">262 of 262</td><td class="ctr2">0%</td><td class="bar">14 of 14</td><td class="ctr2">0%</td><td class="ctr1">15</td><td class="ctr2">15</td><td class="ctr1">63</td><td class="ctr2">63</td><td class="ctr1">8</td><td class="ctr2">8</td></tr></tfoot><tbody><tr><td id="a1"><a href="DbInsertScheduler.java.html#L64" class="el_method">insertData()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="198" alt="198"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="12" alt="12"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">7</td><td class="ctr2" id="g0">7</td><td class="ctr1" id="h0">43</td><td class="ctr2" id="i0">43</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a3"><a href="DbInsertScheduler.java.html#L83" class="el_method">lambda$insertData$1(int, String, Integer)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="13" height="10" title="23" alt="23"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h1">9</td><td class="ctr2" id="i1">9</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a5"><a href="DbInsertScheduler.java.html#L59" class="el_method">scheduleTask()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="7" height="10" title="12" alt="12"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">2</td><td class="ctr2" id="i3">2</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a7"><a href="DbInsertScheduler.java.html#L150" class="el_method">stopScheduler()</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="5" height="10" title="9" alt="9"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="20" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f1">2</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h2">3</td><td class="ctr2" id="i2">3</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a2"><a href="DbInsertScheduler.java.html#L85" class="el_method">lambda$insertData$0()</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="4" height="10" title="8" alt="8"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">2</td><td class="ctr2" id="i4">2</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a4"><a href="DbInsertScheduler.java.html#L120" class="el_method">lambda$insertData$2()</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="3" height="10" title="5" alt="5"/></td><td class="ctr2" id="c5">0%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">1</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h6">1</td><td class="ctr2" id="i6">1</td><td class="ctr1" id="j5">1</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a6"><a href="DbInsertScheduler.java.html#L33" class="el_method">static {...}</a></td><td class="bar" id="b6"><img src="../jacoco-resources/redbar.gif" width="2" height="10" title="4" alt="4"/></td><td class="ctr2" id="c6">0%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">1</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h7">1</td><td class="ctr2" id="i7">1</td><td class="ctr1" id="j6">1</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a0"><a href="DbInsertScheduler.java.html#L54" class="el_method">init()</a></td><td class="bar" id="b7"><img src="../jacoco-resources/redbar.gif" width="1" height="10" title="3" alt="3"/></td><td class="ctr2" id="c7">0%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">1</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h5">2</td><td class="ctr2" id="i5">2</td><td class="ctr1" id="j7">1</td><td class="ctr2" id="k7">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.scheduler/DbInsertScheduler.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.scheduler/DbInsertScheduler.java.html
    deleted file mode 100644
    index bd3dc99f..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.scheduler/DbInsertScheduler.java.html
    +++ /dev/null
    @@ -1,155 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DbInsertScheduler.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.scheduler</a> &gt; <span class="el_source">DbInsertScheduler.java</span></div><h1>DbInsertScheduler.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.scheduler;
    -
    -import com.softeer.backend.bo_domain.eventparticipation.domain.EventParticipation;
    -import com.softeer.backend.bo_domain.eventparticipation.repository.EventParticipationRepository;
    -import com.softeer.backend.fo_domain.draw.domain.Draw;
    -import com.softeer.backend.fo_domain.draw.repository.DrawRepository;
    -import com.softeer.backend.fo_domain.draw.service.DrawSettingManager;
    -import com.softeer.backend.fo_domain.fcfs.domain.Fcfs;
    -import com.softeer.backend.fo_domain.fcfs.repository.FcfsRepository;
    -import com.softeer.backend.fo_domain.fcfs.service.FcfsSettingManager;
    -import com.softeer.backend.fo_domain.user.domain.User;
    -import com.softeer.backend.fo_domain.user.exception.UserException;
    -import com.softeer.backend.fo_domain.user.repository.UserRepository;
    -import com.softeer.backend.global.common.code.status.ErrorStatus;
    -import com.softeer.backend.global.common.constant.RedisKeyPrefix;
    -import com.softeer.backend.global.util.DrawRedisUtil;
    -import com.softeer.backend.global.util.EventLockRedisUtil;
    -import com.softeer.backend.global.util.FcfsRedisUtil;
    -import jakarta.annotation.PostConstruct;
    -import lombok.RequiredArgsConstructor;
    -import lombok.extern.slf4j.Slf4j;
    -import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
    -import org.springframework.scheduling.support.CronTrigger;
    -import org.springframework.stereotype.Component;
    -import org.springframework.transaction.annotation.Transactional;
    -
    -import java.time.LocalDate;
    -import java.time.LocalDateTime;
    -import java.util.Map;
    -import java.util.Set;
    -import java.util.concurrent.ScheduledFuture;
    -
    -<span class="nc" id="L33">@Slf4j</span>
    -@Component
    -@RequiredArgsConstructor
    -public class DbInsertScheduler {
    -
    -    private final ThreadPoolTaskScheduler taskScheduler;
    -    private final EventLockRedisUtil eventLockRedisUtil;
    -    private final FcfsRedisUtil fcfsRedisUtil;
    -    private final DrawRedisUtil drawRedisUtil;
    -    private final FcfsSettingManager fcfsSettingManager;
    -    private final DrawSettingManager drawSettingManager;
    -    private final EventParticipationRepository eventParticipationRepository;
    -    private final UserRepository userRepository;
    -    private final FcfsRepository fcfsRepository;
    -    private final DrawRepository drawRepository;
    -
    -
    -    private ScheduledFuture&lt;?&gt; scheduledFuture;
    -
    -    @PostConstruct
    -    public void init() {
    -<span class="nc" id="L54">        scheduleTask();</span>
    -
    -<span class="nc" id="L56">    }</span>
    -
    -    public void scheduleTask() {
    -<span class="nc" id="L59">        scheduledFuture = taskScheduler.schedule(this::insertData, new CronTrigger(&quot;0 0 2 * * *&quot;));</span>
    -<span class="nc" id="L60">    }</span>
    -
    -    @Transactional
    -    protected void insertData() {
    -<span class="nc" id="L64">        LocalDate now = LocalDate.now();</span>
    -<span class="nc bnc" id="L65" title="All 2 branches missed.">        if (now.isBefore(drawSettingManager.getStartDate().plusDays(1)))</span>
    -<span class="nc" id="L66">            return;</span>
    -
    -<span class="nc bnc" id="L68" title="All 2 branches missed.">        if (now.isAfter(drawSettingManager.getEndDate().plusDays(1)))</span>
    -<span class="nc" id="L69">            stopScheduler();</span>
    -
    -<span class="nc" id="L71">        int totalVisitorsCount = eventLockRedisUtil.getData(RedisKeyPrefix.TOTAL_VISITORS_COUNT_PREFIX.getPrefix());</span>
    -<span class="nc" id="L72">        eventLockRedisUtil.deleteData(RedisKeyPrefix.TOTAL_VISITORS_COUNT_PREFIX.getPrefix());</span>
    -
    -<span class="nc" id="L74">        int fcfsParticipantCount = 0;</span>
    -
    -<span class="nc bnc" id="L76" title="All 2 branches missed.">        if (fcfsSettingManager.getRoundForScheduler(now) != -1) {</span>
    -<span class="nc" id="L77">            fcfsSettingManager.setFcfsClosed(false);</span>
    -
    -<span class="nc" id="L79">            int round = fcfsSettingManager.getRoundForScheduler(now);</span>
    -
    -<span class="nc" id="L81">            Map&lt;String, Integer&gt; participantIds = fcfsRedisUtil.getHashEntries(RedisKeyPrefix.FCFS_CODE_USERID_PREFIX.getPrefix() + round);</span>
    -<span class="nc" id="L82">            participantIds.forEach((code, userId) -&gt; {</span>
    -<span class="nc" id="L83">                User user = userRepository.findById(userId)</span>
    -<span class="nc" id="L84">                        .orElseThrow(() -&gt; {</span>
    -<span class="nc" id="L85">                            log.error(&quot;user not found in saveFcfsWinners method.&quot;);</span>
    -<span class="nc" id="L86">                            return new UserException(ErrorStatus._NOT_FOUND);</span>
    -                        });
    -
    -<span class="nc" id="L89">                Fcfs fcfs = Fcfs.builder()</span>
    -<span class="nc" id="L90">                        .user(user)</span>
    -<span class="nc" id="L91">                        .round(round)</span>
    -<span class="nc" id="L92">                        .code(code)</span>
    -<span class="nc" id="L93">                        .build();</span>
    -<span class="nc" id="L94">                fcfsRepository.save(fcfs);</span>
    -<span class="nc" id="L95">            });</span>
    -
    -<span class="nc" id="L97">            fcfsParticipantCount += fcfsRedisUtil.getValue(RedisKeyPrefix.FCFS_PARTICIPANT_COUNT_PREFIX.getPrefix() + round);</span>
    -
    -<span class="nc" id="L99">            fcfsRedisUtil.clearValue(RedisKeyPrefix.FCFS_PARTICIPANT_COUNT_PREFIX.getPrefix() + round);</span>
    -<span class="nc" id="L100">            fcfsRedisUtil.clearIntegerSet(RedisKeyPrefix.FCFS_USERID_PREFIX.getPrefix() + round);</span>
    -<span class="nc" id="L101">            fcfsRedisUtil.clearStringSet(RedisKeyPrefix.FCFS_CODE_PREFIX.getPrefix() + round);</span>
    -<span class="nc" id="L102">            fcfsRedisUtil.clearHash(RedisKeyPrefix.FCFS_CODE_USERID_PREFIX.getPrefix() + round);</span>
    -        }
    -
    -        // drawParticipantCount에 추첨 이벤트 참가자 수 할당하기
    -<span class="nc" id="L106">        int drawParticipantCount = drawRedisUtil.getDrawParticipantCount();</span>
    -        // redis에서 추첨 참가자 수 삭제
    -<span class="nc" id="L108">        drawRedisUtil.deleteDrawParticipantCount();</span>
    -
    -        // 추첨 당첨자 DB에 insert
    -        String drawWinnerKey;
    -<span class="nc bnc" id="L112" title="All 2 branches missed.">        for (int ranking = 1; ranking &lt; 4; ranking++) {</span>
    -<span class="nc" id="L113">            drawWinnerKey = RedisKeyPrefix.DRAW_WINNER_LIST_PREFIX.getPrefix() + ranking;</span>
    -<span class="nc" id="L114">            Set&lt;Integer&gt; winnerSet = drawRedisUtil.getAllDataAsSet(drawWinnerKey);</span>
    -
    -<span class="nc" id="L116">            LocalDate winningDate = LocalDate.now().minusDays(1);</span>
    -
    -<span class="nc bnc" id="L118" title="All 2 branches missed.">            for (Integer userId : winnerSet) {</span>
    -<span class="nc" id="L119">                User user = userRepository.findById(userId).orElseThrow(</span>
    -<span class="nc" id="L120">                        () -&gt; new UserException(ErrorStatus._NOT_FOUND));</span>
    -
    -<span class="nc" id="L122">                Draw draw = Draw.builder()</span>
    -<span class="nc" id="L123">                        .user(user)</span>
    -<span class="nc" id="L124">                        .rank(ranking)</span>
    -<span class="nc" id="L125">                        .winningDate(winningDate)</span>
    -<span class="nc" id="L126">                        .build();</span>
    -
    -<span class="nc" id="L128">                drawRepository.save(draw);</span>
    -<span class="nc" id="L129">            }</span>
    -        }
    -
    -        // redis에서 추첨 당첨자 목록 삭제
    -<span class="nc bnc" id="L133" title="All 2 branches missed.">        for (int ranking = 1; ranking &lt; 4; ranking++) {</span>
    -<span class="nc" id="L134">            drawWinnerKey = RedisKeyPrefix.DRAW_WINNER_LIST_PREFIX.getPrefix() + ranking;</span>
    -<span class="nc" id="L135">            drawRedisUtil.deleteAllSetData(drawWinnerKey);</span>
    -        }
    -
    -<span class="nc" id="L138">        eventParticipationRepository.save(EventParticipation.builder()</span>
    -<span class="nc" id="L139">                .visitorCount(totalVisitorsCount)</span>
    -<span class="nc" id="L140">                .fcfsParticipantCount(fcfsParticipantCount)</span>
    -<span class="nc" id="L141">                .drawParticipantCount(drawParticipantCount)</span>
    -<span class="nc" id="L142">                .eventDate(now.minusDays(1))</span>
    -<span class="nc" id="L143">                .build());</span>
    -<span class="nc" id="L144">    }</span>
    -
    -    /**
    -     * Scheduler의 작업을 비활성화 시키는 메서드
    -     */
    -    public void stopScheduler() {
    -<span class="nc bnc" id="L150" title="All 2 branches missed.">        if (scheduledFuture != null) {</span>
    -<span class="nc" id="L151">            scheduledFuture.cancel(false);</span>
    -        }
    -<span class="nc" id="L153">    }</span>
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.scheduler/EventSettingScheduler.html b/jacoco/jacocoHtml/com.softeer.backend.global.scheduler/EventSettingScheduler.html
    deleted file mode 100644
    index 06cd23f8..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.scheduler/EventSettingScheduler.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>EventSettingScheduler</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.scheduler</a> &gt; <span class="el_class">EventSettingScheduler</span></div><h1>EventSettingScheduler</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">57 of 57</td><td class="ctr2">0%</td><td class="bar">4 of 4</td><td class="ctr2">0%</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a2"><a href="EventSettingScheduler.java.html#L46" class="el_method">updateEventSetting()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="42" alt="42"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">8</td><td class="ctr2" id="i0">8</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="EventSettingScheduler.java.html#L41" class="el_method">scheduleTask()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="34" height="10" title="12" alt="12"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="EventSettingScheduler.java.html#L36" class="el_method">init()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="8" height="10" title="3" alt="3"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">2</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.scheduler/EventSettingScheduler.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.scheduler/EventSettingScheduler.java.html
    deleted file mode 100644
    index 36b4c90b..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.scheduler/EventSettingScheduler.java.html
    +++ /dev/null
    @@ -1,59 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>EventSettingScheduler.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.scheduler</a> &gt; <span class="el_source">EventSettingScheduler.java</span></div><h1>EventSettingScheduler.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.scheduler;
    -
    -import com.softeer.backend.fo_domain.draw.domain.DrawSetting;
    -import com.softeer.backend.fo_domain.draw.repository.DrawSettingRepository;
    -import com.softeer.backend.fo_domain.draw.service.DrawSettingManager;
    -import com.softeer.backend.fo_domain.fcfs.domain.FcfsSetting;
    -import com.softeer.backend.fo_domain.fcfs.repository.FcfsSettingRepository;
    -import com.softeer.backend.fo_domain.fcfs.service.FcfsSettingManager;
    -import jakarta.annotation.PostConstruct;
    -import lombok.RequiredArgsConstructor;
    -import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
    -import org.springframework.scheduling.support.CronTrigger;
    -import org.springframework.stereotype.Component;
    -import org.springframework.transaction.annotation.Transactional;
    -
    -import java.time.LocalDate;
    -import java.time.LocalDateTime;
    -import java.util.List;
    -import java.util.concurrent.ScheduledFuture;
    -
    -@Component
    -@RequiredArgsConstructor
    -public class EventSettingScheduler {
    -
    -    private final ThreadPoolTaskScheduler taskScheduler;
    -
    -    private final FcfsSettingManager fcfsSettingManager;
    -    private final DrawSettingManager drawSettingManager;
    -    private final FcfsSettingRepository fcfsSettingRepository;
    -    private final DrawSettingRepository drawSettingRepository;
    -
    -    private ScheduledFuture&lt;?&gt; scheduledFuture;
    -
    -    @PostConstruct
    -    public void init() {
    -<span class="nc" id="L36">        scheduleTask();</span>
    -
    -<span class="nc" id="L38">    }</span>
    -
    -    public void scheduleTask() {
    -<span class="nc" id="L41">        scheduledFuture = taskScheduler.schedule(this::updateEventSetting, new CronTrigger(&quot;0 0 1 * * *&quot;));</span>
    -<span class="nc" id="L42">    }</span>
    -
    -    @Transactional(readOnly = true)
    -    protected void updateEventSetting() {
    -<span class="nc" id="L46">        LocalDateTime now = LocalDateTime.now();</span>
    -<span class="nc bnc" id="L47" title="All 2 branches missed.">        if (now.isBefore(LocalDateTime.of(drawSettingManager.getStartDate(), drawSettingManager.getStartTime()))</span>
    -<span class="nc bnc" id="L48" title="All 2 branches missed.">        || now.isAfter(LocalDateTime.of(drawSettingManager.getEndDate(), drawSettingManager.getEndTime()))){</span>
    -
    -<span class="nc" id="L50">            List&lt;FcfsSetting&gt; fcfsSettings = fcfsSettingRepository.findAll();</span>
    -<span class="nc" id="L51">            DrawSetting drawSetting = drawSettingRepository.findAll().get(0);</span>
    -
    -<span class="nc" id="L53">            fcfsSettingManager.setFcfsSettingList(fcfsSettings);</span>
    -<span class="nc" id="L54">            drawSettingManager.setDrawSetting(drawSetting);</span>
    -        }
    -<span class="nc" id="L56">    }</span>
    -
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.scheduler/index.html b/jacoco/jacocoHtml/com.softeer.backend.global.scheduler/index.html
    deleted file mode 100644
    index 488a403c..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.scheduler/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.scheduler</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.scheduler</span></div><h1>com.softeer.backend.global.scheduler</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">319 of 319</td><td class="ctr2">0%</td><td class="bar">18 of 18</td><td class="ctr2">0%</td><td class="ctr1">20</td><td class="ctr2">20</td><td class="ctr1">75</td><td class="ctr2">75</td><td class="ctr1">11</td><td class="ctr2">11</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="DbInsertScheduler.html" class="el_class">DbInsertScheduler</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="262" alt="262"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="14" alt="14"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">15</td><td class="ctr2" id="g0">15</td><td class="ctr1" id="h0">63</td><td class="ctr2" id="i0">63</td><td class="ctr1" id="j0">8</td><td class="ctr2" id="k0">8</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a1"><a href="EventSettingScheduler.html" class="el_class">EventSettingScheduler</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="26" height="10" title="57" alt="57"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="34" height="10" title="4" alt="4"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f1">5</td><td class="ctr2" id="g1">5</td><td class="ctr1" id="h1">12</td><td class="ctr2" id="i1">12</td><td class="ctr1" id="j1">3</td><td class="ctr2" id="k1">3</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.scheduler/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.global.scheduler/index.source.html
    deleted file mode 100644
    index ebd10184..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.scheduler/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.scheduler</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.scheduler</span></div><h1>com.softeer.backend.global.scheduler</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">319 of 319</td><td class="ctr2">0%</td><td class="bar">18 of 18</td><td class="ctr2">0%</td><td class="ctr1">20</td><td class="ctr2">20</td><td class="ctr1">75</td><td class="ctr2">75</td><td class="ctr1">11</td><td class="ctr2">11</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="DbInsertScheduler.java.html" class="el_source">DbInsertScheduler.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="262" alt="262"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="14" alt="14"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">15</td><td class="ctr2" id="g0">15</td><td class="ctr1" id="h0">63</td><td class="ctr2" id="i0">63</td><td class="ctr1" id="j0">8</td><td class="ctr2" id="k0">8</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a1"><a href="EventSettingScheduler.java.html" class="el_source">EventSettingScheduler.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="26" height="10" title="57" alt="57"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="34" height="10" title="4" alt="4"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f1">5</td><td class="ctr2" id="g1">5</td><td class="ctr1" id="h1">12</td><td class="ctr2" id="i1">12</td><td class="ctr1" id="j1">3</td><td class="ctr2" id="k1">3</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/S3FileName.html b/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/S3FileName.html
    deleted file mode 100644
    index 3728d3a5..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/S3FileName.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>S3FileName</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.staticresources.constant</a> &gt; <span class="el_class">S3FileName</span></div><h1>S3FileName</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">201 of 201</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">34</td><td class="ctr2">34</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="S3FileName.java.html#L3" class="el_method">static {...}</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="201" alt="201"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">34</td><td class="ctr2" id="i0">34</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/S3FileName.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/S3FileName.java.html
    deleted file mode 100644
    index 7c923784..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/S3FileName.java.html
    +++ /dev/null
    @@ -1,38 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>S3FileName.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.staticresources.constant</a> &gt; <span class="el_source">S3FileName.java</span></div><h1>S3FileName.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.staticresources.constant;
    -
    -<span class="nc" id="L3">public enum S3FileName {</span>
    -<span class="nc" id="L4">    CHARGING_BACKGROUND_IMAGE,</span>
    -<span class="nc" id="L5">    CHARGING_FAST_IMAGE,</span>
    -<span class="nc" id="L6">    CHARGING_THUMBNAIL_IMAGE,</span>
    -<span class="nc" id="L7">    CHARGING_V2L_IMAGE,</span>
    -<span class="nc" id="L8">    DRAW_REWARD_IMAGE_1,</span>
    -<span class="nc" id="L9">    DRAW_REWARD_IMAGE_2,</span>
    -<span class="nc" id="L10">    DRAW_REWARD_IMAGE_3,</span>
    -<span class="nc" id="L11">    FCFS_REWARD_IMAGE_1,</span>
    -<span class="nc" id="L12">    FCFS_REWARD_IMAGE_2,</span>
    -<span class="nc" id="L13">    INTERIOR_BACKGROUND_IMAGE,</span>
    -<span class="nc" id="L14">    INTERIOR_OPENNESS_IMAGE,</span>
    -<span class="nc" id="L15">    INTERIOR_THUMBNAIL_IMAGE,</span>
    -<span class="nc" id="L16">    INTERIOR_WELLNESS_IMAGE,</span>
    -<span class="nc" id="L17">    IONIQ_VIDEO,</span>
    -<span class="nc" id="L18">    MAIN_BACKGROUND_IMAGE,</span>
    -<span class="nc" id="L19">    MAIN_THUMBNAIL_IMAGE,</span>
    -<span class="nc" id="L20">    PERFORMANCE_BACKGROUND_IMAGE,</span>
    -<span class="nc" id="L21">    PERFORMANCE_BRAKING_IMAGE,</span>
    -<span class="nc" id="L22">    PERFORMANCE_DRIVING_IMAGE,</span>
    -<span class="nc" id="L23">    PERFORMANCE_THUMBNAIL_IMAGE,</span>
    -<span class="nc" id="L24">    SAFE_ADVANCED_IMAGE,</span>
    -<span class="nc" id="L25">    SAFE_BACKGROUND_IMAGE,</span>
    -<span class="nc" id="L26">    SAFE_DRIVING_IMAGE,</span>
    -<span class="nc" id="L27">    SAFE_THUMBNAIL_IMAGE,</span>
    -<span class="nc" id="L28">    BARCODE_IMAGE,</span>
    -<span class="nc" id="L29">    SEVENTH_COMPLETE_IMAGE,</span>
    -<span class="nc" id="L30">    SEVENTH_NOT_YET_IMAGE,</span>
    -<span class="nc" id="L31">    ATTENDANCE_REWARD_IMAGE,</span>
    -<span class="nc" id="L32">    DRAW_BLOCK_DOWN_IMAGE,</span>
    -<span class="nc" id="L33">    DRAW_BLOCK_LEFT_IMAGE,</span>
    -<span class="nc" id="L34">    DRAW_BLOCK_RIGHT_IMAGE,</span>
    -<span class="nc" id="L35">    DRAW_BLOCK_UP_IMAGE,</span>
    -<span class="nc" id="L36">    DRAW_REWARD_IMAGE_2_3</span>
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/StaticTextName.html b/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/StaticTextName.html
    deleted file mode 100644
    index 0b2625e2..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/StaticTextName.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>StaticTextName</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.staticresources.constant</a> &gt; <span class="el_class">StaticTextName</span></div><h1>StaticTextName</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">423 of 423</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">71</td><td class="ctr2">71</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="StaticTextName.java.html#L5" class="el_method">static {...}</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="423" alt="423"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">71</td><td class="ctr2" id="i0">71</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/StaticTextName.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/StaticTextName.java.html
    deleted file mode 100644
    index 054656eb..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/StaticTextName.java.html
    +++ /dev/null
    @@ -1,99 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>StaticTextName.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.staticresources.constant</a> &gt; <span class="el_source">StaticTextName.java</span></div><h1>StaticTextName.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.staticresources.constant;
    -
    -import lombok.Getter;
    -
    -<span class="nc" id="L5">public enum StaticTextName {</span>
    -<span class="nc" id="L6">    EVENT_TITLE,</span>
    -<span class="nc" id="L7">    EVENT_DESCRIPTION,</span>
    -
    -<span class="nc" id="L9">    FCFS_INFO,</span>
    -<span class="nc" id="L10">    FCFS_TITLE,</span>
    -<span class="nc" id="L11">    FCFS_CONTENT,</span>
    -
    -<span class="nc" id="L13">    TOTAL_DRAW_WINNER,</span>
    -<span class="nc" id="L14">    REMAIN_DRAW_COUNT,</span>
    -<span class="nc" id="L15">    DRAW_TITLE,</span>
    -<span class="nc" id="L16">    DRAW_CONTENT,</span>
    -
    -<span class="nc" id="L18">    MAIN_TITLE,</span>
    -<span class="nc" id="L19">    MAIN_SUBTITLE,</span>
    -
    -<span class="nc" id="L21">    INTERIOR_TITLE,</span>
    -<span class="nc" id="L22">    INTERIOR_SUBTITLE,</span>
    -<span class="nc" id="L23">    INTERIOR_IMAGE_TITLE,</span>
    -<span class="nc" id="L24">    INTERIOR_IMAGE_CONTENT,</span>
    -<span class="nc" id="L25">    INTERIOR_OPENNESS_TITLE,</span>
    -<span class="nc" id="L26">    INTERIOR_OPENNESS_SUBTITLE,</span>
    -<span class="nc" id="L27">    INTERIOR_OPENNESS_CONTENT,</span>
    -
    -<span class="nc" id="L29">    INTERIOR_WELLNESS_TITLE,</span>
    -<span class="nc" id="L30">    INTERIOR_WELLNESS_SUBTITLE,</span>
    -<span class="nc" id="L31">    INTERIOR_WELLNESS_CONTENT,</span>
    -
    -<span class="nc" id="L33">    PERFORMANCE_TITLE,</span>
    -<span class="nc" id="L34">    PERFORMANCE_SUBTITLE,</span>
    -<span class="nc" id="L35">    PERFORMANCE_IMAGE_TITLE,</span>
    -<span class="nc" id="L36">    PERFORMANCE_IMAGE_CONTENT,</span>
    -<span class="nc" id="L37">    PERFORMANCE_BRAKING_TITLE,</span>
    -<span class="nc" id="L38">    PERFORMANCE_BRAKING_SUBTITLE,</span>
    -<span class="nc" id="L39">    PERFORMANCE_BRAKING_CONTENT,</span>
    -
    -<span class="nc" id="L41">    PERFORMANCE_DRIVING_TITLE,</span>
    -<span class="nc" id="L42">    PERFORMANCE_DRIVING_SUBTITLE,</span>
    -<span class="nc" id="L43">    PERFORMANCE_DRIVING_CONTENT,</span>
    -
    -<span class="nc" id="L45">    CHARGING_TITLE,</span>
    -<span class="nc" id="L46">    CHARGING_SUBTITLE,</span>
    -<span class="nc" id="L47">    CHARGING_IMAGE_TITLE,</span>
    -<span class="nc" id="L48">    CHARGING_IMAGE_CONTENT,</span>
    -<span class="nc" id="L49">    CHARGING_FAST_TITLE,</span>
    -<span class="nc" id="L50">    CHARGING_FAST_SUBTITLE,</span>
    -<span class="nc" id="L51">    CHARGING_FAST_CONTENT,</span>
    -
    -<span class="nc" id="L53">    CHARGING_V2L_TITLE,</span>
    -<span class="nc" id="L54">    CHARGING_V2L_SUBTITLE,</span>
    -<span class="nc" id="L55">    CHARGING_V2L_CONTENT,</span>
    -
    -<span class="nc" id="L57">    SAFE_TITLE,</span>
    -<span class="nc" id="L58">    SAFE_SUBTITLE,</span>
    -<span class="nc" id="L59">    SAFE_IMAGE_TITLE,</span>
    -<span class="nc" id="L60">    SAFE_IMAGE_CONTENT,</span>
    -<span class="nc" id="L61">    SAFE_DRIVING_TITLE,</span>
    -<span class="nc" id="L62">    SAFE_DRIVING_SUBTITLE,</span>
    -<span class="nc" id="L63">    SAFE_DRIVING_CONTENT,</span>
    -
    -<span class="nc" id="L65">    SAFE_ADVANCED_TITLE,</span>
    -<span class="nc" id="L66">    SAFE_ADVANCED_SUBTITLE,</span>
    -<span class="nc" id="L67">    SAFE_ADVANCED_CONTENT,</span>
    -
    -    // 7일 연속 출석 모달
    -<span class="nc" id="L70">    FULL_ATTEND_MODAL_TITLE,</span>
    -<span class="nc" id="L71">    FULL_ATTEND_MODAL_SUBTITLE,</span>
    -<span class="nc" id="L72">    FULL_ATTEND_MODAL_DESCRIPTION,</span>
    -
    -    // 추첨 당첨 모달
    -<span class="nc" id="L75">    DRAW_WINNER_MODAL_TITLE,</span>
    -<span class="nc" id="L76">    DRAW_FIRST_WINNER_SUBTITLE,</span>
    -<span class="nc" id="L77">    DRAW_SECOND_WINNER_SUBTITLE,</span>
    -<span class="nc" id="L78">    DRAW_THIRD_WINNER_SUBTITLE,</span>
    -<span class="nc" id="L79">    DRAW_WINNER_MODAL_DESCRIPTION,</span>
    -
    -    // 공유 url
    -<span class="nc" id="L82">    BASE_URL,</span>
    -<span class="nc" id="L83">    NON_USER_SHARE_URL,</span>
    -
    -    // 선착순
    -<span class="nc" id="L86">    FCFS_QUIZ_DESCRIPTION,</span>
    -
    -<span class="nc" id="L88">    FCFS_WINNER_TITLE,</span>
    -<span class="nc" id="L89">    FCFS_WINNER_SUBTITLE,</span>
    -<span class="nc" id="L90">    FCFS_WINNER_CODE_WORD,</span>
    -<span class="nc" id="L91">    FCFS_WINNER_EXPIRY_DATE,</span>
    -<span class="nc" id="L92">    FCFS_WINNER_CAUTION,</span>
    -
    -<span class="nc" id="L94">    FCFS_LOSER_TITLE,</span>
    -<span class="nc" id="L95">    FCFS_LOSER_SUBTITLE,</span>
    -<span class="nc" id="L96">    FCFS_LOSER_CAUTION;</span>
    -
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/index.html b/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/index.html
    deleted file mode 100644
    index 653e0f84..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.staticresources.constant</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.staticresources.constant</span></div><h1>com.softeer.backend.global.staticresources.constant</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">624 of 624</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">105</td><td class="ctr2">105</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="StaticTextName.html" class="el_class">StaticTextName</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="423" alt="423"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">71</td><td class="ctr2" id="i0">71</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="S3FileName.html" class="el_class">S3FileName</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="57" height="10" title="201" alt="201"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">34</td><td class="ctr2" id="i1">34</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/index.source.html
    deleted file mode 100644
    index 379437d2..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.constant/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.staticresources.constant</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.staticresources.constant</span></div><h1>com.softeer.backend.global.staticresources.constant</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">624 of 624</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">105</td><td class="ctr2">105</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="StaticTextName.java.html" class="el_source">StaticTextName.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="423" alt="423"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">71</td><td class="ctr2" id="i0">71</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="S3FileName.java.html" class="el_source">S3FileName.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="57" height="10" title="201" alt="201"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">34</td><td class="ctr2" id="i1">34</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.util/StaticResourceUtil.html b/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.util/StaticResourceUtil.html
    deleted file mode 100644
    index b8222e17..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.util/StaticResourceUtil.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>StaticResourceUtil</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.staticresources.util</a> &gt; <span class="el_class">StaticResourceUtil</span></div><h1>StaticResourceUtil</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">61 of 61</td><td class="ctr2">0%</td><td class="bar">8 of 8</td><td class="ctr2">0%</td><td class="ctr1">13</td><td class="ctr2">13</td><td class="ctr1">17</td><td class="ctr2">17</td><td class="ctr1">6</td><td class="ctr2">6</td></tr></tfoot><tbody><tr><td id="a1"><a href="StaticResourceUtil.java.html#L41" class="el_method">getKoreanDayOfWeek(DayOfWeek)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="27" alt="27"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="8" alt="8"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">8</td><td class="ctr2" id="g0">8</td><td class="ctr1" id="h0">10</td><td class="ctr2" id="i0">10</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a3"><a href="StaticResourceUtil.java.html#L26" class="el_method">getTextContentMap()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="44" height="10" title="10" alt="10"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="StaticResourceUtil.java.html#L32" class="el_method">getS3ContentMap()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="44" height="10" title="10" alt="10"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">2</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a4"><a href="StaticResourceUtil.java.html#L28" class="el_method">lambda$getTextContentMap$0(TextContent)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="26" height="10" title="6" alt="6"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">1</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a0"><a href="StaticResourceUtil.java.html#L37" class="el_method">format(String, Object[])</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="17" height="10" title="4" alt="4"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">1</td><td class="ctr2" id="i4">1</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a5"><a href="StaticResourceUtil.java.html#L17" class="el_method">static {...}</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="17" height="10" title="4" alt="4"/></td><td class="ctr2" id="c5">0%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">1</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">1</td><td class="ctr2" id="i5">1</td><td class="ctr1" id="j5">1</td><td class="ctr2" id="k5">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.util/StaticResourceUtil.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.util/StaticResourceUtil.java.html
    deleted file mode 100644
    index dbec07db..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.util/StaticResourceUtil.java.html
    +++ /dev/null
    @@ -1,62 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>StaticResourceUtil.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.staticresources.util</a> &gt; <span class="el_source">StaticResourceUtil.java</span></div><h1>StaticResourceUtil.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.staticresources.util;
    -
    -import com.softeer.backend.global.common.code.status.ErrorStatus;
    -import com.softeer.backend.global.common.exception.GeneralException;
    -import com.softeer.backend.global.staticresources.domain.S3Content;
    -import com.softeer.backend.global.staticresources.domain.TextContent;
    -import com.softeer.backend.global.staticresources.repository.S3ContentRepository;
    -import com.softeer.backend.global.staticresources.repository.TextContentRepository;
    -import lombok.RequiredArgsConstructor;
    -import lombok.extern.slf4j.Slf4j;
    -import org.springframework.stereotype.Component;
    -
    -import java.time.DayOfWeek;
    -import java.util.Map;
    -import java.util.stream.Collectors;
    -
    -<span class="nc" id="L17">@Slf4j</span>
    -@Component
    -@RequiredArgsConstructor
    -public class StaticResourceUtil {
    -
    -    private final TextContentRepository textContentRepository;
    -    private final S3ContentRepository s3ContentRepository;
    -
    -    public Map&lt;String, String&gt; getTextContentMap() {
    -<span class="nc" id="L26">        return textContentRepository.findAll().stream()</span>
    -<span class="nc" id="L27">                .collect(Collectors.toMap(TextContent::getTextName,</span>
    -<span class="nc" id="L28">                        textContent -&gt; textContent.getContent().replace(&quot;\\n&quot;, &quot;\n&quot;)));</span>
    -    }
    -
    -    public Map&lt;String, String&gt; getS3ContentMap() {
    -<span class="nc" id="L32">        return s3ContentRepository.findAll().stream()</span>
    -<span class="nc" id="L33">                .collect(Collectors.toMap(S3Content::getFileName, S3Content::getFileUrl));</span>
    -    }
    -
    -    public String format(String text, Object... args) {
    -<span class="nc" id="L37">        return String.format(text, args);</span>
    -    }
    -
    -    public String getKoreanDayOfWeek(DayOfWeek dayOfWeek) {
    -<span class="nc bnc" id="L41" title="All 8 branches missed.">        switch (dayOfWeek) {</span>
    -            case MONDAY:
    -<span class="nc" id="L43">                return &quot;월&quot;;</span>
    -            case TUESDAY:
    -<span class="nc" id="L45">                return &quot;화&quot;;</span>
    -            case WEDNESDAY:
    -<span class="nc" id="L47">                return &quot;수&quot;;</span>
    -            case THURSDAY:
    -<span class="nc" id="L49">                return &quot;목&quot;;</span>
    -            case FRIDAY:
    -<span class="nc" id="L51">                return &quot;금&quot;;</span>
    -            case SATURDAY:
    -<span class="nc" id="L53">                return &quot;토&quot;;</span>
    -            case SUNDAY:
    -<span class="nc" id="L55">                return &quot;일&quot;;</span>
    -            default:
    -<span class="nc" id="L57">                log.error(&quot;Korean day of week is not supported&quot;);</span>
    -<span class="nc" id="L58">                throw new GeneralException(ErrorStatus._INTERNAL_SERVER_ERROR);</span>
    -        }
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.util/index.html b/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.util/index.html
    deleted file mode 100644
    index 19048181..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.util/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.staticresources.util</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.staticresources.util</span></div><h1>com.softeer.backend.global.staticresources.util</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">61 of 61</td><td class="ctr2">0%</td><td class="bar">8 of 8</td><td class="ctr2">0%</td><td class="ctr1">13</td><td class="ctr2">13</td><td class="ctr1">17</td><td class="ctr2">17</td><td class="ctr1">6</td><td class="ctr2">6</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="StaticResourceUtil.html" class="el_class">StaticResourceUtil</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="61" alt="61"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="8" alt="8"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">13</td><td class="ctr2" id="g0">13</td><td class="ctr1" id="h0">17</td><td class="ctr2" id="i0">17</td><td class="ctr1" id="j0">6</td><td class="ctr2" id="k0">6</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.util/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.util/index.source.html
    deleted file mode 100644
    index 4f7520c0..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.staticresources.util/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.staticresources.util</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.staticresources.util</span></div><h1>com.softeer.backend.global.staticresources.util</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">61 of 61</td><td class="ctr2">0%</td><td class="bar">8 of 8</td><td class="ctr2">0%</td><td class="ctr1">13</td><td class="ctr2">13</td><td class="ctr1">17</td><td class="ctr2">17</td><td class="ctr1">6</td><td class="ctr2">6</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="StaticResourceUtil.java.html" class="el_source">StaticResourceUtil.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="61" alt="61"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="8" alt="8"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">13</td><td class="ctr2" id="g0">13</td><td class="ctr1" id="h0">17</td><td class="ctr2" id="i0">17</td><td class="ctr1" id="j0">6</td><td class="ctr2" id="k0">6</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.util/DrawRedisUtil.html b/jacoco/jacocoHtml/com.softeer.backend.global.util/DrawRedisUtil.html
    deleted file mode 100644
    index 50de1d63..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.util/DrawRedisUtil.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DrawRedisUtil</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.util</a> &gt; <span class="el_class">DrawRedisUtil</span></div><h1>DrawRedisUtil</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">101 of 101</td><td class="ctr2">0%</td><td class="bar">6 of 6</td><td class="ctr2">0%</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">23</td><td class="ctr2">23</td><td class="ctr1">9</td><td class="ctr2">9</td></tr></tfoot><tbody><tr><td id="a5"><a href="DrawRedisUtil.java.html#L48" class="el_method">getRankingIfWinner(Integer)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="24" alt="24"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">3</td><td class="ctr1" id="h0">6</td><td class="ctr2" id="i0">6</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a7"><a href="DrawRedisUtil.java.html#L60" class="el_method">isWinner(Integer, int, int)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="115" height="10" title="23" alt="23"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="60" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f1">2</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h1">6</td><td class="ctr2" id="i1">6</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a8"><a href="DrawRedisUtil.java.html#L33" class="el_method">setIntegerValueToSet(String, Integer)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="65" height="10" title="13" alt="13"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">2</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a6"><a href="DrawRedisUtil.java.html#L76" class="el_method">increaseDrawParticipationCount()</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="40" height="10" title="8" alt="8"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">2</td><td class="ctr2" id="i3">2</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a3"><a href="DrawRedisUtil.java.html#L81" class="el_method">getDrawParticipantCount()</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="40" height="10" title="8" alt="8"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h6">1</td><td class="ctr2" id="i6">1</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a1"><a href="DrawRedisUtil.java.html#L86" class="el_method">deleteDrawParticipantCount()</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="35" height="10" title="7" alt="7"/></td><td class="ctr2" id="c5">0%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">1</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h4">2</td><td class="ctr2" id="i4">2</td><td class="ctr1" id="j5">1</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a2"><a href="DrawRedisUtil.java.html#L24" class="el_method">getAllDataAsSet(String)</a></td><td class="bar" id="b6"><img src="../jacoco-resources/redbar.gif" width="30" height="10" title="6" alt="6"/></td><td class="ctr2" id="c6">0%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">1</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h7">1</td><td class="ctr2" id="i7">1</td><td class="ctr1" id="j6">1</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a4"><a href="DrawRedisUtil.java.html#L28" class="el_method">getIntegerSetSize(String)</a></td><td class="bar" id="b7"><img src="../jacoco-resources/redbar.gif" width="30" height="10" title="6" alt="6"/></td><td class="ctr2" id="c7">0%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">1</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h8">1</td><td class="ctr2" id="i8">1</td><td class="ctr1" id="j7">1</td><td class="ctr2" id="k7">1</td></tr><tr><td id="a0"><a href="DrawRedisUtil.java.html#L38" class="el_method">deleteAllSetData(String)</a></td><td class="bar" id="b8"><img src="../jacoco-resources/redbar.gif" width="30" height="10" title="6" alt="6"/></td><td class="ctr2" id="c8">0%</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f8">1</td><td class="ctr2" id="g8">1</td><td class="ctr1" id="h5">2</td><td class="ctr2" id="i5">2</td><td class="ctr1" id="j8">1</td><td class="ctr2" id="k8">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.util/DrawRedisUtil.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.util/DrawRedisUtil.java.html
    deleted file mode 100644
    index fd74bfae..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.util/DrawRedisUtil.java.html
    +++ /dev/null
    @@ -1,89 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DrawRedisUtil.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.util</a> &gt; <span class="el_source">DrawRedisUtil.java</span></div><h1>DrawRedisUtil.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.util;
    -
    -import com.softeer.backend.global.annotation.EventLock;
    -import com.softeer.backend.global.common.constant.RedisKeyPrefix;
    -import lombok.RequiredArgsConstructor;
    -import org.springframework.data.redis.core.RedisTemplate;
    -import org.springframework.stereotype.Component;
    -
    -import java.util.Set;
    -
    -/**
    - * 추첨 이벤트에서 사용할 레디스
    - */
    -@Component
    -@RequiredArgsConstructor
    -public class DrawRedisUtil {
    -    private final RedisTemplate&lt;String, Integer&gt; integerRedisTemplate;
    -
    -    // 추첨 당첨자 목록: DRAW_WINNER_LIST_{ranking}, Set&lt;Integer&gt;
    -    // 추첨 참여자 수:  DRAW_PARTICIPANT_COUNT, Integer
    -
    -    // ranking의 추첨 당첨자 목록 반환
    -    public Set&lt;Integer&gt; getAllDataAsSet(String key) {
    -<span class="nc" id="L24">        return integerRedisTemplate.opsForSet().members(key);</span>
    -    }
    -
    -    private Long getIntegerSetSize(String key) {
    -<span class="nc" id="L28">        return integerRedisTemplate.opsForSet().size(key);</span>
    -    }
    -
    -    // ranking의 당첨자 목록 업데이트
    -    public void setIntegerValueToSet(String key, Integer userId) {
    -<span class="nc" id="L33">        integerRedisTemplate.opsForSet().add(key, userId);</span>
    -<span class="nc" id="L34">    }</span>
    -
    -    // ranking의 Set 값 모두 삭제
    -    public void deleteAllSetData(String key) {
    -<span class="nc" id="L38">        integerRedisTemplate.delete(key);</span>
    -<span class="nc" id="L39">    }</span>
    -
    -    /**
    -     * userId가 당첨자 목록에 있으면 등수, 없으면 0 반환
    -     *
    -     * @param userId 사용자 아이디
    -     */
    -    public int getRankingIfWinner(Integer userId) {
    -        String drawWinnerKey;
    -<span class="nc bnc" id="L48" title="All 2 branches missed.">        for (int ranking = 1; ranking &lt; 4; ranking++) {</span>
    -<span class="nc" id="L49">            drawWinnerKey = RedisKeyPrefix.DRAW_WINNER_LIST_PREFIX.getPrefix() + ranking;</span>
    -<span class="nc" id="L50">            Set&lt;Integer&gt; drawTempSet = getAllDataAsSet(drawWinnerKey);</span>
    -<span class="nc bnc" id="L51" title="All 2 branches missed.">            if (drawTempSet.contains(userId)) {</span>
    -<span class="nc" id="L52">                return ranking;</span>
    -            }
    -        }
    -<span class="nc" id="L55">        return 0;</span>
    -    }
    -
    -    @EventLock(key = &quot;LOCK:DRAW_WINNER_LIST_#{#ranking}&quot;)
    -    public boolean isWinner(Integer userId, int ranking, int winnerNum) {
    -<span class="nc" id="L60">        String drawWinnerKey = RedisKeyPrefix.DRAW_WINNER_LIST_PREFIX.getPrefix() + ranking;</span>
    -<span class="nc" id="L61">        Long winnerSetSize = getIntegerSetSize(drawWinnerKey);</span>
    -
    -        // 레디스에서 해당 랭킹에 자리가 있는지 확인
    -<span class="nc bnc" id="L64" title="All 2 branches missed.">        if (winnerSetSize &lt; winnerNum) {</span>
    -            // 자리가 있다면 당첨 성공. 당첨자 리스트에 추가
    -<span class="nc" id="L66">            setIntegerValueToSet(drawWinnerKey, userId);</span>
    -<span class="nc" id="L67">            return true;</span>
    -        } else {
    -            // 이미 자리가 가득 차서 당첨 실패
    -<span class="nc" id="L70">            return false;</span>
    -        }
    -    }
    -
    -    // 추첨 참여자수 증가
    -    public void increaseDrawParticipationCount() {
    -<span class="nc" id="L76">        integerRedisTemplate.opsForValue().increment(RedisKeyPrefix.DRAW_PARTICIPANT_COUNT_PREFIX.getPrefix());</span>
    -<span class="nc" id="L77">    }</span>
    -
    -    // 추첨 참여인원수 조회
    -    public Integer getDrawParticipantCount() {
    -<span class="nc" id="L81">        return integerRedisTemplate.opsForValue().get(RedisKeyPrefix.DRAW_PARTICIPANT_COUNT_PREFIX.getPrefix());</span>
    -    }
    -
    -    // 추첨 참여인원수 삭제
    -    public void deleteDrawParticipantCount() {
    -<span class="nc" id="L86">        integerRedisTemplate.delete(RedisKeyPrefix.DRAW_PARTICIPANT_COUNT_PREFIX.getPrefix());</span>
    -<span class="nc" id="L87">    }</span>
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.util/EventLockRedisUtil.html b/jacoco/jacocoHtml/com.softeer.backend.global.util/EventLockRedisUtil.html
    deleted file mode 100644
    index 1253f0db..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.util/EventLockRedisUtil.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>EventLockRedisUtil</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.util</a> &gt; <span class="el_class">EventLockRedisUtil</span></div><h1>EventLockRedisUtil</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">85 of 85</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">12</td><td class="ctr2">12</td><td class="ctr1">19</td><td class="ctr2">19</td><td class="ctr1">12</td><td class="ctr2">12</td></tr></tfoot><tbody><tr><td id="a0"><a href="EventLockRedisUtil.java.html#L31" class="el_method">addValueToSet(String, Integer)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="12" alt="12"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a9"><a href="EventLockRedisUtil.java.html#L54" class="el_method">removeParticipantId(String, Integer)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="12" alt="12"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a11"><a href="EventLockRedisUtil.java.html#L36" class="el_method">setTTL(String, long)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="80" height="10" title="8" alt="8"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">2</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a8"><a href="EventLockRedisUtil.java.html#L50" class="el_method">isParticipantExists(String, Integer)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="80" height="10" title="8" alt="8"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h7">1</td><td class="ctr2" id="i7">1</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a10"><a href="EventLockRedisUtil.java.html#L26" class="el_method">setData(String, int)</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="70" height="10" title="7" alt="7"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h3">2</td><td class="ctr2" id="i3">2</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a7"><a href="EventLockRedisUtil.java.html#L42" class="el_method">incrementData(String)</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="70" height="10" title="7" alt="7"/></td><td class="ctr2" id="c5">0%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">1</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h4">2</td><td class="ctr2" id="i4">2</td><td class="ctr1" id="j5">1</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a4"><a href="EventLockRedisUtil.java.html#L21" class="el_method">getData(String)</a></td><td class="bar" id="b6"><img src="../jacoco-resources/redbar.gif" width="60" height="10" title="6" alt="6"/></td><td class="ctr2" id="c6">0%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">1</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h8">1</td><td class="ctr2" id="i8">1</td><td class="ctr1" id="j6">1</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a1"><a href="EventLockRedisUtil.java.html#L46" class="el_method">deleteData(String)</a></td><td class="bar" id="b7"><img src="../jacoco-resources/redbar.gif" width="60" height="10" title="6" alt="6"/></td><td class="ctr2" id="c7">0%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">1</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h5">2</td><td class="ctr2" id="i5">2</td><td class="ctr1" id="j7">1</td><td class="ctr2" id="k7">1</td></tr><tr><td id="a2"><a href="EventLockRedisUtil.java.html#L62" class="el_method">deleteTempWinnerList(String)</a></td><td class="bar" id="b8"><img src="../jacoco-resources/redbar.gif" width="60" height="10" title="6" alt="6"/></td><td class="ctr2" id="c8">0%</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f8">1</td><td class="ctr2" id="g8">1</td><td class="ctr1" id="h6">2</td><td class="ctr2" id="i6">2</td><td class="ctr1" id="j8">1</td><td class="ctr2" id="k8">1</td></tr><tr><td id="a3"><a href="EventLockRedisUtil.java.html#L58" class="el_method">getAllDataAsSet(String)</a></td><td class="bar" id="b9"><img src="../jacoco-resources/redbar.gif" width="50" height="10" title="5" alt="5"/></td><td class="ctr2" id="c9">0%</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f9">1</td><td class="ctr2" id="g9">1</td><td class="ctr1" id="h9">1</td><td class="ctr2" id="i9">1</td><td class="ctr1" id="j9">1</td><td class="ctr2" id="k9">1</td></tr><tr><td id="a5"><a href="EventLockRedisUtil.java.html#L68" class="el_method">getStringIntegerValueOperations()</a></td><td class="bar" id="b10"><img src="../jacoco-resources/redbar.gif" width="40" height="10" title="4" alt="4"/></td><td class="ctr2" id="c10">0%</td><td class="bar" id="d10"/><td class="ctr2" id="e10">n/a</td><td class="ctr1" id="f10">1</td><td class="ctr2" id="g10">1</td><td class="ctr1" id="h10">1</td><td class="ctr2" id="i10">1</td><td class="ctr1" id="j10">1</td><td class="ctr2" id="k10">1</td></tr><tr><td id="a6"><a href="EventLockRedisUtil.java.html#L72" class="el_method">getStringSetIntegerValueOperations()</a></td><td class="bar" id="b11"><img src="../jacoco-resources/redbar.gif" width="40" height="10" title="4" alt="4"/></td><td class="ctr2" id="c11">0%</td><td class="bar" id="d11"/><td class="ctr2" id="e11">n/a</td><td class="ctr1" id="f11">1</td><td class="ctr2" id="g11">1</td><td class="ctr1" id="h11">1</td><td class="ctr2" id="i11">1</td><td class="ctr1" id="j11">1</td><td class="ctr2" id="k11">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.util/EventLockRedisUtil.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.util/EventLockRedisUtil.java.html
    deleted file mode 100644
    index 2fd3778b..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.util/EventLockRedisUtil.java.html
    +++ /dev/null
    @@ -1,75 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>EventLockRedisUtil.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.util</a> &gt; <span class="el_source">EventLockRedisUtil.java</span></div><h1>EventLockRedisUtil.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.util;
    -
    -import lombok.RequiredArgsConstructor;
    -import org.springframework.data.redis.core.*;
    -import org.springframework.stereotype.Component;
    -
    -import java.time.Duration;
    -import java.util.Set;
    -
    -/**
    - * 선착순, 추첨 이벤트의 동기화를 위해 사용되는 RedisUtil 클래스
    - */
    -@Component
    -@RequiredArgsConstructor
    -public class EventLockRedisUtil {
    -
    -    private final RedisTemplate&lt;String, Integer&gt; integerRedisTemplate;
    -
    -    // key 에 해당하는 데이터 얻어오는 메서드
    -    public Integer getData(String key) {
    -<span class="nc" id="L21">        return getStringIntegerValueOperations().get(key);</span>
    -    }
    -
    -    // key - value 데이터 설정하는 메서드
    -    public void setData(String key, int value) {
    -<span class="nc" id="L26">        getStringIntegerValueOperations().set(key, value);</span>
    -<span class="nc" id="L27">    }</span>
    -
    -    // 참가자의 ID를 Set으로 저장하고 관리하는 메서드
    -    public void addValueToSet(String key, Integer userId) {
    -<span class="nc" id="L31">        getStringSetIntegerValueOperations().add(key, userId);</span>
    -<span class="nc" id="L32">    }</span>
    -
    -    // TTL 설정하는 메서드
    -    public void setTTL(String key, long seconds) {
    -<span class="nc" id="L36">        integerRedisTemplate.expire(key, Duration.ofSeconds(seconds));</span>
    -<span class="nc" id="L37">    }</span>
    -
    -    // key에 해당하는 데이터의 값을 1 더하는 메서드
    -    // 원자적으로 값을 증가시킨다.
    -    public void incrementData(String key) {
    -<span class="nc" id="L42">        getStringIntegerValueOperations().increment(key, 1);</span>
    -<span class="nc" id="L43">    }</span>
    -
    -    public void deleteData(String key) {
    -<span class="nc" id="L46">        integerRedisTemplate.delete(key);</span>
    -<span class="nc" id="L47">    }</span>
    -
    -    public boolean isParticipantExists(String key, Integer participantId) {
    -<span class="nc" id="L50">        return Boolean.TRUE.equals(getStringSetIntegerValueOperations().isMember(key, participantId));</span>
    -    }
    -
    -    public void removeParticipantId(String key, Integer participantId) {
    -<span class="nc" id="L54">        getStringSetIntegerValueOperations().remove(key, participantId);</span>
    -<span class="nc" id="L55">    }</span>
    -
    -    public Set&lt;Integer&gt; getAllDataAsSet(String key) {
    -<span class="nc" id="L58">        return getStringSetIntegerValueOperations().members(key);</span>
    -    }
    -
    -    public void deleteTempWinnerList(String key) {
    -<span class="nc" id="L62">        integerRedisTemplate.delete(key);</span>
    -<span class="nc" id="L63">    }</span>
    -
    -
    -
    -    private ValueOperations&lt;String, Integer&gt; getStringIntegerValueOperations() {
    -<span class="nc" id="L68">        return integerRedisTemplate.opsForValue();</span>
    -    }
    -
    -    private SetOperations&lt;String, Integer&gt; getStringSetIntegerValueOperations() {
    -<span class="nc" id="L72">        return integerRedisTemplate.opsForSet();</span>
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.util/FcfsRedisUtil.html b/jacoco/jacocoHtml/com.softeer.backend.global.util/FcfsRedisUtil.html
    deleted file mode 100644
    index 4a7b498b..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.util/FcfsRedisUtil.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>FcfsRedisUtil</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.util</a> &gt; <span class="el_class">FcfsRedisUtil</span></div><h1>FcfsRedisUtil</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">133 of 133</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">14</td><td class="ctr2">14</td><td class="ctr1">28</td><td class="ctr2">28</td><td class="ctr1">13</td><td class="ctr2">13</td></tr></tfoot><tbody><tr><td id="a7"><a href="FcfsRedisUtil.java.html#L46" class="el_method">getHashEntries(String)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="37" alt="37"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">8</td><td class="ctr2" id="i0">8</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="FcfsRedisUtil.java.html#L18" class="el_method">addToIntegerSet(String, Integer)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="42" height="10" title="13" alt="13"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="FcfsRedisUtil.java.html#L22" class="el_method">addToStringSet(String, String)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="42" height="10" title="13" alt="13"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">2</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a11"><a href="FcfsRedisUtil.java.html#L38" class="el_method">isValueInIntegerSet(String, Integer)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="29" height="10" title="9" alt="9"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h9">1</td><td class="ctr2" id="i9">1</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a12"><a href="FcfsRedisUtil.java.html#L42" class="el_method">isValueInStringSet(String, String)</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="29" height="10" title="9" alt="9"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h10">1</td><td class="ctr2" id="i10">1</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a0"><a href="FcfsRedisUtil.java.html#L26" class="el_method">addToHash(String, String, Integer)</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="25" height="10" title="8" alt="8"/></td><td class="ctr2" id="c5">0%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">1</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h3">2</td><td class="ctr2" id="i3">2</td><td class="ctr1" id="j5">1</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a10"><a href="FcfsRedisUtil.java.html#L30" class="el_method">incrementValue(String)</a></td><td class="bar" id="b6"><img src="../jacoco-resources/redbar.gif" width="22" height="10" title="7" alt="7"/></td><td class="ctr2" id="c6">0%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">1</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h4">2</td><td class="ctr2" id="i4">2</td><td class="ctr1" id="j6">1</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a9"><a href="FcfsRedisUtil.java.html#L59" class="el_method">getValue(String)</a></td><td class="bar" id="b7"><img src="../jacoco-resources/redbar.gif" width="22" height="10" title="7" alt="7"/></td><td class="ctr2" id="c7">0%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">1</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h11">1</td><td class="ctr2" id="i11">1</td><td class="ctr1" id="j7">1</td><td class="ctr2" id="k7">1</td></tr><tr><td id="a8"><a href="FcfsRedisUtil.java.html#L34" class="el_method">getIntegerSetSize(String)</a></td><td class="bar" id="b8"><img src="../jacoco-resources/redbar.gif" width="19" height="10" title="6" alt="6"/></td><td class="ctr2" id="c8">0%</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f8">1</td><td class="ctr2" id="g8">1</td><td class="ctr1" id="h12">1</td><td class="ctr2" id="i12">1</td><td class="ctr1" id="j8">1</td><td class="ctr2" id="k8">1</td></tr><tr><td id="a4"><a href="FcfsRedisUtil.java.html#L63" class="el_method">clearIntegerSet(String)</a></td><td class="bar" id="b9"><img src="../jacoco-resources/redbar.gif" width="19" height="10" title="6" alt="6"/></td><td class="ctr2" id="c9">0%</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f9">1</td><td class="ctr2" id="g9">1</td><td class="ctr1" id="h5">2</td><td class="ctr2" id="i5">2</td><td class="ctr1" id="j9">1</td><td class="ctr2" id="k9">1</td></tr><tr><td id="a5"><a href="FcfsRedisUtil.java.html#L67" class="el_method">clearStringSet(String)</a></td><td class="bar" id="b10"><img src="../jacoco-resources/redbar.gif" width="19" height="10" title="6" alt="6"/></td><td class="ctr2" id="c10">0%</td><td class="bar" id="d10"/><td class="ctr2" id="e10">n/a</td><td class="ctr1" id="f10">1</td><td class="ctr2" id="g10">1</td><td class="ctr1" id="h6">2</td><td class="ctr2" id="i6">2</td><td class="ctr1" id="j10">1</td><td class="ctr2" id="k10">1</td></tr><tr><td id="a3"><a href="FcfsRedisUtil.java.html#L71" class="el_method">clearHash(String)</a></td><td class="bar" id="b11"><img src="../jacoco-resources/redbar.gif" width="19" height="10" title="6" alt="6"/></td><td class="ctr2" id="c11">0%</td><td class="bar" id="d11"/><td class="ctr2" id="e11">n/a</td><td class="ctr1" id="f11">1</td><td class="ctr2" id="g11">1</td><td class="ctr1" id="h7">2</td><td class="ctr2" id="i7">2</td><td class="ctr1" id="j11">1</td><td class="ctr2" id="k11">1</td></tr><tr><td id="a6"><a href="FcfsRedisUtil.java.html#L75" class="el_method">clearValue(String)</a></td><td class="bar" id="b12"><img src="../jacoco-resources/redbar.gif" width="19" height="10" title="6" alt="6"/></td><td class="ctr2" id="c12">0%</td><td class="bar" id="d12"/><td class="ctr2" id="e12">n/a</td><td class="ctr1" id="f12">1</td><td class="ctr2" id="g12">1</td><td class="ctr1" id="h8">2</td><td class="ctr2" id="i8">2</td><td class="ctr1" id="j12">1</td><td class="ctr2" id="k12">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.util/FcfsRedisUtil.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.util/FcfsRedisUtil.java.html
    deleted file mode 100644
    index 4b4586a1..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.util/FcfsRedisUtil.java.html
    +++ /dev/null
    @@ -1,81 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>FcfsRedisUtil.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.util</a> &gt; <span class="el_source">FcfsRedisUtil.java</span></div><h1>FcfsRedisUtil.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.util;
    -
    -import lombok.RequiredArgsConstructor;
    -import org.springframework.data.redis.core.*;
    -import org.springframework.stereotype.Component;
    -
    -import java.util.HashMap;
    -import java.util.Map;
    -
    -@Component
    -@RequiredArgsConstructor
    -public class FcfsRedisUtil {
    -
    -    private final StringRedisTemplate stringRedisTemplate;
    -    private final RedisTemplate&lt;String, Integer&gt; integerRedisTemplate;
    -
    -    public void addToIntegerSet(String key, Integer value) {
    -<span class="nc" id="L18">        integerRedisTemplate.opsForSet().add(key, value);</span>
    -<span class="nc" id="L19">    }</span>
    -
    -    public void addToStringSet(String key, String value) {
    -<span class="nc" id="L22">        stringRedisTemplate.opsForSet().add(key, value);</span>
    -<span class="nc" id="L23">    }</span>
    -
    -    public void addToHash(String key, String field, Integer value) {
    -<span class="nc" id="L26">        integerRedisTemplate.opsForHash().put(key, field, value);</span>
    -<span class="nc" id="L27">    }</span>
    -
    -    public void incrementValue(String key){
    -<span class="nc" id="L30">        integerRedisTemplate.opsForValue().increment(key);</span>
    -<span class="nc" id="L31">    }</span>
    -
    -    public Long getIntegerSetSize(String key) {
    -<span class="nc" id="L34">        return integerRedisTemplate.opsForSet().size(key);</span>
    -    }
    -
    -    public boolean isValueInIntegerSet(String key, Integer value) {
    -<span class="nc" id="L38">        return Boolean.TRUE.equals(integerRedisTemplate.opsForSet().isMember(key, value));</span>
    -    }
    -
    -    public boolean isValueInStringSet(String key, String value) {
    -<span class="nc" id="L42">        return Boolean.TRUE.equals(stringRedisTemplate.opsForSet().isMember(key, value));</span>
    -    }
    -
    -    public Map&lt;String, Integer&gt; getHashEntries(String key) {
    -<span class="nc" id="L46">        Map&lt;Object, Object&gt; entries = integerRedisTemplate.opsForHash().entries(key);</span>
    -<span class="nc" id="L47">        Map&lt;String, Integer&gt; result = new HashMap&lt;&gt;();</span>
    -
    -<span class="nc bnc" id="L49" title="All 2 branches missed.">        for (Map.Entry&lt;Object, Object&gt; entry : entries.entrySet()) {</span>
    -<span class="nc" id="L50">            String mapKey = (String) entry.getKey();</span>
    -<span class="nc" id="L51">            Integer mapValue = (Integer) entry.getValue();</span>
    -<span class="nc" id="L52">            result.put(mapKey, mapValue);</span>
    -<span class="nc" id="L53">        }</span>
    -
    -<span class="nc" id="L55">        return result;</span>
    -    }
    -
    -    public Integer getValue(String key) {
    -<span class="nc" id="L59">        return integerRedisTemplate.opsForValue().get(key);</span>
    -    }
    -
    -    public void clearIntegerSet(String key) {
    -<span class="nc" id="L63">        integerRedisTemplate.delete(key);</span>
    -<span class="nc" id="L64">    }</span>
    -
    -    public void clearStringSet(String key) {
    -<span class="nc" id="L67">        stringRedisTemplate.delete(key);</span>
    -<span class="nc" id="L68">    }</span>
    -
    -    public void clearHash(String key) {
    -<span class="nc" id="L71">        integerRedisTemplate.delete(key);</span>
    -<span class="nc" id="L72">    }</span>
    -
    -    public void clearValue(String key) {
    -<span class="nc" id="L75">        stringRedisTemplate.delete(key);</span>
    -<span class="nc" id="L76">    }</span>
    -
    -
    -
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.util/JwtUtil.html b/jacoco/jacocoHtml/com.softeer.backend.global.util/JwtUtil.html
    deleted file mode 100644
    index c41b0a17..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.util/JwtUtil.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>JwtUtil</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.util</a> &gt; <span class="el_class">JwtUtil</span></div><h1>JwtUtil</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">254 of 254</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">14</td><td class="ctr2">14</td><td class="ctr1">64</td><td class="ctr2">64</td><td class="ctr1">13</td><td class="ctr2">13</td></tr></tfoot><tbody><tr><td id="a12"><a href="JwtUtil.java.html#L117" class="el_method">validateToken(String)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="47" alt="47"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">16</td><td class="ctr2" id="i0">16</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="JwtUtil.java.html#L96" class="el_method">createServiceToken(JwtClaimsDto)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="117" height="10" title="46" alt="46"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">11</td><td class="ctr2" id="i1">11</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a3"><a href="JwtUtil.java.html#L137" class="el_method">createToken(JwtClaimsDto, Long)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="109" height="10" title="43" alt="43"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">10</td><td class="ctr2" id="i2">10</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a6"><a href="JwtUtil.java.html#L80" class="el_method">getAuthInfoFromToken(String)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="79" height="10" title="31" alt="31"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">10</td><td class="ctr2" id="i3">10</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a4"><a href="JwtUtil.java.html#L30" class="el_method">extractAccessToken(HttpServletRequest)</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="53" height="10" title="21" alt="21"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">5</td><td class="ctr2" id="i4">5</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a7"><a href="JwtUtil.java.html#L58" class="el_method">getJwtClaimsFromAccessToken(String)</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="33" height="10" title="13" alt="13"/></td><td class="ctr2" id="c5">0%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">1</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">4</td><td class="ctr2" id="i5">4</td><td class="ctr1" id="j5">1</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a8"><a href="JwtUtil.java.html#L70" class="el_method">getJwtClaimsFromRefreshToken(String)</a></td><td class="bar" id="b6"><img src="../jacoco-resources/redbar.gif" width="33" height="10" title="13" alt="13"/></td><td class="ctr2" id="c6">0%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">1</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h6">4</td><td class="ctr2" id="i6">4</td><td class="ctr1" id="j6">1</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a10"><a href="JwtUtil.java.html#L35" class="el_method">lambda$extractAccessToken$1(String)</a></td><td class="bar" id="b7"><img src="../jacoco-resources/redbar.gif" width="22" height="10" title="9" alt="9"/></td><td class="ctr2" id="c7">0%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">1</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h7">1</td><td class="ctr2" id="i7">1</td><td class="ctr1" id="j7">1</td><td class="ctr2" id="k7">1</td></tr><tr><td id="a5"><a href="JwtUtil.java.html#L40" class="el_method">extractRefreshToken(HttpServletRequest)</a></td><td class="bar" id="b8"><img src="../jacoco-resources/redbar.gif" width="17" height="10" title="7" alt="7"/></td><td class="ctr2" id="c8">0%</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f8">1</td><td class="ctr2" id="g8">1</td><td class="ctr1" id="h8">1</td><td class="ctr2" id="i8">1</td><td class="ctr1" id="j8">1</td><td class="ctr2" id="k8">1</td></tr><tr><td id="a0"><a href="JwtUtil.java.html#L45" class="el_method">createAccessToken(JwtClaimsDto)</a></td><td class="bar" id="b9"><img src="../jacoco-resources/redbar.gif" width="17" height="10" title="7" alt="7"/></td><td class="ctr2" id="c9">0%</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f9">1</td><td class="ctr2" id="g9">1</td><td class="ctr1" id="h9">1</td><td class="ctr2" id="i9">1</td><td class="ctr1" id="j9">1</td><td class="ctr2" id="k9">1</td></tr><tr><td id="a1"><a href="JwtUtil.java.html#L50" class="el_method">createRefreshToken(JwtClaimsDto)</a></td><td class="bar" id="b10"><img src="../jacoco-resources/redbar.gif" width="17" height="10" title="7" alt="7"/></td><td class="ctr2" id="c10">0%</td><td class="bar" id="d10"/><td class="ctr2" id="e10">n/a</td><td class="ctr1" id="f10">1</td><td class="ctr2" id="g10">1</td><td class="ctr1" id="h10">1</td><td class="ctr2" id="i10">1</td><td class="ctr1" id="j10">1</td><td class="ctr2" id="k10">1</td></tr><tr><td id="a9"><a href="JwtUtil.java.html#L34" class="el_method">lambda$extractAccessToken$0(String)</a></td><td class="bar" id="b11"><img src="../jacoco-resources/redbar.gif" width="15" height="10" title="6" alt="6"/></td><td class="ctr2" id="c11">0%</td><td class="bar" id="d11"/><td class="ctr2" id="e11">n/a</td><td class="ctr1" id="f11">1</td><td class="ctr2" id="g11">1</td><td class="ctr1" id="h11">1</td><td class="ctr2" id="i11">1</td><td class="ctr1" id="j11">1</td><td class="ctr2" id="k11">1</td></tr><tr><td id="a11"><a href="JwtUtil.java.html#L20" class="el_method">static {...}</a></td><td class="bar" id="b12"><img src="../jacoco-resources/redbar.gif" width="10" height="10" title="4" alt="4"/></td><td class="ctr2" id="c12">0%</td><td class="bar" id="d12"/><td class="ctr2" id="e12">n/a</td><td class="ctr1" id="f12">1</td><td class="ctr2" id="g12">1</td><td class="ctr1" id="h12">1</td><td class="ctr2" id="i12">1</td><td class="ctr1" id="j12">1</td><td class="ctr2" id="k12">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.util/JwtUtil.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.util/JwtUtil.java.html
    deleted file mode 100644
    index f75b7de6..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.util/JwtUtil.java.html
    +++ /dev/null
    @@ -1,151 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>JwtUtil.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.util</a> &gt; <span class="el_source">JwtUtil.java</span></div><h1>JwtUtil.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.util;
    -
    -import com.softeer.backend.global.common.code.status.ErrorStatus;
    -import com.softeer.backend.global.common.constant.RoleType;
    -import com.softeer.backend.global.common.dto.JwtClaimsDto;
    -import com.softeer.backend.global.common.exception.JwtAuthenticationException;
    -import com.softeer.backend.global.config.properties.JwtProperties;
    -import com.softeer.backend.global.common.dto.JwtTokenResponseDto;
    -import io.jsonwebtoken.*;
    -import jakarta.servlet.http.HttpServletRequest;
    -import lombok.RequiredArgsConstructor;
    -import lombok.extern.slf4j.Slf4j;
    -import org.springframework.stereotype.Component;
    -import org.springframework.util.StringUtils;
    -
    -import java.time.LocalDateTime;
    -import java.util.Date;
    -import java.util.Optional;
    -
    -<span class="nc" id="L20">@Slf4j</span>
    -@RequiredArgsConstructor
    -@Component
    -public class JwtUtil {
    -    private final JwtProperties jwtProperties;
    -    private final StringRedisUtil stringRedisUtil;
    -
    -    // HttpServletRequest 부터 Access Token 추출
    -    public Optional&lt;String&gt; extractAccessToken(HttpServletRequest request) {
    -
    -<span class="nc" id="L30">        log.info(&quot;Authorization 헤더: {}&quot;, request.getHeader(&quot;Authorization&quot;));</span>
    -
    -<span class="nc" id="L32">        return Optional.ofNullable(request.getHeader(jwtProperties.getAccessHeader()))</span>
    -<span class="nc" id="L33">                .filter(StringUtils::hasText)</span>
    -<span class="nc" id="L34">                .filter(accessToken -&gt; accessToken.startsWith(jwtProperties.getBearer()))</span>
    -<span class="nc" id="L35">                .map(accessToken -&gt; accessToken.substring(jwtProperties.getBearer().length() + 1));</span>
    -    }
    -
    -    // HttpServletRequest 부터 Refresh Token 추출
    -    public Optional&lt;String&gt; extractRefreshToken(HttpServletRequest request) {
    -<span class="nc" id="L40">        return Optional.ofNullable(request.getHeader(jwtProperties.getRefreshHeader()));</span>
    -    }
    -
    -    // access token 생성
    -    public String createAccessToken(JwtClaimsDto jwtClaimsDto) {
    -<span class="nc" id="L45">        return this.createToken(jwtClaimsDto, jwtProperties.getAccessExpiration());</span>
    -    }
    -
    -    // refresh token 생성
    -    public String createRefreshToken(JwtClaimsDto jwtClaimsDto) {
    -<span class="nc" id="L50">        return this.createToken(jwtClaimsDto, jwtProperties.getRefreshExpiration());</span>
    -
    -    }
    -
    -    // access token 으로부터 jwt claim 정보 추출
    -    public JwtClaimsDto getJwtClaimsFromAccessToken(String token) {
    -        try {
    -
    -<span class="nc" id="L58">            return getAuthInfoFromToken(token);</span>
    -
    -<span class="nc" id="L60">        } catch (Exception exception) {</span>
    -<span class="nc" id="L61">            log.error(&quot;Access Token is invalid.&quot;);</span>
    -<span class="nc" id="L62">            throw new JwtAuthenticationException(ErrorStatus._UNAUTHORIZED);</span>
    -        }
    -    }
    -
    -    // refresh token 으로부터 jwt claim 정보 추출
    -    public JwtClaimsDto getJwtClaimsFromRefreshToken(String token) {
    -        try {
    -
    -<span class="nc" id="L70">            return getAuthInfoFromToken(token);</span>
    -
    -<span class="nc" id="L72">        } catch (Exception exception) {</span>
    -<span class="nc" id="L73">            log.error(&quot;JWT Refresh Token is invalid during the '/reissue' process.&quot;);</span>
    -<span class="nc" id="L74">            throw new JwtAuthenticationException(ErrorStatus._REISSUE_ERROR);</span>
    -        }
    -    }
    -
    -    // Jwt Token 에서 claim 정보를 파싱하여 반환하는 메서드
    -    private JwtClaimsDto getAuthInfoFromToken(String token) {
    -<span class="nc" id="L80">        Claims claims = Jwts.parser()</span>
    -<span class="nc" id="L81">                .setSigningKey(jwtProperties.getSecret())</span>
    -<span class="nc" id="L82">                .parseClaimsJws(token)</span>
    -<span class="nc" id="L83">                .getBody();</span>
    -
    -<span class="nc" id="L85">        int id = claims.get(&quot;id&quot;, Integer.class);</span>
    -<span class="nc" id="L86">        RoleType roleType = RoleType.valueOf(claims.get(&quot;roleType&quot;, String.class));</span>
    -
    -<span class="nc" id="L88">        return JwtClaimsDto.builder()</span>
    -<span class="nc" id="L89">                .id(id)</span>
    -<span class="nc" id="L90">                .roleType(roleType)</span>
    -<span class="nc" id="L91">                .build();</span>
    -    }
    -
    -    // 전화번호 로그인 및 admin 로그인 시 jwt 응답 생성 + redis refresh 저장
    -    public JwtTokenResponseDto createServiceToken(JwtClaimsDto jwtClaimsDto) {
    -<span class="nc" id="L96">        stringRedisUtil.deleteData(stringRedisUtil.getRedisKeyForJwt(jwtClaimsDto));</span>
    -<span class="nc" id="L97">        String accessToken = createAccessToken(jwtClaimsDto);</span>
    -<span class="nc" id="L98">        String refreshToken = createRefreshToken(jwtClaimsDto);</span>
    -
    -        // 서비스 토큰 생성
    -<span class="nc" id="L101">        JwtTokenResponseDto jwtTokenResponseDto = JwtTokenResponseDto.builder()</span>
    -<span class="nc" id="L102">                .accessToken(accessToken)</span>
    -<span class="nc" id="L103">                .refreshToken(refreshToken)</span>
    -<span class="nc" id="L104">                .expiredTime(LocalDateTime.now().plusSeconds(jwtProperties.getAccessExpiration() / 1000))</span>
    -<span class="nc" id="L105">                .build();</span>
    -
    -        // redis refresh token 저장
    -<span class="nc" id="L108">        stringRedisUtil.setDataExpire(stringRedisUtil.getRedisKeyForJwt(jwtClaimsDto),</span>
    -<span class="nc" id="L109">                jwtTokenResponseDto.getRefreshToken(), jwtProperties.getRefreshExpiration());</span>
    -
    -<span class="nc" id="L111">        return jwtTokenResponseDto;</span>
    -    }
    -
    -    // token 유효성 검증
    -    public boolean validateToken(String token) {
    -        try {
    -<span class="nc" id="L117">            Jws&lt;Claims&gt; claimsJws = Jwts.parser()</span>
    -<span class="nc" id="L118">                    .setSigningKey(jwtProperties.getSecret())</span>
    -<span class="nc" id="L119">                    .parseClaimsJws(token);</span>
    -<span class="nc bnc" id="L120" title="All 2 branches missed.">            return !claimsJws.getBody().getExpiration().before(new Date());</span>
    -<span class="nc" id="L121">        } catch (ExpiredJwtException exception) {</span>
    -<span class="nc" id="L122">            log.warn(&quot;만료된 jwt 입니다.&quot;);</span>
    -<span class="nc" id="L123">        } catch (UnsupportedJwtException exception) {</span>
    -<span class="nc" id="L124">            log.warn(&quot;지원되지 않는 jwt 입니다.&quot;);</span>
    -<span class="nc" id="L125">        } catch (IllegalArgumentException exception) {</span>
    -<span class="nc" id="L126">            log.warn(&quot;token에 값이 없습니다.&quot;);</span>
    -<span class="nc" id="L127">        } catch (SignatureException exception) {</span>
    -<span class="nc" id="L128">            log.warn(&quot;signature에 오류가 존재합니다.&quot;);</span>
    -<span class="nc" id="L129">        } catch (MalformedJwtException exception) {</span>
    -<span class="nc" id="L130">            log.warn(&quot;jwt가 유효하지 않습니다.&quot;);</span>
    -<span class="nc" id="L131">        }</span>
    -<span class="nc" id="L132">        return false;</span>
    -    }
    -
    -    // 실제 token 생성 로직
    -    private String createToken(JwtClaimsDto jwtClaimsDto, Long tokenExpiration) {
    -<span class="nc" id="L137">        Claims claims = Jwts.claims();</span>
    -<span class="nc" id="L138">        claims.put(&quot;id&quot;, jwtClaimsDto.getId());</span>
    -<span class="nc" id="L139">        claims.put(&quot;roleType&quot;, jwtClaimsDto.getRoleType().name());</span>
    -<span class="nc" id="L140">        Date tokenExpiresIn = new Date(new Date().getTime() + tokenExpiration);</span>
    -
    -<span class="nc" id="L142">        return Jwts.builder()</span>
    -<span class="nc" id="L143">                .setClaims(claims)</span>
    -<span class="nc" id="L144">                .setIssuedAt(new Date())</span>
    -<span class="nc" id="L145">                .setExpiration(tokenExpiresIn)</span>
    -<span class="nc" id="L146">                .signWith(SignatureAlgorithm.HS512, jwtProperties.getSecret())</span>
    -<span class="nc" id="L147">                .compact();</span>
    -    }
    -
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.util/RandomCodeUtil.html b/jacoco/jacocoHtml/com.softeer.backend.global.util/RandomCodeUtil.html
    deleted file mode 100644
    index a57f1271..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.util/RandomCodeUtil.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>RandomCodeUtil</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.util</a> &gt; <span class="el_class">RandomCodeUtil</span></div><h1>RandomCodeUtil</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">31 of 31</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">6</td><td class="ctr2">6</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a href="RandomCodeUtil.java.html#L16" class="el_method">generateRandomCode(int)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="23" alt="23"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">4</td><td class="ctr2" id="i0">4</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="RandomCodeUtil.java.html#L12" class="el_method">static {...}</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="41" height="10" title="8" alt="8"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.util/RandomCodeUtil.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.util/RandomCodeUtil.java.html
    deleted file mode 100644
    index cf934190..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.util/RandomCodeUtil.java.html
    +++ /dev/null
    @@ -1,24 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>RandomCodeUtil.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.util</a> &gt; <span class="el_source">RandomCodeUtil.java</span></div><h1>RandomCodeUtil.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.util;
    -
    -import java.security.SecureRandom;
    -
    -import lombok.RequiredArgsConstructor;
    -import org.springframework.stereotype.Component;
    -
    -@Component
    -@RequiredArgsConstructor
    -public class RandomCodeUtil {
    -    private static final String CHARACTERS = &quot;0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ&quot;;
    -<span class="nc" id="L12">    private static final int CHARACTERS_LENGTH = CHARACTERS.length();</span>
    -<span class="nc" id="L13">    private static final SecureRandom random = new SecureRandom();</span>
    -
    -    public String generateRandomCode(int codeLength) {
    -<span class="nc" id="L16">        StringBuilder code = new StringBuilder(codeLength);</span>
    -<span class="nc bnc" id="L17" title="All 2 branches missed.">        for (int i = 0; i &lt; codeLength; i++) {</span>
    -<span class="nc" id="L18">            code.append(CHARACTERS.charAt(random.nextInt(CHARACTERS_LENGTH)));</span>
    -        }
    -
    -<span class="nc" id="L21">        return code.toString();</span>
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.util/SpringELParser.html b/jacoco/jacocoHtml/com.softeer.backend.global.util/SpringELParser.html
    deleted file mode 100644
    index e54e231a..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.util/SpringELParser.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>SpringELParser</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.util</a> &gt; <span class="el_class">SpringELParser</span></div><h1>SpringELParser</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">34 of 34</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">5</td><td class="ctr2">5</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="SpringELParser.java.html#L13" class="el_method">getDynamicValue(String[], Object[], String)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="34" alt="34"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">5</td><td class="ctr2" id="i0">5</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.util/SpringELParser.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.util/SpringELParser.java.html
    deleted file mode 100644
    index fbc2a692..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.util/SpringELParser.java.html
    +++ /dev/null
    @@ -1,23 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>SpringELParser.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.util</a> &gt; <span class="el_source">SpringELParser.java</span></div><h1>SpringELParser.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.util;
    -
    -import org.springframework.expression.ExpressionParser;
    -import org.springframework.expression.common.TemplateParserContext;
    -import org.springframework.expression.spel.standard.SpelExpressionParser;
    -import org.springframework.expression.spel.support.StandardEvaluationContext;
    -
    -public class SpringELParser {
    -    private SpringELParser() {
    -    }
    -
    -    public static Object getDynamicValue(String[] parameterNames, Object[] args, String key) {
    -<span class="nc" id="L13">        ExpressionParser parser = new SpelExpressionParser();</span>
    -<span class="nc" id="L14">        StandardEvaluationContext context = new StandardEvaluationContext();</span>
    -
    -<span class="nc bnc" id="L16" title="All 2 branches missed.">        for (int i = 0; i &lt; parameterNames.length; i++) {</span>
    -<span class="nc" id="L17">            context.setVariable(parameterNames[i], args[i]);</span>
    -        }
    -
    -<span class="nc" id="L20">        return parser.parseExpression(key, new TemplateParserContext()).getValue(context, Object.class);</span>
    -    }
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.util/StringRedisUtil.html b/jacoco/jacocoHtml/com.softeer.backend.global.util/StringRedisUtil.html
    deleted file mode 100644
    index 4f51439c..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.util/StringRedisUtil.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>StringRedisUtil</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend.global.util</a> &gt; <span class="el_class">StringRedisUtil</span></div><h1>StringRedisUtil</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">90 of 90</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">11</td><td class="ctr2">11</td><td class="ctr1">24</td><td class="ctr2">24</td><td class="ctr1">11</td><td class="ctr2">11</td></tr></tfoot><tbody><tr><td id="a9"><a href="StringRedisUtil.java.html#L54" class="el_method">setDataExpireAt(String, String, LocalDateTime)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="13" alt="13"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">4</td><td class="ctr2" id="i0">4</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a3"><a href="StringRedisUtil.java.html#L80" class="el_method">getRedisKeyForJwt(JwtClaimsDto)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="110" height="10" title="12" alt="12"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">3</td><td class="ctr2" id="i1">3</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a10"><a href="StringRedisUtil.java.html#L47" class="el_method">setExpire(String, Long)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="101" height="10" title="11" alt="11"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">3</td><td class="ctr2" id="i2">3</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a8"><a href="StringRedisUtil.java.html#L41" class="el_method">setDataExpire(String, String, long)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="92" height="10" title="10" alt="10"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">3</td><td class="ctr2" id="i3">3</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a6"><a href="StringRedisUtil.java.html#L64" class="el_method">incrementData(String)</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="83" height="10" title="9" alt="9"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">1</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">2</td><td class="ctr2" id="i4">2</td><td class="ctr1" id="j4">1</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a5"><a href="StringRedisUtil.java.html#L21" class="el_method">hasKey(String)</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="64" height="10" title="7" alt="7"/></td><td class="ctr2" id="c5">0%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">1</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h8">1</td><td class="ctr2" id="i8">1</td><td class="ctr1" id="j5">1</td><td class="ctr2" id="k5">1</td></tr><tr><td id="a2"><a href="StringRedisUtil.java.html#L26" class="el_method">getData(String)</a></td><td class="bar" id="b6"><img src="../jacoco-resources/redbar.gif" width="55" height="10" title="6" alt="6"/></td><td class="ctr2" id="c6">0%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f6">1</td><td class="ctr2" id="g6">1</td><td class="ctr1" id="h9">1</td><td class="ctr2" id="i9">1</td><td class="ctr1" id="j6">1</td><td class="ctr2" id="k6">1</td></tr><tr><td id="a7"><a href="StringRedisUtil.java.html#L31" class="el_method">setData(String, String)</a></td><td class="bar" id="b7"><img src="../jacoco-resources/redbar.gif" width="55" height="10" title="6" alt="6"/></td><td class="ctr2" id="c7">0%</td><td class="bar" id="d7"/><td class="ctr2" id="e7">n/a</td><td class="ctr1" id="f7">1</td><td class="ctr2" id="g7">1</td><td class="ctr1" id="h5">2</td><td class="ctr2" id="i5">2</td><td class="ctr1" id="j7">1</td><td class="ctr2" id="k7">1</td></tr><tr><td id="a0"><a href="StringRedisUtil.java.html#L36" class="el_method">deleteData(String)</a></td><td class="bar" id="b8"><img src="../jacoco-resources/redbar.gif" width="55" height="10" title="6" alt="6"/></td><td class="ctr2" id="c8">0%</td><td class="bar" id="d8"/><td class="ctr2" id="e8">n/a</td><td class="ctr1" id="f8">1</td><td class="ctr2" id="g8">1</td><td class="ctr1" id="h6">2</td><td class="ctr2" id="i6">2</td><td class="ctr1" id="j8">1</td><td class="ctr2" id="k8">1</td></tr><tr><td id="a1"><a href="StringRedisUtil.java.html#L89" class="el_method">deleteRefreshToken(JwtClaimsDto)</a></td><td class="bar" id="b9"><img src="../jacoco-resources/redbar.gif" width="55" height="10" title="6" alt="6"/></td><td class="ctr2" id="c9">0%</td><td class="bar" id="d9"/><td class="ctr2" id="e9">n/a</td><td class="ctr1" id="f9">1</td><td class="ctr2" id="g9">1</td><td class="ctr1" id="h7">2</td><td class="ctr2" id="i7">2</td><td class="ctr1" id="j9">1</td><td class="ctr2" id="k9">1</td></tr><tr><td id="a4"><a href="StringRedisUtil.java.html#L69" class="el_method">getStringStringValueOperations()</a></td><td class="bar" id="b10"><img src="../jacoco-resources/redbar.gif" width="36" height="10" title="4" alt="4"/></td><td class="ctr2" id="c10">0%</td><td class="bar" id="d10"/><td class="ctr2" id="e10">n/a</td><td class="ctr1" id="f10">1</td><td class="ctr2" id="g10">1</td><td class="ctr1" id="h10">1</td><td class="ctr2" id="i10">1</td><td class="ctr1" id="j10">1</td><td class="ctr2" id="k10">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.util/StringRedisUtil.java.html b/jacoco/jacocoHtml/com.softeer.backend.global.util/StringRedisUtil.java.html
    deleted file mode 100644
    index 69945d6a..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.util/StringRedisUtil.java.html
    +++ /dev/null
    @@ -1,93 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>StringRedisUtil.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend.global.util</a> &gt; <span class="el_source">StringRedisUtil.java</span></div><h1>StringRedisUtil.java</h1><pre class="source lang-java linenums">package com.softeer.backend.global.util;
    -
    -import com.softeer.backend.global.common.constant.RoleType;
    -import com.softeer.backend.global.common.dto.JwtClaimsDto;
    -import lombok.RequiredArgsConstructor;
    -import org.springframework.data.redis.core.StringRedisTemplate;
    -import org.springframework.data.redis.core.ValueOperations;
    -import org.springframework.stereotype.Component;
    -
    -import java.time.Duration;
    -import java.time.LocalDateTime;
    -import java.time.temporal.ChronoUnit;
    -
    -@Component
    -@RequiredArgsConstructor
    -public class StringRedisUtil {
    -    private final StringRedisTemplate stringRedisTemplate;
    -
    -    // 특정 키에 대한 값이 있는지 확인
    -    public boolean hasKey(String key) {
    -<span class="nc" id="L21">        return Boolean.TRUE.equals(stringRedisTemplate.hasKey(key));</span>
    -    }
    -
    -    // key 에 해당하는 데이터 얻어오는 메서드
    -    public String getData(String key) {
    -<span class="nc" id="L26">        return getStringStringValueOperations().get(key);</span>
    -    }
    -
    -    // key - value 데이터 설정하는 메서드
    -    public void setData(String key, String value) {
    -<span class="nc" id="L31">        getStringStringValueOperations().set(key, value);</span>
    -<span class="nc" id="L32">    }</span>
    -
    -    /* key 에 해당하는 데이터 삭제하는 메서드 */
    -    public void deleteData(String key) {
    -<span class="nc" id="L36">        this.stringRedisTemplate.delete(key);</span>
    -<span class="nc" id="L37">    }</span>
    -
    -    /* key 에 해당하는 데이터 만료기간 설정 메서드 */
    -    public void setDataExpire(String key, String value, long duration) {
    -<span class="nc" id="L41">        Duration expireDuration = Duration.ofSeconds(duration);</span>
    -<span class="nc" id="L42">        getStringStringValueOperations().set(key, value, expireDuration);</span>
    -<span class="nc" id="L43">    }</span>
    -
    -    // Redis에 저장되어 있는 값에 ttl을 설정하는 메서드
    -    public void setExpire(String key, Long duration) {
    -<span class="nc" id="L47">        Duration expireDuration = Duration.ofSeconds(duration);</span>
    -<span class="nc" id="L48">        stringRedisTemplate.expire(key, expireDuration);</span>
    -<span class="nc" id="L49">    }</span>
    -
    -    // 특정 시간까지 데이터가 유지되도록 설정하는 메서드
    -    public void setDataExpireAt(String key, String value, LocalDateTime expiryTime) {
    -        // 현재 시간을 가져옴
    -<span class="nc" id="L54">        LocalDateTime now = LocalDateTime.now();</span>
    -
    -        // 현재 시간과 특정 시간 사이의 차이를 계산
    -<span class="nc" id="L57">        long secondsUntilExpiry = ChronoUnit.SECONDS.between(now, expiryTime);</span>
    -
    -        // 데이터 설정 및 만료 시간 설정
    -<span class="nc" id="L60">        setDataExpire(key, value, secondsUntilExpiry);</span>
    -<span class="nc" id="L61">    }</span>
    -
    -    public long incrementData(String key) {
    -<span class="nc" id="L64">        ValueOperations&lt;String, String&gt; valueOperations = getStringStringValueOperations();</span>
    -<span class="nc" id="L65">        return valueOperations.increment(key, 1); // 증가된 값을 반환</span>
    -    }
    -
    -    private ValueOperations&lt;String, String&gt; getStringStringValueOperations() {
    -<span class="nc" id="L69">        return this.stringRedisTemplate.opsForValue();</span>
    -    }
    -
    -    /**
    -     * Refresh Token을 redis에 저장할 때, 접두사를 붙여서 redis key를 반환하는 메서드
    -     *
    -     * @param jwtClaimsDto JWT의 claim 정보
    -     * @return 일반 유저는 &quot;USER_{id값}&quot;, 어드민 유저는 &quot;ADMIN_{id값}&quot;
    -     */
    -    public String getRedisKeyForJwt(JwtClaimsDto jwtClaimsDto) {
    -
    -<span class="nc" id="L80">        String id = String.valueOf(jwtClaimsDto.getId());</span>
    -<span class="nc" id="L81">        RoleType roleType = jwtClaimsDto.getRoleType();</span>
    -
    -<span class="nc" id="L83">        return roleType.getRedisKeyPrefix() + id;</span>
    -    }
    -
    -    // redis에 저장된 Refresh Token을 삭제하는 메서드
    -    public void deleteRefreshToken(JwtClaimsDto jwtClaimsDto) {
    -
    -<span class="nc" id="L89">        deleteData(getRedisKeyForJwt(jwtClaimsDto));</span>
    -<span class="nc" id="L90">    }</span>
    -
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.util/index.html b/jacoco/jacocoHtml/com.softeer.backend.global.util/index.html
    deleted file mode 100644
    index 0451a0e7..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.util/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.util</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.util</span></div><h1>com.softeer.backend.global.util</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">728 of 728</td><td class="ctr2">0%</td><td class="bar">14 of 14</td><td class="ctr2">0%</td><td class="ctr1">68</td><td class="ctr2">68</td><td class="ctr1">169</td><td class="ctr2">169</td><td class="ctr1">61</td><td class="ctr2">61</td><td class="ctr1">7</td><td class="ctr2">7</td></tr></tfoot><tbody><tr><td id="a3"><a href="JwtUtil.html" class="el_class">JwtUtil</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="254" alt="254"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="40" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">14</td><td class="ctr2" id="g0">14</td><td class="ctr1" id="h0">64</td><td class="ctr2" id="i0">64</td><td class="ctr1" id="j0">13</td><td class="ctr2" id="k0">13</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a2"><a href="FcfsRedisUtil.html" class="el_class">FcfsRedisUtil</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="62" height="10" title="133" alt="133"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d2"><img src="../jacoco-resources/redbar.gif" width="40" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f1">14</td><td class="ctr2" id="g1">14</td><td class="ctr1" id="h1">28</td><td class="ctr2" id="i1">28</td><td class="ctr1" id="j1">13</td><td class="ctr2" id="k1">13</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a0"><a href="DrawRedisUtil.html" class="el_class">DrawRedisUtil</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="47" height="10" title="101" alt="101"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="6" alt="6"/></td><td class="ctr2" id="e2">0%</td><td class="ctr1" id="f2">12</td><td class="ctr2" id="g2">12</td><td class="ctr1" id="h3">23</td><td class="ctr2" id="i3">23</td><td class="ctr1" id="j4">9</td><td class="ctr2" id="k4">9</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a6"><a href="StringRedisUtil.html" class="el_class">StringRedisUtil</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="42" height="10" title="90" alt="90"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f4">11</td><td class="ctr2" id="g4">11</td><td class="ctr1" id="h2">24</td><td class="ctr2" id="i2">24</td><td class="ctr1" id="j3">11</td><td class="ctr2" id="k3">11</td><td class="ctr1" id="l3">1</td><td class="ctr2" id="m3">1</td></tr><tr><td id="a1"><a href="EventLockRedisUtil.html" class="el_class">EventLockRedisUtil</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="40" height="10" title="85" alt="85"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f3">12</td><td class="ctr2" id="g3">12</td><td class="ctr1" id="h4">19</td><td class="ctr2" id="i4">19</td><td class="ctr1" id="j2">12</td><td class="ctr2" id="k2">12</td><td class="ctr1" id="l4">1</td><td class="ctr2" id="m4">1</td></tr><tr><td id="a5"><a href="SpringELParser.html" class="el_class">SpringELParser</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="16" height="10" title="34" alt="34"/></td><td class="ctr2" id="c5">0%</td><td class="bar" id="d3"><img src="../jacoco-resources/redbar.gif" width="40" height="10" title="2" alt="2"/></td><td class="ctr2" id="e3">0%</td><td class="ctr1" id="f6">2</td><td class="ctr2" id="g6">2</td><td class="ctr1" id="h6">5</td><td class="ctr2" id="i6">5</td><td class="ctr1" id="j6">1</td><td class="ctr2" id="k6">1</td><td class="ctr1" id="l5">1</td><td class="ctr2" id="m5">1</td></tr><tr><td id="a4"><a href="RandomCodeUtil.html" class="el_class">RandomCodeUtil</a></td><td class="bar" id="b6"><img src="../jacoco-resources/redbar.gif" width="14" height="10" title="31" alt="31"/></td><td class="ctr2" id="c6">0%</td><td class="bar" id="d4"><img src="../jacoco-resources/redbar.gif" width="40" height="10" title="2" alt="2"/></td><td class="ctr2" id="e4">0%</td><td class="ctr1" id="f5">3</td><td class="ctr2" id="g5">3</td><td class="ctr1" id="h5">6</td><td class="ctr2" id="i5">6</td><td class="ctr1" id="j5">2</td><td class="ctr2" id="k5">2</td><td class="ctr1" id="l6">1</td><td class="ctr2" id="m6">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend.global.util/index.source.html b/jacoco/jacocoHtml/com.softeer.backend.global.util/index.source.html
    deleted file mode 100644
    index b31889a7..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend.global.util/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend.global.util</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend.global.util</span></div><h1>com.softeer.backend.global.util</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">728 of 728</td><td class="ctr2">0%</td><td class="bar">14 of 14</td><td class="ctr2">0%</td><td class="ctr1">68</td><td class="ctr2">68</td><td class="ctr1">169</td><td class="ctr2">169</td><td class="ctr1">61</td><td class="ctr2">61</td><td class="ctr1">7</td><td class="ctr2">7</td></tr></tfoot><tbody><tr><td id="a3"><a href="JwtUtil.java.html" class="el_source">JwtUtil.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="254" alt="254"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="40" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">14</td><td class="ctr2" id="g0">14</td><td class="ctr1" id="h0">64</td><td class="ctr2" id="i0">64</td><td class="ctr1" id="j0">13</td><td class="ctr2" id="k0">13</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a2"><a href="FcfsRedisUtil.java.html" class="el_source">FcfsRedisUtil.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="62" height="10" title="133" alt="133"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d2"><img src="../jacoco-resources/redbar.gif" width="40" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f1">14</td><td class="ctr2" id="g1">14</td><td class="ctr1" id="h1">28</td><td class="ctr2" id="i1">28</td><td class="ctr1" id="j1">13</td><td class="ctr2" id="k1">13</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a0"><a href="DrawRedisUtil.java.html" class="el_source">DrawRedisUtil.java</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="47" height="10" title="101" alt="101"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="6" alt="6"/></td><td class="ctr2" id="e2">0%</td><td class="ctr1" id="f2">12</td><td class="ctr2" id="g2">12</td><td class="ctr1" id="h3">23</td><td class="ctr2" id="i3">23</td><td class="ctr1" id="j4">9</td><td class="ctr2" id="k4">9</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a6"><a href="StringRedisUtil.java.html" class="el_source">StringRedisUtil.java</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="42" height="10" title="90" alt="90"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f4">11</td><td class="ctr2" id="g4">11</td><td class="ctr1" id="h2">24</td><td class="ctr2" id="i2">24</td><td class="ctr1" id="j3">11</td><td class="ctr2" id="k3">11</td><td class="ctr1" id="l3">1</td><td class="ctr2" id="m3">1</td></tr><tr><td id="a1"><a href="EventLockRedisUtil.java.html" class="el_source">EventLockRedisUtil.java</a></td><td class="bar" id="b4"><img src="../jacoco-resources/redbar.gif" width="40" height="10" title="85" alt="85"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d6"/><td class="ctr2" id="e6">n/a</td><td class="ctr1" id="f3">12</td><td class="ctr2" id="g3">12</td><td class="ctr1" id="h4">19</td><td class="ctr2" id="i4">19</td><td class="ctr1" id="j2">12</td><td class="ctr2" id="k2">12</td><td class="ctr1" id="l4">1</td><td class="ctr2" id="m4">1</td></tr><tr><td id="a5"><a href="SpringELParser.java.html" class="el_source">SpringELParser.java</a></td><td class="bar" id="b5"><img src="../jacoco-resources/redbar.gif" width="16" height="10" title="34" alt="34"/></td><td class="ctr2" id="c5">0%</td><td class="bar" id="d3"><img src="../jacoco-resources/redbar.gif" width="40" height="10" title="2" alt="2"/></td><td class="ctr2" id="e3">0%</td><td class="ctr1" id="f6">2</td><td class="ctr2" id="g6">2</td><td class="ctr1" id="h6">5</td><td class="ctr2" id="i6">5</td><td class="ctr1" id="j6">1</td><td class="ctr2" id="k6">1</td><td class="ctr1" id="l5">1</td><td class="ctr2" id="m5">1</td></tr><tr><td id="a4"><a href="RandomCodeUtil.java.html" class="el_source">RandomCodeUtil.java</a></td><td class="bar" id="b6"><img src="../jacoco-resources/redbar.gif" width="14" height="10" title="31" alt="31"/></td><td class="ctr2" id="c6">0%</td><td class="bar" id="d4"><img src="../jacoco-resources/redbar.gif" width="40" height="10" title="2" alt="2"/></td><td class="ctr2" id="e4">0%</td><td class="ctr1" id="f5">3</td><td class="ctr2" id="g5">3</td><td class="ctr1" id="h5">6</td><td class="ctr2" id="i5">6</td><td class="ctr1" id="j5">2</td><td class="ctr2" id="k5">2</td><td class="ctr1" id="l6">1</td><td class="ctr2" id="m6">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend/BackendApplication.html b/jacoco/jacocoHtml/com.softeer.backend/BackendApplication.html
    deleted file mode 100644
    index 72a97e09..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend/BackendApplication.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>BackendApplication</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.html" class="el_package">com.softeer.backend</a> &gt; <span class="el_class">BackendApplication</span></div><h1>BackendApplication</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">8 of 8</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">2</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="BackendApplication.java.html#L17" class="el_method">main(String[])</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="5" alt="5"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">2</td><td class="ctr2" id="i0">2</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="BackendApplication.java.html#L14" class="el_method">BackendApplication()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="72" height="10" title="3" alt="3"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend/BackendApplication.java.html b/jacoco/jacocoHtml/com.softeer.backend/BackendApplication.java.html
    deleted file mode 100644
    index c044257e..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend/BackendApplication.java.html
    +++ /dev/null
    @@ -1,21 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>BackendApplication.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <a href="index.source.html" class="el_package">com.softeer.backend</a> &gt; <span class="el_source">BackendApplication.java</span></div><h1>BackendApplication.java</h1><pre class="source lang-java linenums">package com.softeer.backend;
    -
    -import org.springframework.boot.SpringApplication;
    -import org.springframework.boot.autoconfigure.SpringBootApplication;
    -import org.springframework.boot.context.properties.ConfigurationPropertiesScan;
    -import org.springframework.cache.annotation.EnableCaching;
    -import org.springframework.data.jpa.repository.config.EnableJpaAuditing;
    -import org.springframework.scheduling.annotation.EnableScheduling;
    -
    -@SpringBootApplication
    -@EnableJpaAuditing
    -@EnableScheduling
    -@ConfigurationPropertiesScan
    -<span class="nc" id="L14">public class BackendApplication {</span>
    -
    -    public static void main(String[] args) {
    -<span class="nc" id="L17">        SpringApplication.run(BackendApplication.class, args);</span>
    -<span class="nc" id="L18">    }</span>
    -
    -}
    -</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend/index.html b/jacoco/jacocoHtml/com.softeer.backend/index.html
    deleted file mode 100644
    index c6dbdfa6..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend</span></div><h1>com.softeer.backend</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">8 of 8</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="BackendApplication.html" class="el_class">BackendApplication</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="8" alt="8"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">3</td><td class="ctr2" id="i0">3</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/com.softeer.backend/index.source.html b/jacoco/jacocoHtml/com.softeer.backend/index.source.html
    deleted file mode 100644
    index 321e7f06..00000000
    --- a/jacoco/jacocoHtml/com.softeer.backend/index.source.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>com.softeer.backend</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">backend</a> &gt; <span class="el_package">com.softeer.backend</span></div><h1>com.softeer.backend</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">8 of 8</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">2</td><td class="ctr2">2</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="BackendApplication.java.html" class="el_source">BackendApplication.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="8" alt="8"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">3</td><td class="ctr2" id="i0">3</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">2</td><td class="ctr1" id="l0">1</td><td class="ctr2" id="m0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/index.html b/jacoco/jacocoHtml/index.html
    deleted file mode 100644
    index 9556d9df..00000000
    --- a/jacoco/jacocoHtml/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="jacoco-resources/report.gif" type="image/gif"/><title>backend</title><script type="text/javascript" src="jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="jacoco-sessions.html" class="el_session">Sessions</a></span><span class="el_report">backend</span></div><h1>backend</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">7,350 of 7,556</td><td class="ctr2">2%</td><td class="bar">288 of 304</td><td class="ctr2">5%</td><td class="ctr1">510</td><td class="ctr2">522</td><td class="ctr1">1,704</td><td class="ctr2">1,755</td><td class="ctr1">363</td><td class="ctr2">367</td><td class="ctr1">94</td><td class="ctr2">96</td></tr></tfoot><tbody><tr><td id="a27"><a href="com.softeer.backend.fo_domain.fcfs.service/index.html" class="el_package">com.softeer.backend.fo_domain.fcfs.service</a></td><td class="bar" id="b0"><img src="jacoco-resources/redbar.gif" width="120" height="10" title="750" alt="750"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d0"><img src="jacoco-resources/redbar.gif" width="120" height="10" title="54" alt="54"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f1">55</td><td class="ctr2" id="g1">55</td><td class="ctr1" id="h1">165</td><td class="ctr2" id="i1">165</td><td class="ctr1" id="j1">28</td><td class="ctr2" id="k1">28</td><td class="ctr1" id="l5">3</td><td class="ctr2" id="m5">3</td></tr><tr><td id="a56"><a href="com.softeer.backend.global.util/index.html" class="el_package">com.softeer.backend.global.util</a></td><td class="bar" id="b1"><img src="jacoco-resources/redbar.gif" width="116" height="10" title="728" alt="728"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d7"><img src="jacoco-resources/redbar.gif" width="31" height="10" title="14" alt="14"/></td><td class="ctr2" id="e2">0%</td><td class="ctr1" id="f0">68</td><td class="ctr2" id="g0">68</td><td class="ctr1" id="h0">169</td><td class="ctr2" id="i0">169</td><td class="ctr1" id="j0">61</td><td class="ctr2" id="k0">61</td><td class="ctr1" id="l0">7</td><td class="ctr2" id="m0">7</td></tr><tr><td id="a54"><a href="com.softeer.backend.global.staticresources.constant/index.html" class="el_package">com.softeer.backend.global.staticresources.constant</a></td><td class="bar" id="b2"><img src="jacoco-resources/redbar.gif" width="99" height="10" title="624" alt="624"/></td><td class="ctr2" id="c4">0%</td><td class="bar" id="d25"/><td class="ctr2" id="e25">n/a</td><td class="ctr1" id="f40">2</td><td class="ctr2" id="g40">2</td><td class="ctr1" id="h4">105</td><td class="ctr2" id="i4">105</td><td class="ctr1" id="j36">2</td><td class="ctr2" id="k36">2</td><td class="ctr1" id="l10">2</td><td class="ctr2" id="m10">2</td></tr><tr><td id="a23"><a href="com.softeer.backend.fo_domain.draw.util/index.html" class="el_package">com.softeer.backend.fo_domain.draw.util</a></td><td class="bar" id="b3"><img src="jacoco-resources/redbar.gif" width="82" height="10" title="515" alt="515"/></td><td class="ctr2" id="c5">0%</td><td class="bar" id="d1"><img src="jacoco-resources/redbar.gif" width="80" height="10" title="36" alt="36"/></td><td class="ctr2" id="e3">0%</td><td class="ctr1" id="f2">38</td><td class="ctr2" id="g2">38</td><td class="ctr1" id="h2">128</td><td class="ctr2" id="i2">128</td><td class="ctr1" id="j3">20</td><td class="ctr2" id="k3">20</td><td class="ctr1" id="l1">4</td><td class="ctr2" id="m1">4</td></tr><tr><td id="a29"><a href="com.softeer.backend.fo_domain.mainpage.service/index.html" class="el_package">com.softeer.backend.fo_domain.mainpage.service</a></td><td class="bar" id="b4"><img src="jacoco-resources/redbar.gif" width="80" height="10" title="500" alt="500"/></td><td class="ctr2" id="c6">0%</td><td class="bar" id="d12"><img src="jacoco-resources/redbar.gif" width="8" height="10" title="4" alt="4"/></td><td class="ctr2" id="e4">0%</td><td class="ctr1" id="f12">10</td><td class="ctr2" id="g13">10</td><td class="ctr1" id="h6">93</td><td class="ctr2" id="i6">93</td><td class="ctr1" id="j11">8</td><td class="ctr2" id="k12">8</td><td class="ctr1" id="l20">1</td><td class="ctr2" id="m21">1</td></tr><tr><td id="a38"><a href="com.softeer.backend.fo_domain.user.service/index.html" class="el_package">com.softeer.backend.fo_domain.user.service</a></td><td class="bar" id="b5"><img src="jacoco-resources/redbar.gif" width="77" height="10" title="485" alt="485"/></td><td class="ctr2" id="c7">0%</td><td class="bar" id="d3"><img src="jacoco-resources/redbar.gif" width="57" height="10" title="26" alt="26"/></td><td class="ctr2" id="e5">0%</td><td class="ctr1" id="f4">24</td><td class="ctr2" id="g4">24</td><td class="ctr1" id="h3">118</td><td class="ctr2" id="i3">118</td><td class="ctr1" id="j7">11</td><td class="ctr2" id="k7">11</td><td class="ctr1" id="l11">2</td><td class="ctr2" id="m11">2</td></tr><tr><td id="a52"><a href="com.softeer.backend.global.filter/index.html" class="el_package">com.softeer.backend.global.filter</a></td><td class="bar" id="b6"><img src="jacoco-resources/redbar.gif" width="64" height="10" title="403" alt="403"/></td><td class="ctr2" id="c8">0%</td><td class="bar" id="d4"><img src="jacoco-resources/redbar.gif" width="57" height="10" title="26" alt="26"/></td><td class="ctr2" id="e6">0%</td><td class="ctr1" id="f3">35</td><td class="ctr2" id="g3">35</td><td class="ctr1" id="h5">105</td><td class="ctr2" id="i5">105</td><td class="ctr1" id="j2">22</td><td class="ctr2" id="k2">22</td><td class="ctr1" id="l6">3</td><td class="ctr2" id="m6">3</td></tr><tr><td id="a53"><a href="com.softeer.backend.global.scheduler/index.html" class="el_package">com.softeer.backend.global.scheduler</a></td><td class="bar" id="b7"><img src="jacoco-resources/redbar.gif" width="51" height="10" title="319" alt="319"/></td><td class="ctr2" id="c9">0%</td><td class="bar" id="d5"><img src="jacoco-resources/redbar.gif" width="40" height="10" title="18" alt="18"/></td><td class="ctr2" id="e7">0%</td><td class="ctr1" id="f6">20</td><td class="ctr2" id="g6">20</td><td class="ctr1" id="h7">75</td><td class="ctr2" id="i7">75</td><td class="ctr1" id="j8">11</td><td class="ctr2" id="k8">11</td><td class="ctr1" id="l12">2</td><td class="ctr2" id="m12">2</td></tr><tr><td id="a8"><a href="com.softeer.backend.bo_domain.admin.service/index.html" class="el_package">com.softeer.backend.bo_domain.admin.service</a></td><td class="bar" id="b8"><img src="jacoco-resources/redbar.gif" width="50" height="10" title="314" alt="314"/></td><td class="ctr2" id="c10">0%</td><td class="bar" id="d13"><img src="jacoco-resources/redbar.gif" width="8" height="10" title="4" alt="4"/></td><td class="ctr2" id="e8">0%</td><td class="ctr1" id="f7">20</td><td class="ctr2" id="g7">20</td><td class="ctr1" id="h8">72</td><td class="ctr2" id="i8">72</td><td class="ctr1" id="j5">18</td><td class="ctr2" id="k5">18</td><td class="ctr1" id="l2">4</td><td class="ctr2" id="m2">4</td></tr><tr><td id="a43"><a href="com.softeer.backend.global.common.exception/index.html" class="el_package">com.softeer.backend.global.common.exception</a></td><td class="bar" id="b9"><img src="jacoco-resources/redbar.gif" width="35" height="10" title="219" alt="219"/></td><td class="ctr2" id="c11">0%</td><td class="bar" id="d17"><img src="jacoco-resources/redbar.gif" width="4" height="10" title="2" alt="2"/></td><td class="ctr2" id="e9">0%</td><td class="ctr1" id="f8">20</td><td class="ctr2" id="g8">20</td><td class="ctr1" id="h10">48</td><td class="ctr2" id="i11">48</td><td class="ctr1" id="j4">19</td><td class="ctr2" id="k4">19</td><td class="ctr1" id="l3">4</td><td class="ctr2" id="m3">4</td></tr><tr><td id="a51"><a href="com.softeer.backend.global.config.web/index.html" class="el_package">com.softeer.backend.global.config.web</a></td><td class="bar" id="b10"><img src="jacoco-resources/redbar.gif" width="32" height="10" title="206" alt="206"/></td><td class="ctr2" id="c12">0%</td><td class="bar" id="d26"/><td class="ctr2" id="e26">n/a</td><td class="ctr1" id="f16">7</td><td class="ctr2" id="g17">7</td><td class="ctr1" id="h13">33</td><td class="ctr2" id="i14">33</td><td class="ctr1" id="j12">7</td><td class="ctr2" id="k13">7</td><td class="ctr1" id="l21">1</td><td class="ctr2" id="m22">1</td></tr><tr><td id="a41"><a href="com.softeer.backend.global.common.code.status/index.html" class="el_package">com.softeer.backend.global.common.code.status</a></td><td class="bar" id="b11"><img src="jacoco-resources/redbar.gif" width="29" height="10" title="184" alt="184"/></td><td class="ctr2" id="c13">0%</td><td class="bar" id="d27"/><td class="ctr2" id="e27">n/a</td><td class="ctr1" id="f13">9</td><td class="ctr2" id="g14">9</td><td class="ctr1" id="h12">34</td><td class="ctr2" id="i13">34</td><td class="ctr1" id="j9">9</td><td class="ctr2" id="k9">9</td><td class="ctr1" id="l13">2</td><td class="ctr2" id="m13">2</td></tr><tr><td id="a5"><a href="com.softeer.backend.bo_domain.admin.dto.winner/index.html" class="el_package">com.softeer.backend.bo_domain.admin.dto.winner</a></td><td class="bar" id="b12"><img src="jacoco-resources/redbar.gif" width="22" height="10" title="143" alt="143"/></td><td class="ctr2" id="c14">0%</td><td class="bar" id="d28"/><td class="ctr2" id="e28">n/a</td><td class="ctr1" id="f17">7</td><td class="ctr2" id="g18">7</td><td class="ctr1" id="h9">51</td><td class="ctr2" id="i10">51</td><td class="ctr1" id="j13">7</td><td class="ctr2" id="k14">7</td><td class="ctr1" id="l7">3</td><td class="ctr2" id="m7">3</td></tr><tr><td id="a10"><a href="com.softeer.backend.bo_domain.admin.validator/index.html" class="el_package">com.softeer.backend.bo_domain.admin.validator</a></td><td class="bar" id="b13"><img src="jacoco-resources/redbar.gif" width="22" height="10" title="140" alt="140"/></td><td class="ctr2" id="c15">0%</td><td class="bar" id="d2"><img src="jacoco-resources/redbar.gif" width="66" height="10" title="30" alt="30"/></td><td class="ctr2" id="e10">0%</td><td class="ctr1" id="f5">24</td><td class="ctr2" id="g5">24</td><td class="ctr1" id="h14">33</td><td class="ctr2" id="i15">33</td><td class="ctr1" id="j10">9</td><td class="ctr2" id="k10">9</td><td class="ctr1" id="l8">3</td><td class="ctr2" id="m8">3</td></tr><tr><td id="a4"><a href="com.softeer.backend.bo_domain.admin.dto.main/index.html" class="el_package">com.softeer.backend.bo_domain.admin.dto.main</a></td><td class="bar" id="b14"><img src="jacoco-resources/redbar.gif" width="18" height="10" title="113" alt="113"/></td><td class="ctr2" id="c16">0%</td><td class="bar" id="d29"/><td class="ctr2" id="e29">n/a</td><td class="ctr1" id="f34">3</td><td class="ctr2" id="g34">3</td><td class="ctr1" id="h11">38</td><td class="ctr2" id="i12">38</td><td class="ctr1" id="j30">3</td><td class="ctr2" id="k30">3</td><td class="ctr1" id="l22">1</td><td class="ctr2" id="m23">1</td></tr><tr><td id="a12"><a href="com.softeer.backend.fo_domain.comment.constant/index.html" class="el_package">com.softeer.backend.fo_domain.comment.constant</a></td><td class="bar" id="b15"><img src="jacoco-resources/redbar.gif" width="17" height="10" title="109" alt="109"/></td><td class="ctr2" id="c17">0%</td><td class="bar" id="d30"/><td class="ctr2" id="e30">n/a</td><td class="ctr1" id="f25">4</td><td class="ctr2" id="g25">4</td><td class="ctr1" id="h19">20</td><td class="ctr2" id="i20">20</td><td class="ctr1" id="j19">4</td><td class="ctr2" id="k19">4</td><td class="ctr1" id="l23">1</td><td class="ctr2" id="m24">1</td></tr><tr><td id="a42"><a href="com.softeer.backend.global.common.constant/index.html" class="el_package">com.softeer.backend.global.common.constant</a></td><td class="bar" id="b16"><img src="jacoco-resources/redbar.gif" width="15" height="10" title="95" alt="95"/></td><td class="ctr2" id="c18">0%</td><td class="bar" id="d31"/><td class="ctr2" id="e31">n/a</td><td class="ctr1" id="f21">5</td><td class="ctr2" id="g21">5</td><td class="ctr1" id="h21">19</td><td class="ctr2" id="i22">19</td><td class="ctr1" id="j16">5</td><td class="ctr2" id="k16">5</td><td class="ctr1" id="l9">3</td><td class="ctr2" id="m9">3</td></tr><tr><td id="a22"><a href="com.softeer.backend.fo_domain.draw.service/index.html" class="el_package">com.softeer.backend.fo_domain.draw.service</a></td><td class="bar" id="b17"><img src="jacoco-resources/redbar.gif" width="14" height="10" title="93" alt="93"/><img src="jacoco-resources/greenbar.gif" width="30" height="10" title="193" alt="193"/></td><td class="ctr2" id="c1">67%</td><td class="bar" id="d24"><img src="jacoco-resources/greenbar.gif" width="35" height="10" title="16" alt="16"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f19">6</td><td class="ctr2" id="g9">17</td><td class="ctr1" id="h22">18</td><td class="ctr2" id="i9">64</td><td class="ctr1" id="j14">6</td><td class="ctr2" id="k11">9</td><td class="ctr1" id="l24">1</td><td class="ctr2" id="m14">2</td></tr><tr><td id="a1"><a href="com.softeer.backend.bo_domain.admin.controller/index.html" class="el_package">com.softeer.backend.bo_domain.admin.controller</a></td><td class="bar" id="b18"><img src="jacoco-resources/redbar.gif" width="13" height="10" title="84" alt="84"/></td><td class="ctr2" id="c19">0%</td><td class="bar" id="d32"/><td class="ctr2" id="e32">n/a</td><td class="ctr1" id="f10">12</td><td class="ctr2" id="g11">12</td><td class="ctr1" id="h16">24</td><td class="ctr2" id="i17">24</td><td class="ctr1" id="j6">12</td><td class="ctr2" id="k6">12</td><td class="ctr1" id="l4">4</td><td class="ctr2" id="m4">4</td></tr><tr><td id="a39"><a href="com.softeer.backend.global.annotation.aop/index.html" class="el_package">com.softeer.backend.global.annotation.aop</a></td><td class="bar" id="b19"><img src="jacoco-resources/redbar.gif" width="13" height="10" title="83" alt="83"/></td><td class="ctr2" id="c20">0%</td><td class="bar" id="d18"><img src="jacoco-resources/redbar.gif" width="4" height="10" title="2" alt="2"/></td><td class="ctr2" id="e11">0%</td><td class="ctr1" id="f22">5</td><td class="ctr2" id="g22">5</td><td class="ctr1" id="h20">20</td><td class="ctr2" id="i21">20</td><td class="ctr1" id="j20">4</td><td class="ctr2" id="k20">4</td><td class="ctr1" id="l14">2</td><td class="ctr2" id="m15">2</td></tr><tr><td id="a21"><a href="com.softeer.backend.fo_domain.draw.interceptor/index.html" class="el_package">com.softeer.backend.fo_domain.draw.interceptor</a></td><td class="bar" id="b20"><img src="jacoco-resources/redbar.gif" width="12" height="10" title="78" alt="78"/></td><td class="ctr2" id="c21">0%</td><td class="bar" id="d6"><img src="jacoco-resources/redbar.gif" width="35" height="10" title="16" alt="16"/></td><td class="ctr2" id="e12">0%</td><td class="ctr1" id="f11">12</td><td class="ctr2" id="g12">12</td><td class="ctr1" id="h26">14</td><td class="ctr2" id="i26">14</td><td class="ctr1" id="j21">4</td><td class="ctr2" id="k21">4</td><td class="ctr1" id="l25">1</td><td class="ctr2" id="m25">1</td></tr><tr><td id="a3"><a href="com.softeer.backend.bo_domain.admin.dto.indicator/index.html" class="el_package">com.softeer.backend.bo_domain.admin.dto.indicator</a></td><td class="bar" id="b21"><img src="jacoco-resources/redbar.gif" width="12" height="10" title="78" alt="78"/></td><td class="ctr2" id="c22">0%</td><td class="bar" id="d14"><img src="jacoco-resources/redbar.gif" width="8" height="10" title="4" alt="4"/></td><td class="ctr2" id="e13">0%</td><td class="ctr1" id="f26">4</td><td class="ctr2" id="g26">4</td><td class="ctr1" id="h15">30</td><td class="ctr2" id="i16">30</td><td class="ctr1" id="j37">2</td><td class="ctr2" id="k37">2</td><td class="ctr1" id="l26">1</td><td class="ctr2" id="m26">1</td></tr><tr><td id="a15"><a href="com.softeer.backend.fo_domain.comment.dto/index.html" class="el_package">com.softeer.backend.fo_domain.comment.dto</a></td><td class="bar" id="b22"><img src="jacoco-resources/redbar.gif" width="12" height="10" title="76" alt="76"/></td><td class="ctr2" id="c23">0%</td><td class="bar" id="d9"><img src="jacoco-resources/redbar.gif" width="17" height="10" title="8" alt="8"/></td><td class="ctr2" id="e14">0%</td><td class="ctr1" id="f14">9</td><td class="ctr2" id="g15">9</td><td class="ctr1" id="h17">24</td><td class="ctr2" id="i18">24</td><td class="ctr1" id="j17">5</td><td class="ctr2" id="k17">5</td><td class="ctr1" id="l27">1</td><td class="ctr2" id="m27">1</td></tr><tr><td id="a34"><a href="com.softeer.backend.fo_domain.user.constatnt/index.html" class="el_package">com.softeer.backend.fo_domain.user.constatnt</a></td><td class="bar" id="b23"><img src="jacoco-resources/redbar.gif" width="11" height="10" title="74" alt="74"/></td><td class="ctr2" id="c24">0%</td><td class="bar" id="d33"/><td class="ctr2" id="e33">n/a</td><td class="ctr1" id="f27">4</td><td class="ctr2" id="g27">4</td><td class="ctr1" id="h25">15</td><td class="ctr2" id="i25">15</td><td class="ctr1" id="j22">4</td><td class="ctr2" id="k22">4</td><td class="ctr1" id="l15">2</td><td class="ctr2" id="m16">2</td></tr><tr><td id="a47"><a href="com.softeer.backend.global.config.docs/index.html" class="el_package">com.softeer.backend.global.config.docs</a></td><td class="bar" id="b24"><img src="jacoco-resources/redbar.gif" width="11" height="10" title="70" alt="70"/></td><td class="ctr2" id="c25">0%</td><td class="bar" id="d34"/><td class="ctr2" id="e34">n/a</td><td class="ctr1" id="f28">4</td><td class="ctr2" id="g28">4</td><td class="ctr1" id="h18">24</td><td class="ctr2" id="i19">24</td><td class="ctr1" id="j23">4</td><td class="ctr2" id="k23">4</td><td class="ctr1" id="l28">1</td><td class="ctr2" id="m28">1</td></tr><tr><td id="a55"><a href="com.softeer.backend.global.staticresources.util/index.html" class="el_package">com.softeer.backend.global.staticresources.util</a></td><td class="bar" id="b25"><img src="jacoco-resources/redbar.gif" width="9" height="10" title="61" alt="61"/></td><td class="ctr2" id="c26">0%</td><td class="bar" id="d10"><img src="jacoco-resources/redbar.gif" width="17" height="10" title="8" alt="8"/></td><td class="ctr2" id="e15">0%</td><td class="ctr1" id="f9">13</td><td class="ctr2" id="g10">13</td><td class="ctr1" id="h24">17</td><td class="ctr2" id="i24">17</td><td class="ctr1" id="j15">6</td><td class="ctr2" id="k15">6</td><td class="ctr1" id="l29">1</td><td class="ctr2" id="m29">1</td></tr><tr><td id="a49"><a href="com.softeer.backend.global.config.redis/index.html" class="el_package">com.softeer.backend.global.config.redis</a></td><td class="bar" id="b26"><img src="jacoco-resources/redbar.gif" width="9" height="10" title="60" alt="60"/></td><td class="ctr2" id="c27">0%</td><td class="bar" id="d35"/><td class="ctr2" id="e35">n/a</td><td class="ctr1" id="f35">3</td><td class="ctr2" id="g35">3</td><td class="ctr1" id="h28">12</td><td class="ctr2" id="i28">12</td><td class="ctr1" id="j31">3</td><td class="ctr2" id="k31">3</td><td class="ctr1" id="l30">1</td><td class="ctr2" id="m30">1</td></tr><tr><td id="a44"><a href="com.softeer.backend.global.common.response/index.html" class="el_package">com.softeer.backend.global.common.response</a></td><td class="bar" id="b27"><img src="jacoco-resources/redbar.gif" width="8" height="10" title="53" alt="53"/></td><td class="ctr2" id="c28">0%</td><td class="bar" id="d36"/><td class="ctr2" id="e36">n/a</td><td class="ctr1" id="f23">5</td><td class="ctr2" id="g23">5</td><td class="ctr1" id="h43">5</td><td class="ctr2" id="i43">5</td><td class="ctr1" id="j18">5</td><td class="ctr2" id="k18">5</td><td class="ctr1" id="l31">1</td><td class="ctr2" id="m31">1</td></tr><tr><td id="a13"><a href="com.softeer.backend.fo_domain.comment.controller/index.html" class="el_package">com.softeer.backend.fo_domain.comment.controller</a></td><td class="bar" id="b28"><img src="jacoco-resources/redbar.gif" width="8" height="10" title="52" alt="52"/></td><td class="ctr2" id="c29">0%</td><td class="bar" id="d8"><img src="jacoco-resources/redbar.gif" width="22" height="10" title="10" alt="10"/></td><td class="ctr2" id="e16">0%</td><td class="ctr1" id="f15">8</td><td class="ctr2" id="g16">8</td><td class="ctr1" id="h29">12</td><td class="ctr2" id="i29">12</td><td class="ctr1" id="j32">3</td><td class="ctr2" id="k32">3</td><td class="ctr1" id="l32">1</td><td class="ctr2" id="m32">1</td></tr><tr><td id="a18"><a href="com.softeer.backend.fo_domain.comment.util/index.html" class="el_package">com.softeer.backend.fo_domain.comment.util</a></td><td class="bar" id="b29"><img src="jacoco-resources/redbar.gif" width="7" height="10" title="48" alt="48"/></td><td class="ctr2" id="c30">0%</td><td class="bar" id="d15"><img src="jacoco-resources/redbar.gif" width="8" height="10" title="4" alt="4"/></td><td class="ctr2" id="e17">0%</td><td class="ctr1" id="f20">6</td><td class="ctr2" id="g20">6</td><td class="ctr1" id="h39">8</td><td class="ctr2" id="i39">8</td><td class="ctr1" id="j24">4</td><td class="ctr2" id="k24">4</td><td class="ctr1" id="l33">1</td><td class="ctr2" id="m33">1</td></tr><tr><td id="a46"><a href="com.softeer.backend.global.config.cache/index.html" class="el_package">com.softeer.backend.global.config.cache</a></td><td class="bar" id="b30"><img src="jacoco-resources/redbar.gif" width="7" height="10" title="45" alt="45"/></td><td class="ctr2" id="c31">0%</td><td class="bar" id="d37"/><td class="ctr2" id="e37">n/a</td><td class="ctr1" id="f29">4</td><td class="ctr2" id="g29">4</td><td class="ctr1" id="h30">12</td><td class="ctr2" id="i30">12</td><td class="ctr1" id="j25">4</td><td class="ctr2" id="k25">4</td><td class="ctr1" id="l34">1</td><td class="ctr2" id="m34">1</td></tr><tr><td id="a17"><a href="com.softeer.backend.fo_domain.comment.service/index.html" class="el_package">com.softeer.backend.fo_domain.comment.service</a></td><td class="bar" id="b31"><img src="jacoco-resources/redbar.gif" width="6" height="10" title="43" alt="43"/></td><td class="ctr2" id="c32">0%</td><td class="bar" id="d19"><img src="jacoco-resources/redbar.gif" width="4" height="10" title="2" alt="2"/></td><td class="ctr2" id="e18">0%</td><td class="ctr1" id="f36">3</td><td class="ctr2" id="g36">3</td><td class="ctr1" id="h27">13</td><td class="ctr2" id="i27">13</td><td class="ctr1" id="j38">2</td><td class="ctr2" id="k38">2</td><td class="ctr1" id="l35">1</td><td class="ctr2" id="m35">1</td></tr><tr><td id="a24"><a href="com.softeer.backend.fo_domain.fcfs.controller/index.html" class="el_package">com.softeer.backend.fo_domain.fcfs.controller</a></td><td class="bar" id="b32"><img src="jacoco-resources/redbar.gif" width="6" height="10" title="42" alt="42"/></td><td class="ctr2" id="c33">0%</td><td class="bar" id="d38"/><td class="ctr2" id="e38">n/a</td><td class="ctr1" id="f30">4</td><td class="ctr2" id="g30">4</td><td class="ctr1" id="h34">9</td><td class="ctr2" id="i34">9</td><td class="ctr1" id="j26">4</td><td class="ctr2" id="k26">4</td><td class="ctr1" id="l36">1</td><td class="ctr2" id="m36">1</td></tr><tr><td id="a40"><a href="com.softeer.backend.global.annotation.argumentresolver/index.html" class="el_package">com.softeer.backend.global.annotation.argumentresolver</a></td><td class="bar" id="b33"><img src="jacoco-resources/redbar.gif" width="6" height="10" title="40" alt="40"/></td><td class="ctr2" id="c34">0%</td><td class="bar" id="d11"><img src="jacoco-resources/redbar.gif" width="17" height="10" title="8" alt="8"/></td><td class="ctr2" id="e19">0%</td><td class="ctr1" id="f18">7</td><td class="ctr2" id="g19">7</td><td class="ctr1" id="h35">9</td><td class="ctr2" id="i35">9</td><td class="ctr1" id="j33">3</td><td class="ctr2" id="k33">3</td><td class="ctr1" id="l37">1</td><td class="ctr2" id="m37">1</td></tr><tr><td id="a2"><a href="com.softeer.backend.bo_domain.admin.dto.event/index.html" class="el_package">com.softeer.backend.bo_domain.admin.dto.event</a></td><td class="bar" id="b34"><img src="jacoco-resources/redbar.gif" width="6" height="10" title="40" alt="40"/></td><td class="ctr2" id="c35">0%</td><td class="bar" id="d39"/><td class="ctr2" id="e39">n/a</td><td class="ctr1" id="f41">2</td><td class="ctr2" id="g41">2</td><td class="ctr1" id="h23">18</td><td class="ctr2" id="i23">18</td><td class="ctr1" id="j39">2</td><td class="ctr2" id="k39">2</td><td class="ctr1" id="l38">1</td><td class="ctr2" id="m38">1</td></tr><tr><td id="a30"><a href="com.softeer.backend.fo_domain.share.controller/index.html" class="el_package">com.softeer.backend.fo_domain.share.controller</a></td><td class="bar" id="b35"><img src="jacoco-resources/redbar.gif" width="6" height="10" title="38" alt="38"/></td><td class="ctr2" id="c36">0%</td><td class="bar" id="d40"/><td class="ctr2" id="e40">n/a</td><td class="ctr1" id="f42">2</td><td class="ctr2" id="g42">2</td><td class="ctr1" id="h36">9</td><td class="ctr2" id="i36">9</td><td class="ctr1" id="j40">2</td><td class="ctr2" id="k40">2</td><td class="ctr1" id="l39">1</td><td class="ctr2" id="m39">1</td></tr><tr><td id="a28"><a href="com.softeer.backend.fo_domain.mainpage.controller/index.html" class="el_package">com.softeer.backend.fo_domain.mainpage.controller</a></td><td class="bar" id="b36"><img src="jacoco-resources/redbar.gif" width="5" height="10" title="37" alt="37"/></td><td class="ctr2" id="c37">0%</td><td class="bar" id="d41"/><td class="ctr2" id="e41">n/a</td><td class="ctr1" id="f37">3</td><td class="ctr2" id="g37">3</td><td class="ctr1" id="h32">10</td><td class="ctr2" id="i32">10</td><td class="ctr1" id="j34">3</td><td class="ctr2" id="k34">3</td><td class="ctr1" id="l40">1</td><td class="ctr2" id="m40">1</td></tr><tr><td id="a26"><a href="com.softeer.backend.fo_domain.fcfs.interceptor/index.html" class="el_package">com.softeer.backend.fo_domain.fcfs.interceptor</a></td><td class="bar" id="b37"><img src="jacoco-resources/redbar.gif" width="5" height="10" title="37" alt="37"/></td><td class="ctr2" id="c38">0%</td><td class="bar" id="d16"><img src="jacoco-resources/redbar.gif" width="8" height="10" title="4" alt="4"/></td><td class="ctr2" id="e20">0%</td><td class="ctr1" id="f31">4</td><td class="ctr2" id="g31">4</td><td class="ctr1" id="h33">10</td><td class="ctr2" id="i33">10</td><td class="ctr1" id="j41">2</td><td class="ctr2" id="k41">2</td><td class="ctr1" id="l41">1</td><td class="ctr2" id="m41">1</td></tr><tr><td id="a35"><a href="com.softeer.backend.fo_domain.user.controller/index.html" class="el_package">com.softeer.backend.fo_domain.user.controller</a></td><td class="bar" id="b38"><img src="jacoco-resources/redbar.gif" width="5" height="10" title="36" alt="36"/></td><td class="ctr2" id="c39">0%</td><td class="bar" id="d42"/><td class="ctr2" id="e42">n/a</td><td class="ctr1" id="f32">4</td><td class="ctr2" id="g32">4</td><td class="ctr1" id="h40">8</td><td class="ctr2" id="i40">8</td><td class="ctr1" id="j27">4</td><td class="ctr2" id="k27">4</td><td class="ctr1" id="l16">2</td><td class="ctr2" id="m17">2</td></tr><tr><td id="a7"><a href="com.softeer.backend.bo_domain.admin.serializer/index.html" class="el_package">com.softeer.backend.bo_domain.admin.serializer</a></td><td class="bar" id="b39"><img src="jacoco-resources/redbar.gif" width="5" height="10" title="34" alt="34"/></td><td class="ctr2" id="c40">0%</td><td class="bar" id="d20"><img src="jacoco-resources/redbar.gif" width="4" height="10" title="2" alt="2"/></td><td class="ctr2" id="e21">0%</td><td class="ctr1" id="f24">5</td><td class="ctr2" id="g24">5</td><td class="ctr1" id="h37">9</td><td class="ctr2" id="i37">9</td><td class="ctr1" id="j28">4</td><td class="ctr2" id="k28">4</td><td class="ctr1" id="l17">2</td><td class="ctr2" id="m18">2</td></tr><tr><td id="a19"><a href="com.softeer.backend.fo_domain.draw.controller/index.html" class="el_package">com.softeer.backend.fo_domain.draw.controller</a></td><td class="bar" id="b40"><img src="jacoco-resources/redbar.gif" width="5" height="10" title="32" alt="32"/></td><td class="ctr2" id="c41">0%</td><td class="bar" id="d43"/><td class="ctr2" id="e43">n/a</td><td class="ctr1" id="f33">4</td><td class="ctr2" id="g33">4</td><td class="ctr1" id="h41">6</td><td class="ctr2" id="i41">6</td><td class="ctr1" id="j29">4</td><td class="ctr2" id="k29">4</td><td class="ctr1" id="l42">1</td><td class="ctr2" id="m42">1</td></tr><tr><td id="a48"><a href="com.softeer.backend.global.config.properties/index.html" class="el_package">com.softeer.backend.global.config.properties</a></td><td class="bar" id="b41"><img src="jacoco-resources/redbar.gif" width="4" height="10" title="30" alt="30"/></td><td class="ctr2" id="c42">0%</td><td class="bar" id="d44"/><td class="ctr2" id="e44">n/a</td><td class="ctr1" id="f43">2</td><td class="ctr2" id="g43">2</td><td class="ctr1" id="h31">12</td><td class="ctr2" id="i31">12</td><td class="ctr1" id="j42">2</td><td class="ctr2" id="k42">2</td><td class="ctr1" id="l18">2</td><td class="ctr2" id="m19">2</td></tr><tr><td id="a33"><a href="com.softeer.backend.fo_domain.share.service/index.html" class="el_package">com.softeer.backend.fo_domain.share.service</a></td><td class="bar" id="b42"><img src="jacoco-resources/redbar.gif" width="4" height="10" title="26" alt="26"/></td><td class="ctr2" id="c43">0%</td><td class="bar" id="d21"><img src="jacoco-resources/redbar.gif" width="4" height="10" title="2" alt="2"/></td><td class="ctr2" id="e22">0%</td><td class="ctr1" id="f38">3</td><td class="ctr2" id="g38">3</td><td class="ctr1" id="h38">9</td><td class="ctr2" id="i38">9</td><td class="ctr1" id="j43">2</td><td class="ctr2" id="k43">2</td><td class="ctr1" id="l43">1</td><td class="ctr2" id="m43">1</td></tr><tr><td id="a11"><a href="com.softeer.backend.bo_domain.eventparticipation.repository/index.html" class="el_package">com.softeer.backend.bo_domain.eventparticipation.repository</a></td><td class="bar" id="b43"><img src="jacoco-resources/redbar.gif" width="2" height="10" title="17" alt="17"/></td><td class="ctr2" id="c44">0%</td><td class="bar" id="d22"><img src="jacoco-resources/redbar.gif" width="4" height="10" title="2" alt="2"/></td><td class="ctr2" id="e23">0%</td><td class="ctr1" id="f44">2</td><td class="ctr2" id="g44">2</td><td class="ctr1" id="h45">4</td><td class="ctr2" id="i46">4</td><td class="ctr1" id="j48">1</td><td class="ctr2" id="k48">1</td><td class="ctr1" id="l44">1</td><td class="ctr2" id="m44">1</td></tr><tr><td id="a50"><a href="com.softeer.backend.global.config.schedular/index.html" class="el_package">com.softeer.backend.global.config.schedular</a></td><td class="bar" id="b44"><img src="jacoco-resources/redbar.gif" width="2" height="10" title="15" alt="15"/></td><td class="ctr2" id="c45">0%</td><td class="bar" id="d45"/><td class="ctr2" id="e45">n/a</td><td class="ctr1" id="f45">2</td><td class="ctr2" id="g45">2</td><td class="ctr1" id="h44">5</td><td class="ctr2" id="i44">5</td><td class="ctr1" id="j44">2</td><td class="ctr2" id="k44">2</td><td class="ctr1" id="l45">1</td><td class="ctr2" id="m45">1</td></tr><tr><td id="a37"><a href="com.softeer.backend.fo_domain.user.properties/index.html" class="el_package">com.softeer.backend.fo_domain.user.properties</a></td><td class="bar" id="b45"><img src="jacoco-resources/redbar.gif" width="2" height="10" title="15" alt="15"/></td><td class="ctr2" id="c46">0%</td><td class="bar" id="d46"/><td class="ctr2" id="e46">n/a</td><td class="ctr1" id="f50">1</td><td class="ctr2" id="g50">1</td><td class="ctr1" id="h42">6</td><td class="ctr2" id="i42">6</td><td class="ctr1" id="j49">1</td><td class="ctr2" id="k49">1</td><td class="ctr1" id="l46">1</td><td class="ctr2" id="m46">1</td></tr><tr><td id="a14"><a href="com.softeer.backend.fo_domain.comment.domain/index.html" class="el_package">com.softeer.backend.fo_domain.comment.domain</a></td><td class="bar" id="b46"><img src="jacoco-resources/redbar.gif" width="2" height="10" title="14" alt="14"/></td><td class="ctr2" id="c47">0%</td><td class="bar" id="d23"><img src="jacoco-resources/redbar.gif" width="4" height="10" title="2" alt="2"/></td><td class="ctr2" id="e24">0%</td><td class="ctr1" id="f46">2</td><td class="ctr2" id="g46">2</td><td class="ctr1" id="h46">4</td><td class="ctr2" id="i47">4</td><td class="ctr1" id="j50">1</td><td class="ctr2" id="k50">1</td><td class="ctr1" id="l47">1</td><td class="ctr2" id="m47">1</td></tr><tr><td id="a9"><a href="com.softeer.backend.bo_domain.admin.util/index.html" class="el_package">com.softeer.backend.bo_domain.admin.util</a></td><td class="bar" id="b47"><img src="jacoco-resources/redbar.gif" width="1" height="10" title="11" alt="11"/></td><td class="ctr2" id="c48">0%</td><td class="bar" id="d47"/><td class="ctr2" id="e47">n/a</td><td class="ctr1" id="f39">3</td><td class="ctr2" id="g39">3</td><td class="ctr1" id="h48">3</td><td class="ctr2" id="i49">3</td><td class="ctr1" id="j35">3</td><td class="ctr2" id="k35">3</td><td class="ctr1" id="l48">1</td><td class="ctr2" id="m48">1</td></tr><tr><td id="a0"><a href="com.softeer.backend/index.html" class="el_package">com.softeer.backend</a></td><td class="bar" id="b48"><img src="jacoco-resources/redbar.gif" width="1" height="10" title="8" alt="8"/></td><td class="ctr2" id="c49">0%</td><td class="bar" id="d48"/><td class="ctr2" id="e48">n/a</td><td class="ctr1" id="f47">2</td><td class="ctr2" id="g47">2</td><td class="ctr1" id="h49">3</td><td class="ctr2" id="i50">3</td><td class="ctr1" id="j45">2</td><td class="ctr2" id="k45">2</td><td class="ctr1" id="l49">1</td><td class="ctr2" id="m49">1</td></tr><tr><td id="a32"><a href="com.softeer.backend.fo_domain.share.exception/index.html" class="el_package">com.softeer.backend.fo_domain.share.exception</a></td><td class="bar" id="b49"><img src="jacoco-resources/redbar.gif" width="1" height="10" title="8" alt="8"/></td><td class="ctr2" id="c50">0%</td><td class="bar" id="d49"/><td class="ctr2" id="e49">n/a</td><td class="ctr1" id="f48">2</td><td class="ctr2" id="g48">2</td><td class="ctr1" id="h47">4</td><td class="ctr2" id="i48">4</td><td class="ctr1" id="j46">2</td><td class="ctr2" id="k46">2</td><td class="ctr1" id="l19">2</td><td class="ctr2" id="m20">2</td></tr><tr><td id="a45"><a href="com.softeer.backend.global.common.swagger/index.html" class="el_package">com.softeer.backend.global.common.swagger</a></td><td class="bar" id="b50"/><td class="ctr2" id="c51">0%</td><td class="bar" id="d50"/><td class="ctr2" id="e50">n/a</td><td class="ctr1" id="f49">2</td><td class="ctr2" id="g49">2</td><td class="ctr1" id="h50">2</td><td class="ctr2" id="i51">2</td><td class="ctr1" id="j47">2</td><td class="ctr2" id="k47">2</td><td class="ctr1" id="l50">1</td><td class="ctr2" id="m50">1</td></tr><tr><td id="a25"><a href="com.softeer.backend.fo_domain.fcfs.exception/index.html" class="el_package">com.softeer.backend.fo_domain.fcfs.exception</a></td><td class="bar" id="b51"/><td class="ctr2" id="c52">0%</td><td class="bar" id="d51"/><td class="ctr2" id="e51">n/a</td><td class="ctr1" id="f51">1</td><td class="ctr2" id="g51">1</td><td class="ctr1" id="h51">2</td><td class="ctr2" id="i52">2</td><td class="ctr1" id="j51">1</td><td class="ctr2" id="k51">1</td><td class="ctr1" id="l51">1</td><td class="ctr2" id="m51">1</td></tr><tr><td id="a16"><a href="com.softeer.backend.fo_domain.comment.exception/index.html" class="el_package">com.softeer.backend.fo_domain.comment.exception</a></td><td class="bar" id="b52"/><td class="ctr2" id="c53">0%</td><td class="bar" id="d52"/><td class="ctr2" id="e52">n/a</td><td class="ctr1" id="f52">1</td><td class="ctr2" id="g52">1</td><td class="ctr1" id="h52">2</td><td class="ctr2" id="i53">2</td><td class="ctr1" id="j52">1</td><td class="ctr2" id="k52">1</td><td class="ctr1" id="l52">1</td><td class="ctr2" id="m52">1</td></tr><tr><td id="a36"><a href="com.softeer.backend.fo_domain.user.exception/index.html" class="el_package">com.softeer.backend.fo_domain.user.exception</a></td><td class="bar" id="b53"/><td class="ctr2" id="c54">0%</td><td class="bar" id="d53"/><td class="ctr2" id="e53">n/a</td><td class="ctr1" id="f53">1</td><td class="ctr2" id="g53">1</td><td class="ctr1" id="h53">2</td><td class="ctr2" id="i54">2</td><td class="ctr1" id="j53">1</td><td class="ctr2" id="k53">1</td><td class="ctr1" id="l53">1</td><td class="ctr2" id="m53">1</td></tr><tr><td id="a6"><a href="com.softeer.backend.bo_domain.admin.exception/index.html" class="el_package">com.softeer.backend.bo_domain.admin.exception</a></td><td class="bar" id="b54"/><td class="ctr2" id="c55">0%</td><td class="bar" id="d54"/><td class="ctr2" id="e54">n/a</td><td class="ctr1" id="f54">1</td><td class="ctr2" id="g54">1</td><td class="ctr1" id="h54">2</td><td class="ctr2" id="i55">2</td><td class="ctr1" id="j54">1</td><td class="ctr2" id="k54">1</td><td class="ctr1" id="l54">1</td><td class="ctr2" id="m54">1</td></tr><tr><td id="a20"><a href="com.softeer.backend.fo_domain.draw.exception/index.html" class="el_package">com.softeer.backend.fo_domain.draw.exception</a></td><td class="bar" id="b55"/><td class="ctr2" id="c56">0%</td><td class="bar" id="d55"/><td class="ctr2" id="e55">n/a</td><td class="ctr1" id="f55">1</td><td class="ctr2" id="g55">1</td><td class="ctr1" id="h55">2</td><td class="ctr2" id="i56">2</td><td class="ctr1" id="j55">1</td><td class="ctr2" id="k55">1</td><td class="ctr1" id="l55">1</td><td class="ctr2" id="m55">1</td></tr><tr><td id="a31"><a href="com.softeer.backend.fo_domain.share.domain/index.html" class="el_package">com.softeer.backend.fo_domain.share.domain</a></td><td class="bar" id="b56"><img src="jacoco-resources/greenbar.gif" width="2" height="10" title="13" alt="13"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d56"/><td class="ctr2" id="e56">n/a</td><td class="ctr1" id="f56">0</td><td class="ctr2" id="g56">1</td><td class="ctr1" id="h56">0</td><td class="ctr2" id="i45">5</td><td class="ctr1" id="j56">0</td><td class="ctr2" id="k56">1</td><td class="ctr1" id="l56">0</td><td class="ctr2" id="m56">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    diff --git a/jacoco/jacocoHtml/jacoco-resources/branchfc.gif b/jacoco/jacocoHtml/jacoco-resources/branchfc.gif
    deleted file mode 100644
    index 989b46d30469b56b014758f846ee6c5abfda16aa..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 91
    zcmZ?wbhEHb<YM4rIK;xhkjB6;lY!w31H*rY|42abCkrDN13QBb0}z1JGB7JtR5AQc
    j;9zf`qaAf{?!7xKElvq+aTP&4>6=b<*h$V|V6X-NwhSNb
    
    diff --git a/jacoco/jacocoHtml/jacoco-resources/branchnc.gif b/jacoco/jacocoHtml/jacoco-resources/branchnc.gif
    deleted file mode 100644
    index 1933e07c376bb71bdd9aac91cf858da3fcdb0f1c..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 91
    zcmZ?wbhEHb<YM4rIK;xxz`$^Zf#E#^!~cec|42abCkrDN13QBb0}z1JGB7JtR5AQc
    j;9zf`qaAf{?!7xKElvq+aTP&4>6=b<*h$V|V6X-N9U38B
    
    diff --git a/jacoco/jacocoHtml/jacoco-resources/branchpc.gif b/jacoco/jacocoHtml/jacoco-resources/branchpc.gif
    deleted file mode 100644
    index cbf711b7030929b733f22f7a0cf3dbf61fe7868f..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 91
    zcmZ?wbhEHb<YM4rIK;v*A(Y{H7sIRF44*zR{6_+cKUo;L7}yzf7=QqzmVsHJqKe^n
    j0tb8h9POxsbMM_@X>m$mi>nCYN#As;!%lJz1A{dHmlPuc
    
    diff --git a/jacoco/jacocoHtml/jacoco-resources/bundle.gif b/jacoco/jacocoHtml/jacoco-resources/bundle.gif
    deleted file mode 100644
    index fca9c53e629a7a5c07186ac1e2a1e37d8d6e88f4..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 709
    zcmZ?wbhEHb6krfwxXQrrpW*-7BK;<J$sad5=B26sxKQ!q!Hgdl8q(~HUL2e9<Hd#-
    z7dn1?IPw4g|HIv8zrOAI@nFG^8xwkB-G027acOnKpKtdcpWnHq-sr)BinT@BA8t%o
    znxj(b?=UZ3c5RMIe~{#!dZYLEkL_tSI^1f;Km(xolZ6pvtPY3(`H6w8*rB1oLr1Fr
    zgz}>o8CDEUD?$vun5^UNelT%D!ODh<DT^W#oSIlz7qWFr6j-<`INnfgQuR3aJbW7`
    zN4%4`K$`$#XID3aq+mZI+oZ{pxEUFwnVA`9&7C{VNtTt7ed)5L3!LN`S=X*xyV99u
    u^Omii+jqD*GFUt3=ar=9mFR|47NlA!WacKOr|PF?rg3q(j|Mjlf*SzSChrLV
    
    diff --git a/jacoco/jacocoHtml/jacoco-resources/class.gif b/jacoco/jacocoHtml/jacoco-resources/class.gif
    deleted file mode 100644
    index eb348fb0d498d75976150047b1b5c2fefc9dc220..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 586
    zcmZ?wbhEHb6krfwI2Or}v!c<s$=9se-=Q<YsXNN8KQ3fOR@Cf*m^p=Yn<q4Gopkom
    z6_qkOy&5;;MsLfufQUJ{vGWR(7nLtMxlXsnMX%OXzt+v54k+vCJt@I!LR|T}_8Twn
    z8a23^wRl;#``dR0_3fQy*Wqv15n$II;MN!J-X9S(Eh&3>RsX(Ohwq+z^!{nkw1lu(
    zDPc2HV&`P7KEHX-jYA>R6T@ewM9fTyo0E0x)!k<wUj$8y`}qA+!h+12O)Zt{8e4bt
    z^z51Z;rqwPnTZ)o@)H-NC(KKmcWmLES9jAFW#uj_C|_66u(_dnV^!t4^7b9Ajhky9
    zzJD-rU(e=C8}{7Xx$oBQ`NwB1I6iy#jqQi->_2wz@P-Sk{|^LE{K>+|z);Vi!vF-J
    zIALI4-caAv+|t_C-oY&>$uA|y-ND80=rPrik*keM);A(7JS@bMXJ#`uzjsjN>eYc>
    zj1!vJoq|_~`Ugb%`8WwRvs$=Bx;h_qcXM-KZDthLjMNep5fPP;Q{vk%FCD3^prRsd
    zAfR@-Nl4k$GSW~(G16XNhoM=9$H>NPjk%o(&&DPp6ODz*?)|b>X&fF28jY>Ox-nZU
    Y5*r^bWMyL$kZ52~Skzz7#K>R`0G8r7i~s-t
    
    diff --git a/jacoco/jacocoHtml/jacoco-resources/down.gif b/jacoco/jacocoHtml/jacoco-resources/down.gif
    deleted file mode 100644
    index 440a14db74e76c2b6e854eacac1c44414b166271..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 67
    zcmZ?wbhEHb<YC}qSjfcSX{EDa!-oH0p!k!8k&A(eL5G2Xk%5PSlYxOrWJ>Z%p}jXB
    Ub$^Lu-Ncq(ygK&ScM%3_0Po}%Qvd(}
    
    diff --git a/jacoco/jacocoHtml/jacoco-resources/greenbar.gif b/jacoco/jacocoHtml/jacoco-resources/greenbar.gif
    deleted file mode 100644
    index 0ba65672530ee09f086821a26156836d0c91bd74..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 91
    zcmZ?wbhEHbWMtrCc+ADXzmZ>do2<@m9j_x^v8Q5duh#b5>RIq$!Lmoo);w9mu$BQ0
    eDgI<(1nOeYVE_V<84N5O20cYWMlKB;4AuaIXBwOU
    
    diff --git a/jacoco/jacocoHtml/jacoco-resources/group.gif b/jacoco/jacocoHtml/jacoco-resources/group.gif
    deleted file mode 100644
    index a4ea580d278fb727e4ae692838877fa63c4becf9..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 351
    zcmZ?wbhEHb6krfwxXQpVwXtJrV`pb|Z&Bgo_>{Q`Df1G5Wa`}H^qKLgbHn221;#86
    zie2Oyy23SVg;&(l)`=%9{nuIstg#PSrQx<&&vS#m*G7G>4W@o;CvAN*Y1^AgTVGGw
    z_ImEoPjiobns@ZmyknnMUi-Q7>W`Jzer$aB_t(pL-|kQQ|MAfO*PGv5?Ee3B$^ToO
    z|A8VGOaEW3eSEO?=BC06Ybq|Tt-P?N@;?|b;0205Sr{1@Oc``Qsz82XV5>PWtH47?
    zs^4Q~P@BxTjDV;&5*!R(s==>VnJe}-&SEIintfiq!@<H~=ly~!2^|49-&cqxtw`7?
    z#Ky|j%)-vX)?mu7-NU2OKVbs5sj!|NpR$sovf|v?yiO9jg7Wfm3i1lF3JOBbqGFPg
    YGSX7gGMmL+MfU97=X>Cwn<IlY03tk+6951J
    
    diff --git a/jacoco/jacocoHtml/jacoco-resources/method.gif b/jacoco/jacocoHtml/jacoco-resources/method.gif
    deleted file mode 100644
    index 7d24707ee82f54aa9fb10d1d9050013cbf161a7a..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 193
    zcmV;y06zamNk%w1VGsZi0K@<Q1As^cfk_>VRxXubL!4|)qjO}gg>klxZ?TGXw~#-V
    zU_Y2&N}FX?r*L1YbYiM-aj|xBv2}#Mgo3?-guaA=wSS1Yfrz+)iMWB7#*ml2h^x<;
    ztIwFU(w+bR{{R30A^8LW0015UEC2ui01yBW000F(peK%GX`X1Rt}L1aL$Vf5mpMgx
    vG+WO#2NYmJDM}^)l;8n@L?90V%CN9pFcyU&MPO(u48jTlL$uClRtNw)MiWcq
    
    diff --git a/jacoco/jacocoHtml/jacoco-resources/package.gif b/jacoco/jacocoHtml/jacoco-resources/package.gif
    deleted file mode 100644
    index 131c28da405493661e3253ef79a68bd273039295..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 227
    zcmZ?wbhEHb6krfwIKsg2^W*Nf7neOfxp04z;n8NJ+xzDotkS){bH@Hst%K#-*LO_c
    zo~yCDQ0v_4?v)A3lSAd#C95utQCbkGxF}NT_=2WF8}WGs5taT9|NsAIzy=h5vM@3*
    zNHFMtBtdpEuqG&|^`&Ia(}-MpBVo@mW@+b{B25<}cFdc?!Kkoc14n0vkh1`XOwU>7
    z#al8o_@;D=?hdfkdC)D9Q@O@%Lfqp;ZBt~9C*29`GMF2XzQp8akWQVjDvMC75PzEx
    Mi%z;upCW@b03m@=3jhEB
    
    diff --git a/jacoco/jacocoHtml/jacoco-resources/prettify.css b/jacoco/jacocoHtml/jacoco-resources/prettify.css
    deleted file mode 100644
    index be5166e0..00000000
    --- a/jacoco/jacocoHtml/jacoco-resources/prettify.css
    +++ /dev/null
    @@ -1,13 +0,0 @@
    -/* Pretty printing styles. Used with prettify.js. */
    -
    -.str { color: #2A00FF; }
    -.kwd { color: #7F0055; font-weight:bold; }
    -.com { color: #3F5FBF; }
    -.typ { color: #606; }
    -.lit { color: #066; }
    -.pun { color: #660; }
    -.pln { color: #000; }
    -.tag { color: #008; }
    -.atn { color: #606; }
    -.atv { color: #080; }
    -.dec { color: #606; }
    diff --git a/jacoco/jacocoHtml/jacoco-resources/prettify.js b/jacoco/jacocoHtml/jacoco-resources/prettify.js
    deleted file mode 100644
    index b2766fe0..00000000
    --- a/jacoco/jacocoHtml/jacoco-resources/prettify.js
    +++ /dev/null
    @@ -1,1510 +0,0 @@
    -// Copyright (C) 2006 Google Inc.
    -//
    -// Licensed under the Apache License, Version 2.0 (the "License");
    -// you may not use this file except in compliance with the License.
    -// You may obtain a copy of the License at
    -//
    -//      http://www.apache.org/licenses/LICENSE-2.0
    -//
    -// Unless required by applicable law or agreed to in writing, software
    -// distributed under the License is distributed on an "AS IS" BASIS,
    -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    -// See the License for the specific language governing permissions and
    -// limitations under the License.
    -
    -
    -/**
    - * @fileoverview
    - * some functions for browser-side pretty printing of code contained in html.
    - * <p>
    - *
    - * For a fairly comprehensive set of languages see the
    - * <a href="http://google-code-prettify.googlecode.com/svn/trunk/README.html#langs">README</a>
    - * file that came with this source.  At a minimum, the lexer should work on a
    - * number of languages including C and friends, Java, Python, Bash, SQL, HTML,
    - * XML, CSS, Javascript, and Makefiles.  It works passably on Ruby, PHP and Awk
    - * and a subset of Perl, but, because of commenting conventions, doesn't work on
    - * Smalltalk, Lisp-like, or CAML-like languages without an explicit lang class.
    - * <p>
    - * Usage: <ol>
    - * <li> include this source file in an html page via
    - *   {@code <script type="text/javascript" src="/path/to/prettify.js"></script>}
    - * <li> define style rules.  See the example page for examples.
    - * <li> mark the {@code <pre>} and {@code <code>} tags in your source with
    - *    {@code class=prettyprint.}
    - *    You can also use the (html deprecated) {@code <xmp>} tag, but the pretty
    - *    printer needs to do more substantial DOM manipulations to support that, so
    - *    some css styles may not be preserved.
    - * </ol>
    - * That's it.  I wanted to keep the API as simple as possible, so there's no
    - * need to specify which language the code is in, but if you wish, you can add
    - * another class to the {@code <pre>} or {@code <code>} element to specify the
    - * language, as in {@code <pre class="prettyprint lang-java">}.  Any class that
    - * starts with "lang-" followed by a file extension, specifies the file type.
    - * See the "lang-*.js" files in this directory for code that implements
    - * per-language file handlers.
    - * <p>
    - * Change log:<br>
    - * cbeust, 2006/08/22
    - * <blockquote>
    - *   Java annotations (start with "@") are now captured as literals ("lit")
    - * </blockquote>
    - * @requires console
    - */
    -
    -// JSLint declarations
    -/*global console, document, navigator, setTimeout, window */
    -
    -/**
    - * Split {@code prettyPrint} into multiple timeouts so as not to interfere with
    - * UI events.
    - * If set to {@code false}, {@code prettyPrint()} is synchronous.
    - */
    -window['PR_SHOULD_USE_CONTINUATION'] = true;
    -
    -/** the number of characters between tab columns */
    -window['PR_TAB_WIDTH'] = 8;
    -
    -/** Walks the DOM returning a properly escaped version of innerHTML.
    -  * @param {Node} node
    -  * @param {Array.<string>} out output buffer that receives chunks of HTML.
    -  */
    -window['PR_normalizedHtml']
    -
    -/** Contains functions for creating and registering new language handlers.
    -  * @type {Object}
    -  */
    -  = window['PR']
    -
    -/** Pretty print a chunk of code.
    -  *
    -  * @param {string} sourceCodeHtml code as html
    -  * @return {string} code as html, but prettier
    -  */
    -  = window['prettyPrintOne']
    -/** Find all the {@code <pre>} and {@code <code>} tags in the DOM with
    -  * {@code class=prettyprint} and prettify them.
    -  * @param {Function?} opt_whenDone if specified, called when the last entry
    -  *     has been finished.
    -  */
    -  = window['prettyPrint'] = void 0;
    -
    -/** browser detection. @extern @returns false if not IE, otherwise the major version. */
    -window['_pr_isIE6'] = function () {
    -  var ieVersion = navigator && navigator.userAgent &&
    -      navigator.userAgent.match(/\bMSIE ([678])\./);
    -  ieVersion = ieVersion ? +ieVersion[1] : false;
    -  window['_pr_isIE6'] = function () { return ieVersion; };
    -  return ieVersion;
    -};
    -
    -
    -(function () {
    -  // Keyword lists for various languages.
    -  var FLOW_CONTROL_KEYWORDS =
    -      "break continue do else for if return while ";
    -  var C_KEYWORDS = FLOW_CONTROL_KEYWORDS + "auto case char const default " +
    -      "double enum extern float goto int long register short signed sizeof " +
    -      "static struct switch typedef union unsigned void volatile ";
    -  var COMMON_KEYWORDS = C_KEYWORDS + "catch class delete false import " +
    -      "new operator private protected public this throw true try typeof ";
    -  var CPP_KEYWORDS = COMMON_KEYWORDS + "alignof align_union asm axiom bool " +
    -      "concept concept_map const_cast constexpr decltype " +
    -      "dynamic_cast explicit export friend inline late_check " +
    -      "mutable namespace nullptr reinterpret_cast static_assert static_cast " +
    -      "template typeid typename using virtual wchar_t where ";
    -  var JAVA_KEYWORDS = COMMON_KEYWORDS +
    -      "abstract boolean byte extends final finally implements import " +
    -      "instanceof null native package strictfp super synchronized throws " +
    -      "transient ";
    -  var CSHARP_KEYWORDS = JAVA_KEYWORDS +
    -      "as base by checked decimal delegate descending event " +
    -      "fixed foreach from group implicit in interface internal into is lock " +
    -      "object out override orderby params partial readonly ref sbyte sealed " +
    -      "stackalloc string select uint ulong unchecked unsafe ushort var ";
    -  var JSCRIPT_KEYWORDS = COMMON_KEYWORDS +
    -      "debugger eval export function get null set undefined var with " +
    -      "Infinity NaN ";
    -  var PERL_KEYWORDS = "caller delete die do dump elsif eval exit foreach for " +
    -      "goto if import last local my next no our print package redo require " +
    -      "sub undef unless until use wantarray while BEGIN END ";
    -  var PYTHON_KEYWORDS = FLOW_CONTROL_KEYWORDS + "and as assert class def del " +
    -      "elif except exec finally from global import in is lambda " +
    -      "nonlocal not or pass print raise try with yield " +
    -      "False True None ";
    -  var RUBY_KEYWORDS = FLOW_CONTROL_KEYWORDS + "alias and begin case class def" +
    -      " defined elsif end ensure false in module next nil not or redo rescue " +
    -      "retry self super then true undef unless until when yield BEGIN END ";
    -  var SH_KEYWORDS = FLOW_CONTROL_KEYWORDS + "case done elif esac eval fi " +
    -      "function in local set then until ";
    -  var ALL_KEYWORDS = (
    -      CPP_KEYWORDS + CSHARP_KEYWORDS + JSCRIPT_KEYWORDS + PERL_KEYWORDS +
    -      PYTHON_KEYWORDS + RUBY_KEYWORDS + SH_KEYWORDS);
    -
    -  // token style names.  correspond to css classes
    -  /** token style for a string literal */
    -  var PR_STRING = 'str';
    -  /** token style for a keyword */
    -  var PR_KEYWORD = 'kwd';
    -  /** token style for a comment */
    -  var PR_COMMENT = 'com';
    -  /** token style for a type */
    -  var PR_TYPE = 'typ';
    -  /** token style for a literal value.  e.g. 1, null, true. */
    -  var PR_LITERAL = 'lit';
    -  /** token style for a punctuation string. */
    -  var PR_PUNCTUATION = 'pun';
    -  /** token style for a punctuation string. */
    -  var PR_PLAIN = 'pln';
    -
    -  /** token style for an sgml tag. */
    -  var PR_TAG = 'tag';
    -  /** token style for a markup declaration such as a DOCTYPE. */
    -  var PR_DECLARATION = 'dec';
    -  /** token style for embedded source. */
    -  var PR_SOURCE = 'src';
    -  /** token style for an sgml attribute name. */
    -  var PR_ATTRIB_NAME = 'atn';
    -  /** token style for an sgml attribute value. */
    -  var PR_ATTRIB_VALUE = 'atv';
    -
    -  /**
    -   * A class that indicates a section of markup that is not code, e.g. to allow
    -   * embedding of line numbers within code listings.
    -   */
    -  var PR_NOCODE = 'nocode';
    -
    -  /** A set of tokens that can precede a regular expression literal in
    -    * javascript.
    -    * http://www.mozilla.org/js/language/js20/rationale/syntax.html has the full
    -    * list, but I've removed ones that might be problematic when seen in
    -    * languages that don't support regular expression literals.
    -    *
    -    * <p>Specifically, I've removed any keywords that can't precede a regexp
    -    * literal in a syntactically legal javascript program, and I've removed the
    -    * "in" keyword since it's not a keyword in many languages, and might be used
    -    * as a count of inches.
    -    *
    -    * <p>The link a above does not accurately describe EcmaScript rules since
    -    * it fails to distinguish between (a=++/b/i) and (a++/b/i) but it works
    -    * very well in practice.
    -    *
    -    * @private
    -    */
    -  var REGEXP_PRECEDER_PATTERN = function () {
    -      var preceders = [
    -          "!", "!=", "!==", "#", "%", "%=", "&", "&&", "&&=",
    -          "&=", "(", "*", "*=", /* "+", */ "+=", ",", /* "-", */ "-=",
    -          "->", /*".", "..", "...", handled below */ "/", "/=", ":", "::", ";",
    -          "<", "<<", "<<=", "<=", "=", "==", "===", ">",
    -          ">=", ">>", ">>=", ">>>", ">>>=", "?", "@", "[",
    -          "^", "^=", "^^", "^^=", "{", "|", "|=", "||",
    -          "||=", "~" /* handles =~ and !~ */,
    -          "break", "case", "continue", "delete",
    -          "do", "else", "finally", "instanceof",
    -          "return", "throw", "try", "typeof"
    -          ];
    -      var pattern = '(?:^^|[+-]';
    -      for (var i = 0; i < preceders.length; ++i) {
    -        pattern += '|' + preceders[i].replace(/([^=<>:&a-z])/g, '\\$1');
    -      }
    -      pattern += ')\\s*';  // matches at end, and matches empty string
    -      return pattern;
    -      // CAVEAT: this does not properly handle the case where a regular
    -      // expression immediately follows another since a regular expression may
    -      // have flags for case-sensitivity and the like.  Having regexp tokens
    -      // adjacent is not valid in any language I'm aware of, so I'm punting.
    -      // TODO: maybe style special characters inside a regexp as punctuation.
    -    }();
    -
    -  // Define regexps here so that the interpreter doesn't have to create an
    -  // object each time the function containing them is called.
    -  // The language spec requires a new object created even if you don't access
    -  // the $1 members.
    -  var pr_amp = /&/g;
    -  var pr_lt = /</g;
    -  var pr_gt = />/g;
    -  var pr_quot = /\"/g;
    -  /** like textToHtml but escapes double quotes to be attribute safe. */
    -  function attribToHtml(str) {
    -    return str.replace(pr_amp, '&amp;')
    -        .replace(pr_lt, '&lt;')
    -        .replace(pr_gt, '&gt;')
    -        .replace(pr_quot, '&quot;');
    -  }
    -
    -  /** escapest html special characters to html. */
    -  function textToHtml(str) {
    -    return str.replace(pr_amp, '&amp;')
    -        .replace(pr_lt, '&lt;')
    -        .replace(pr_gt, '&gt;');
    -  }
    -
    -
    -  var pr_ltEnt = /&lt;/g;
    -  var pr_gtEnt = /&gt;/g;
    -  var pr_aposEnt = /&apos;/g;
    -  var pr_quotEnt = /&quot;/g;
    -  var pr_ampEnt = /&amp;/g;
    -  var pr_nbspEnt = /&nbsp;/g;
    -  /** unescapes html to plain text. */
    -  function htmlToText(html) {
    -    var pos = html.indexOf('&');
    -    if (pos < 0) { return html; }
    -    // Handle numeric entities specially.  We can't use functional substitution
    -    // since that doesn't work in older versions of Safari.
    -    // These should be rare since most browsers convert them to normal chars.
    -    for (--pos; (pos = html.indexOf('&#', pos + 1)) >= 0;) {
    -      var end = html.indexOf(';', pos);
    -      if (end >= 0) {
    -        var num = html.substring(pos + 3, end);
    -        var radix = 10;
    -        if (num && num.charAt(0) === 'x') {
    -          num = num.substring(1);
    -          radix = 16;
    -        }
    -        var codePoint = parseInt(num, radix);
    -        if (!isNaN(codePoint)) {
    -          html = (html.substring(0, pos) + String.fromCharCode(codePoint) +
    -                  html.substring(end + 1));
    -        }
    -      }
    -    }
    -
    -    return html.replace(pr_ltEnt, '<')
    -        .replace(pr_gtEnt, '>')
    -        .replace(pr_aposEnt, "'")
    -        .replace(pr_quotEnt, '"')
    -        .replace(pr_nbspEnt, ' ')
    -        .replace(pr_ampEnt, '&');
    -  }
    -
    -  /** is the given node's innerHTML normally unescaped? */
    -  function isRawContent(node) {
    -    return 'XMP' === node.tagName;
    -  }
    -
    -  var newlineRe = /[\r\n]/g;
    -  /**
    -   * Are newlines and adjacent spaces significant in the given node's innerHTML?
    -   */
    -  function isPreformatted(node, content) {
    -    // PRE means preformatted, and is a very common case, so don't create
    -    // unnecessary computed style objects.
    -    if ('PRE' === node.tagName) { return true; }
    -    if (!newlineRe.test(content)) { return true; }  // Don't care
    -    var whitespace = '';
    -    // For disconnected nodes, IE has no currentStyle.
    -    if (node.currentStyle) {
    -      whitespace = node.currentStyle.whiteSpace;
    -    } else if (window.getComputedStyle) {
    -      // Firefox makes a best guess if node is disconnected whereas Safari
    -      // returns the empty string.
    -      whitespace = window.getComputedStyle(node, null).whiteSpace;
    -    }
    -    return !whitespace || whitespace === 'pre';
    -  }
    -
    -  function normalizedHtml(node, out, opt_sortAttrs) {
    -    switch (node.nodeType) {
    -      case 1:  // an element
    -        var name = node.tagName.toLowerCase();
    -
    -        out.push('<', name);
    -        var attrs = node.attributes;
    -        var n = attrs.length;
    -        if (n) {
    -          if (opt_sortAttrs) {
    -            var sortedAttrs = [];
    -            for (var i = n; --i >= 0;) { sortedAttrs[i] = attrs[i]; }
    -            sortedAttrs.sort(function (a, b) {
    -                return (a.name < b.name) ? -1 : a.name === b.name ? 0 : 1;
    -              });
    -            attrs = sortedAttrs;
    -          }
    -          for (var i = 0; i < n; ++i) {
    -            var attr = attrs[i];
    -            if (!attr.specified) { continue; }
    -            out.push(' ', attr.name.toLowerCase(),
    -                     '="', attribToHtml(attr.value), '"');
    -          }
    -        }
    -        out.push('>');
    -        for (var child = node.firstChild; child; child = child.nextSibling) {
    -          normalizedHtml(child, out, opt_sortAttrs);
    -        }
    -        if (node.firstChild || !/^(?:br|link|img)$/.test(name)) {
    -          out.push('<\/', name, '>');
    -        }
    -        break;
    -      case 3: case 4: // text
    -        out.push(textToHtml(node.nodeValue));
    -        break;
    -    }
    -  }
    -
    -  /**
    -   * Given a group of {@link RegExp}s, returns a {@code RegExp} that globally
    -   * matches the union o the sets o strings matched d by the input RegExp.
    -   * Since it matches globally, if the input strings have a start-of-input
    -   * anchor (/^.../), it is ignored for the purposes of unioning.
    -   * @param {Array.<RegExp>} regexs non multiline, non-global regexs.
    -   * @return {RegExp} a global regex.
    -   */
    -  function combinePrefixPatterns(regexs) {
    -    var capturedGroupIndex = 0;
    -
    -    var needToFoldCase = false;
    -    var ignoreCase = false;
    -    for (var i = 0, n = regexs.length; i < n; ++i) {
    -      var regex = regexs[i];
    -      if (regex.ignoreCase) {
    -        ignoreCase = true;
    -      } else if (/[a-z]/i.test(regex.source.replace(
    -                     /\\u[0-9a-f]{4}|\\x[0-9a-f]{2}|\\[^ux]/gi, ''))) {
    -        needToFoldCase = true;
    -        ignoreCase = false;
    -        break;
    -      }
    -    }
    -
    -    function decodeEscape(charsetPart) {
    -      if (charsetPart.charAt(0) !== '\\') { return charsetPart.charCodeAt(0); }
    -      switch (charsetPart.charAt(1)) {
    -        case 'b': return 8;
    -        case 't': return 9;
    -        case 'n': return 0xa;
    -        case 'v': return 0xb;
    -        case 'f': return 0xc;
    -        case 'r': return 0xd;
    -        case 'u': case 'x':
    -          return parseInt(charsetPart.substring(2), 16)
    -              || charsetPart.charCodeAt(1);
    -        case '0': case '1': case '2': case '3': case '4':
    -        case '5': case '6': case '7':
    -          return parseInt(charsetPart.substring(1), 8);
    -        default: return charsetPart.charCodeAt(1);
    -      }
    -    }
    -
    -    function encodeEscape(charCode) {
    -      if (charCode < 0x20) {
    -        return (charCode < 0x10 ? '\\x0' : '\\x') + charCode.toString(16);
    -      }
    -      var ch = String.fromCharCode(charCode);
    -      if (ch === '\\' || ch === '-' || ch === '[' || ch === ']') {
    -        ch = '\\' + ch;
    -      }
    -      return ch;
    -    }
    -
    -    function caseFoldCharset(charSet) {
    -      var charsetParts = charSet.substring(1, charSet.length - 1).match(
    -          new RegExp(
    -              '\\\\u[0-9A-Fa-f]{4}'
    -              + '|\\\\x[0-9A-Fa-f]{2}'
    -              + '|\\\\[0-3][0-7]{0,2}'
    -              + '|\\\\[0-7]{1,2}'
    -              + '|\\\\[\\s\\S]'
    -              + '|-'
    -              + '|[^-\\\\]',
    -              'g'));
    -      var groups = [];
    -      var ranges = [];
    -      var inverse = charsetParts[0] === '^';
    -      for (var i = inverse ? 1 : 0, n = charsetParts.length; i < n; ++i) {
    -        var p = charsetParts[i];
    -        switch (p) {
    -          case '\\B': case '\\b':
    -          case '\\D': case '\\d':
    -          case '\\S': case '\\s':
    -          case '\\W': case '\\w':
    -            groups.push(p);
    -            continue;
    -        }
    -        var start = decodeEscape(p);
    -        var end;
    -        if (i + 2 < n && '-' === charsetParts[i + 1]) {
    -          end = decodeEscape(charsetParts[i + 2]);
    -          i += 2;
    -        } else {
    -          end = start;
    -        }
    -        ranges.push([start, end]);
    -        // If the range might intersect letters, then expand it.
    -        if (!(end < 65 || start > 122)) {
    -          if (!(end < 65 || start > 90)) {
    -            ranges.push([Math.max(65, start) | 32, Math.min(end, 90) | 32]);
    -          }
    -          if (!(end < 97 || start > 122)) {
    -            ranges.push([Math.max(97, start) & ~32, Math.min(end, 122) & ~32]);
    -          }
    -        }
    -      }
    -
    -      // [[1, 10], [3, 4], [8, 12], [14, 14], [16, 16], [17, 17]]
    -      // -> [[1, 12], [14, 14], [16, 17]]
    -      ranges.sort(function (a, b) { return (a[0] - b[0]) || (b[1]  - a[1]); });
    -      var consolidatedRanges = [];
    -      var lastRange = [NaN, NaN];
    -      for (var i = 0; i < ranges.length; ++i) {
    -        var range = ranges[i];
    -        if (range[0] <= lastRange[1] + 1) {
    -          lastRange[1] = Math.max(lastRange[1], range[1]);
    -        } else {
    -          consolidatedRanges.push(lastRange = range);
    -        }
    -      }
    -
    -      var out = ['['];
    -      if (inverse) { out.push('^'); }
    -      out.push.apply(out, groups);
    -      for (var i = 0; i < consolidatedRanges.length; ++i) {
    -        var range = consolidatedRanges[i];
    -        out.push(encodeEscape(range[0]));
    -        if (range[1] > range[0]) {
    -          if (range[1] + 1 > range[0]) { out.push('-'); }
    -          out.push(encodeEscape(range[1]));
    -        }
    -      }
    -      out.push(']');
    -      return out.join('');
    -    }
    -
    -    function allowAnywhereFoldCaseAndRenumberGroups(regex) {
    -      // Split into character sets, escape sequences, punctuation strings
    -      // like ('(', '(?:', ')', '^'), and runs of characters that do not
    -      // include any of the above.
    -      var parts = regex.source.match(
    -          new RegExp(
    -              '(?:'
    -              + '\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]'  // a character set
    -              + '|\\\\u[A-Fa-f0-9]{4}'  // a unicode escape
    -              + '|\\\\x[A-Fa-f0-9]{2}'  // a hex escape
    -              + '|\\\\[0-9]+'  // a back-reference or octal escape
    -              + '|\\\\[^ux0-9]'  // other escape sequence
    -              + '|\\(\\?[:!=]'  // start of a non-capturing group
    -              + '|[\\(\\)\\^]'  // start/emd of a group, or line start
    -              + '|[^\\x5B\\x5C\\(\\)\\^]+'  // run of other characters
    -              + ')',
    -              'g'));
    -      var n = parts.length;
    -
    -      // Maps captured group numbers to the number they will occupy in
    -      // the output or to -1 if that has not been determined, or to
    -      // undefined if they need not be capturing in the output.
    -      var capturedGroups = [];
    -
    -      // Walk over and identify back references to build the capturedGroups
    -      // mapping.
    -      for (var i = 0, groupIndex = 0; i < n; ++i) {
    -        var p = parts[i];
    -        if (p === '(') {
    -          // groups are 1-indexed, so max group index is count of '('
    -          ++groupIndex;
    -        } else if ('\\' === p.charAt(0)) {
    -          var decimalValue = +p.substring(1);
    -          if (decimalValue && decimalValue <= groupIndex) {
    -            capturedGroups[decimalValue] = -1;
    -          }
    -        }
    -      }
    -
    -      // Renumber groups and reduce capturing groups to non-capturing groups
    -      // where possible.
    -      for (var i = 1; i < capturedGroups.length; ++i) {
    -        if (-1 === capturedGroups[i]) {
    -          capturedGroups[i] = ++capturedGroupIndex;
    -        }
    -      }
    -      for (var i = 0, groupIndex = 0; i < n; ++i) {
    -        var p = parts[i];
    -        if (p === '(') {
    -          ++groupIndex;
    -          if (capturedGroups[groupIndex] === undefined) {
    -            parts[i] = '(?:';
    -          }
    -        } else if ('\\' === p.charAt(0)) {
    -          var decimalValue = +p.substring(1);
    -          if (decimalValue && decimalValue <= groupIndex) {
    -            parts[i] = '\\' + capturedGroups[groupIndex];
    -          }
    -        }
    -      }
    -
    -      // Remove any prefix anchors so that the output will match anywhere.
    -      // ^^ really does mean an anchored match though.
    -      for (var i = 0, groupIndex = 0; i < n; ++i) {
    -        if ('^' === parts[i] && '^' !== parts[i + 1]) { parts[i] = ''; }
    -      }
    -
    -      // Expand letters to groupts to handle mixing of case-sensitive and
    -      // case-insensitive patterns if necessary.
    -      if (regex.ignoreCase && needToFoldCase) {
    -        for (var i = 0; i < n; ++i) {
    -          var p = parts[i];
    -          var ch0 = p.charAt(0);
    -          if (p.length >= 2 && ch0 === '[') {
    -            parts[i] = caseFoldCharset(p);
    -          } else if (ch0 !== '\\') {
    -            // TODO: handle letters in numeric escapes.
    -            parts[i] = p.replace(
    -                /[a-zA-Z]/g,
    -                function (ch) {
    -                  var cc = ch.charCodeAt(0);
    -                  return '[' + String.fromCharCode(cc & ~32, cc | 32) + ']';
    -                });
    -          }
    -        }
    -      }
    -
    -      return parts.join('');
    -    }
    -
    -    var rewritten = [];
    -    for (var i = 0, n = regexs.length; i < n; ++i) {
    -      var regex = regexs[i];
    -      if (regex.global || regex.multiline) { throw new Error('' + regex); }
    -      rewritten.push(
    -          '(?:' + allowAnywhereFoldCaseAndRenumberGroups(regex) + ')');
    -    }
    -
    -    return new RegExp(rewritten.join('|'), ignoreCase ? 'gi' : 'g');
    -  }
    -
    -  var PR_innerHtmlWorks = null;
    -  function getInnerHtml(node) {
    -    // inner html is hopelessly broken in Safari 2.0.4 when the content is
    -    // an html description of well formed XML and the containing tag is a PRE
    -    // tag, so we detect that case and emulate innerHTML.
    -    if (null === PR_innerHtmlWorks) {
    -      var testNode = document.createElement('PRE');
    -      testNode.appendChild(
    -          document.createTextNode('<!DOCTYPE foo PUBLIC "foo bar">\n<foo />'));
    -      PR_innerHtmlWorks = !/</.test(testNode.innerHTML);
    -    }
    -
    -    if (PR_innerHtmlWorks) {
    -      var content = node.innerHTML;
    -      // XMP tags contain unescaped entities so require special handling.
    -      if (isRawContent(node)) {
    -        content = textToHtml(content);
    -      } else if (!isPreformatted(node, content)) {
    -        content = content.replace(/(<br\s*\/?>)[\r\n]+/g, '$1')
    -            .replace(/(?:[\r\n]+[ \t]*)+/g, ' ');
    -      }
    -      return content;
    -    }
    -
    -    var out = [];
    -    for (var child = node.firstChild; child; child = child.nextSibling) {
    -      normalizedHtml(child, out);
    -    }
    -    return out.join('');
    -  }
    -
    -  /** returns a function that expand tabs to spaces.  This function can be fed
    -    * successive chunks of text, and will maintain its own internal state to
    -    * keep track of how tabs are expanded.
    -    * @return {function (string) : string} a function that takes
    -    *   plain text and return the text with tabs expanded.
    -    * @private
    -    */
    -  function makeTabExpander(tabWidth) {
    -    var SPACES = '                ';
    -    var charInLine = 0;
    -
    -    return function (plainText) {
    -      // walk over each character looking for tabs and newlines.
    -      // On tabs, expand them.  On newlines, reset charInLine.
    -      // Otherwise increment charInLine
    -      var out = null;
    -      var pos = 0;
    -      for (var i = 0, n = plainText.length; i < n; ++i) {
    -        var ch = plainText.charAt(i);
    -
    -        switch (ch) {
    -          case '\t':
    -            if (!out) { out = []; }
    -            out.push(plainText.substring(pos, i));
    -            // calculate how much space we need in front of this part
    -            // nSpaces is the amount of padding -- the number of spaces needed
    -            // to move us to the next column, where columns occur at factors of
    -            // tabWidth.
    -            var nSpaces = tabWidth - (charInLine % tabWidth);
    -            charInLine += nSpaces;
    -            for (; nSpaces >= 0; nSpaces -= SPACES.length) {
    -              out.push(SPACES.substring(0, nSpaces));
    -            }
    -            pos = i + 1;
    -            break;
    -          case '\n':
    -            charInLine = 0;
    -            break;
    -          default:
    -            ++charInLine;
    -        }
    -      }
    -      if (!out) { return plainText; }
    -      out.push(plainText.substring(pos));
    -      return out.join('');
    -    };
    -  }
    -
    -  var pr_chunkPattern = new RegExp(
    -      '[^<]+'  // A run of characters other than '<'
    -      + '|<\!--[\\s\\S]*?--\>'  // an HTML comment
    -      + '|<!\\[CDATA\\[[\\s\\S]*?\\]\\]>'  // a CDATA section
    -      // a probable tag that should not be highlighted
    -      + '|<\/?[a-zA-Z](?:[^>\"\']|\'[^\']*\'|\"[^\"]*\")*>'
    -      + '|<',  // A '<' that does not begin a larger chunk
    -      'g');
    -  var pr_commentPrefix = /^<\!--/;
    -  var pr_cdataPrefix = /^<!\[CDATA\[/;
    -  var pr_brPrefix = /^<br\b/i;
    -  var pr_tagNameRe = /^<(\/?)([a-zA-Z][a-zA-Z0-9]*)/;
    -
    -  /** split markup into chunks of html tags (style null) and
    -    * plain text (style {@link #PR_PLAIN}), converting tags which are
    -    * significant for tokenization (<br>) into their textual equivalent.
    -    *
    -    * @param {string} s html where whitespace is considered significant.
    -    * @return {Object} source code and extracted tags.
    -    * @private
    -    */
    -  function extractTags(s) {
    -    // since the pattern has the 'g' modifier and defines no capturing groups,
    -    // this will return a list of all chunks which we then classify and wrap as
    -    // PR_Tokens
    -    var matches = s.match(pr_chunkPattern);
    -    var sourceBuf = [];
    -    var sourceBufLen = 0;
    -    var extractedTags = [];
    -    if (matches) {
    -      for (var i = 0, n = matches.length; i < n; ++i) {
    -        var match = matches[i];
    -        if (match.length > 1 && match.charAt(0) === '<') {
    -          if (pr_commentPrefix.test(match)) { continue; }
    -          if (pr_cdataPrefix.test(match)) {
    -            // strip CDATA prefix and suffix.  Don't unescape since it's CDATA
    -            sourceBuf.push(match.substring(9, match.length - 3));
    -            sourceBufLen += match.length - 12;
    -          } else if (pr_brPrefix.test(match)) {
    -            // <br> tags are lexically significant so convert them to text.
    -            // This is undone later.
    -            sourceBuf.push('\n');
    -            ++sourceBufLen;
    -          } else {
    -            if (match.indexOf(PR_NOCODE) >= 0 && isNoCodeTag(match)) {
    -              // A <span class="nocode"> will start a section that should be
    -              // ignored.  Continue walking the list until we see a matching end
    -              // tag.
    -              var name = match.match(pr_tagNameRe)[2];
    -              var depth = 1;
    -              var j;
    -              end_tag_loop:
    -              for (j = i + 1; j < n; ++j) {
    -                var name2 = matches[j].match(pr_tagNameRe);
    -                if (name2 && name2[2] === name) {
    -                  if (name2[1] === '/') {
    -                    if (--depth === 0) { break end_tag_loop; }
    -                  } else {
    -                    ++depth;
    -                  }
    -                }
    -              }
    -              if (j < n) {
    -                extractedTags.push(
    -                    sourceBufLen, matches.slice(i, j + 1).join(''));
    -                i = j;
    -              } else {  // Ignore unclosed sections.
    -                extractedTags.push(sourceBufLen, match);
    -              }
    -            } else {
    -              extractedTags.push(sourceBufLen, match);
    -            }
    -          }
    -        } else {
    -          var literalText = htmlToText(match);
    -          sourceBuf.push(literalText);
    -          sourceBufLen += literalText.length;
    -        }
    -      }
    -    }
    -    return { source: sourceBuf.join(''), tags: extractedTags };
    -  }
    -
    -  /** True if the given tag contains a class attribute with the nocode class. */
    -  function isNoCodeTag(tag) {
    -    return !!tag
    -        // First canonicalize the representation of attributes
    -        .replace(/\s(\w+)\s*=\s*(?:\"([^\"]*)\"|'([^\']*)'|(\S+))/g,
    -                 ' $1="$2$3$4"')
    -        // Then look for the attribute we want.
    -        .match(/[cC][lL][aA][sS][sS]=\"[^\"]*\bnocode\b/);
    -  }
    -
    -  /**
    -   * Apply the given language handler to sourceCode and add the resulting
    -   * decorations to out.
    -   * @param {number} basePos the index of sourceCode within the chunk of source
    -   *    whose decorations are already present on out.
    -   */
    -  function appendDecorations(basePos, sourceCode, langHandler, out) {
    -    if (!sourceCode) { return; }
    -    var job = {
    -      source: sourceCode,
    -      basePos: basePos
    -    };
    -    langHandler(job);
    -    out.push.apply(out, job.decorations);
    -  }
    -
    -  /** Given triples of [style, pattern, context] returns a lexing function,
    -    * The lexing function interprets the patterns to find token boundaries and
    -    * returns a decoration list of the form
    -    * [index_0, style_0, index_1, style_1, ..., index_n, style_n]
    -    * where index_n is an index into the sourceCode, and style_n is a style
    -    * constant like PR_PLAIN.  index_n-1 <= index_n, and style_n-1 applies to
    -    * all characters in sourceCode[index_n-1:index_n].
    -    *
    -    * The stylePatterns is a list whose elements have the form
    -    * [style : string, pattern : RegExp, DEPRECATED, shortcut : string].
    -    *
    -    * Style is a style constant like PR_PLAIN, or can be a string of the
    -    * form 'lang-FOO', where FOO is a language extension describing the
    -    * language of the portion of the token in $1 after pattern executes.
    -    * E.g., if style is 'lang-lisp', and group 1 contains the text
    -    * '(hello (world))', then that portion of the token will be passed to the
    -    * registered lisp handler for formatting.
    -    * The text before and after group 1 will be restyled using this decorator
    -    * so decorators should take care that this doesn't result in infinite
    -    * recursion.  For example, the HTML lexer rule for SCRIPT elements looks
    -    * something like ['lang-js', /<[s]cript>(.+?)<\/script>/].  This may match
    -    * '<script>foo()<\/script>', which would cause the current decorator to
    -    * be called with '<script>' which would not match the same rule since
    -    * group 1 must not be empty, so it would be instead styled as PR_TAG by
    -    * the generic tag rule.  The handler registered for the 'js' extension would
    -    * then be called with 'foo()', and finally, the current decorator would
    -    * be called with '<\/script>' which would not match the original rule and
    -    * so the generic tag rule would identify it as a tag.
    -    *
    -    * Pattern must only match prefixes, and if it matches a prefix, then that
    -    * match is considered a token with the same style.
    -    *
    -    * Context is applied to the last non-whitespace, non-comment token
    -    * recognized.
    -    *
    -    * Shortcut is an optional string of characters, any of which, if the first
    -    * character, gurantee that this pattern and only this pattern matches.
    -    *
    -    * @param {Array} shortcutStylePatterns patterns that always start with
    -    *   a known character.  Must have a shortcut string.
    -    * @param {Array} fallthroughStylePatterns patterns that will be tried in
    -    *   order if the shortcut ones fail.  May have shortcuts.
    -    *
    -    * @return {function (Object)} a
    -    *   function that takes source code and returns a list of decorations.
    -    */
    -  function createSimpleLexer(shortcutStylePatterns, fallthroughStylePatterns) {
    -    var shortcuts = {};
    -    var tokenizer;
    -    (function () {
    -      var allPatterns = shortcutStylePatterns.concat(fallthroughStylePatterns);
    -      var allRegexs = [];
    -      var regexKeys = {};
    -      for (var i = 0, n = allPatterns.length; i < n; ++i) {
    -        var patternParts = allPatterns[i];
    -        var shortcutChars = patternParts[3];
    -        if (shortcutChars) {
    -          for (var c = shortcutChars.length; --c >= 0;) {
    -            shortcuts[shortcutChars.charAt(c)] = patternParts;
    -          }
    -        }
    -        var regex = patternParts[1];
    -        var k = '' + regex;
    -        if (!regexKeys.hasOwnProperty(k)) {
    -          allRegexs.push(regex);
    -          regexKeys[k] = null;
    -        }
    -      }
    -      allRegexs.push(/[\0-\uffff]/);
    -      tokenizer = combinePrefixPatterns(allRegexs);
    -    })();
    -
    -    var nPatterns = fallthroughStylePatterns.length;
    -    var notWs = /\S/;
    -
    -    /**
    -     * Lexes job.source and produces an output array job.decorations of style
    -     * classes preceded by the position at which they start in job.source in
    -     * order.
    -     *
    -     * @param {Object} job an object like {@code
    -     *    source: {string} sourceText plain text,
    -     *    basePos: {int} position of job.source in the larger chunk of
    -     *        sourceCode.
    -     * }
    -     */
    -    var decorate = function (job) {
    -      var sourceCode = job.source, basePos = job.basePos;
    -      /** Even entries are positions in source in ascending order.  Odd enties
    -        * are style markers (e.g., PR_COMMENT) that run from that position until
    -        * the end.
    -        * @type {Array.<number|string>}
    -        */
    -      var decorations = [basePos, PR_PLAIN];
    -      var pos = 0;  // index into sourceCode
    -      var tokens = sourceCode.match(tokenizer) || [];
    -      var styleCache = {};
    -
    -      for (var ti = 0, nTokens = tokens.length; ti < nTokens; ++ti) {
    -        var token = tokens[ti];
    -        var style = styleCache[token];
    -        var match = void 0;
    -
    -        var isEmbedded;
    -        if (typeof style === 'string') {
    -          isEmbedded = false;
    -        } else {
    -          var patternParts = shortcuts[token.charAt(0)];
    -          if (patternParts) {
    -            match = token.match(patternParts[1]);
    -            style = patternParts[0];
    -          } else {
    -            for (var i = 0; i < nPatterns; ++i) {
    -              patternParts = fallthroughStylePatterns[i];
    -              match = token.match(patternParts[1]);
    -              if (match) {
    -                style = patternParts[0];
    -                break;
    -              }
    -            }
    -
    -            if (!match) {  // make sure that we make progress
    -              style = PR_PLAIN;
    -            }
    -          }
    -
    -          isEmbedded = style.length >= 5 && 'lang-' === style.substring(0, 5);
    -          if (isEmbedded && !(match && typeof match[1] === 'string')) {
    -            isEmbedded = false;
    -            style = PR_SOURCE;
    -          }
    -
    -          if (!isEmbedded) { styleCache[token] = style; }
    -        }
    -
    -        var tokenStart = pos;
    -        pos += token.length;
    -
    -        if (!isEmbedded) {
    -          decorations.push(basePos + tokenStart, style);
    -        } else {  // Treat group 1 as an embedded block of source code.
    -          var embeddedSource = match[1];
    -          var embeddedSourceStart = token.indexOf(embeddedSource);
    -          var embeddedSourceEnd = embeddedSourceStart + embeddedSource.length;
    -          if (match[2]) {
    -            // If embeddedSource can be blank, then it would match at the
    -            // beginning which would cause us to infinitely recurse on the
    -            // entire token, so we catch the right context in match[2].
    -            embeddedSourceEnd = token.length - match[2].length;
    -            embeddedSourceStart = embeddedSourceEnd - embeddedSource.length;
    -          }
    -          var lang = style.substring(5);
    -          // Decorate the left of the embedded source
    -          appendDecorations(
    -              basePos + tokenStart,
    -              token.substring(0, embeddedSourceStart),
    -              decorate, decorations);
    -          // Decorate the embedded source
    -          appendDecorations(
    -              basePos + tokenStart + embeddedSourceStart,
    -              embeddedSource,
    -              langHandlerForExtension(lang, embeddedSource),
    -              decorations);
    -          // Decorate the right of the embedded section
    -          appendDecorations(
    -              basePos + tokenStart + embeddedSourceEnd,
    -              token.substring(embeddedSourceEnd),
    -              decorate, decorations);
    -        }
    -      }
    -      job.decorations = decorations;
    -    };
    -    return decorate;
    -  }
    -
    -  /** returns a function that produces a list of decorations from source text.
    -    *
    -    * This code treats ", ', and ` as string delimiters, and \ as a string
    -    * escape.  It does not recognize perl's qq() style strings.
    -    * It has no special handling for double delimiter escapes as in basic, or
    -    * the tripled delimiters used in python, but should work on those regardless
    -    * although in those cases a single string literal may be broken up into
    -    * multiple adjacent string literals.
    -    *
    -    * It recognizes C, C++, and shell style comments.
    -    *
    -    * @param {Object} options a set of optional parameters.
    -    * @return {function (Object)} a function that examines the source code
    -    *     in the input job and builds the decoration list.
    -    */
    -  function sourceDecorator(options) {
    -    var shortcutStylePatterns = [], fallthroughStylePatterns = [];
    -    if (options['tripleQuotedStrings']) {
    -      // '''multi-line-string''', 'single-line-string', and double-quoted
    -      shortcutStylePatterns.push(
    -          [PR_STRING,  /^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,
    -           null, '\'"']);
    -    } else if (options['multiLineStrings']) {
    -      // 'multi-line-string', "multi-line-string"
    -      shortcutStylePatterns.push(
    -          [PR_STRING,  /^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,
    -           null, '\'"`']);
    -    } else {
    -      // 'single-line-string', "single-line-string"
    -      shortcutStylePatterns.push(
    -          [PR_STRING,
    -           /^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,
    -           null, '"\'']);
    -    }
    -    if (options['verbatimStrings']) {
    -      // verbatim-string-literal production from the C# grammar.  See issue 93.
    -      fallthroughStylePatterns.push(
    -          [PR_STRING, /^@\"(?:[^\"]|\"\")*(?:\"|$)/, null]);
    -    }
    -    if (options['hashComments']) {
    -      if (options['cStyleComments']) {
    -        // Stop C preprocessor declarations at an unclosed open comment
    -        shortcutStylePatterns.push(
    -            [PR_COMMENT, /^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,
    -             null, '#']);
    -        fallthroughStylePatterns.push(
    -            [PR_STRING,
    -             /^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,
    -             null]);
    -      } else {
    -        shortcutStylePatterns.push([PR_COMMENT, /^#[^\r\n]*/, null, '#']);
    -      }
    -    }
    -    if (options['cStyleComments']) {
    -      fallthroughStylePatterns.push([PR_COMMENT, /^\/\/[^\r\n]*/, null]);
    -      fallthroughStylePatterns.push(
    -          [PR_COMMENT, /^\/\*[\s\S]*?(?:\*\/|$)/, null]);
    -    }
    -    if (options['regexLiterals']) {
    -      var REGEX_LITERAL = (
    -          // A regular expression literal starts with a slash that is
    -          // not followed by * or / so that it is not confused with
    -          // comments.
    -          '/(?=[^/*])'
    -          // and then contains any number of raw characters,
    -          + '(?:[^/\\x5B\\x5C]'
    -          // escape sequences (\x5C),
    -          +    '|\\x5C[\\s\\S]'
    -          // or non-nesting character sets (\x5B\x5D);
    -          +    '|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+'
    -          // finally closed by a /.
    -          + '/');
    -      fallthroughStylePatterns.push(
    -          ['lang-regex',
    -           new RegExp('^' + REGEXP_PRECEDER_PATTERN + '(' + REGEX_LITERAL + ')')
    -           ]);
    -    }
    -
    -    var keywords = options['keywords'].replace(/^\s+|\s+$/g, '');
    -    if (keywords.length) {
    -      fallthroughStylePatterns.push(
    -          [PR_KEYWORD,
    -           new RegExp('^(?:' + keywords.replace(/\s+/g, '|') + ')\\b'), null]);
    -    }
    -
    -    shortcutStylePatterns.push([PR_PLAIN,       /^\s+/, null, ' \r\n\t\xA0']);
    -    fallthroughStylePatterns.push(
    -        // TODO(mikesamuel): recognize non-latin letters and numerals in idents
    -        [PR_LITERAL,     /^@[a-z_$][a-z_$@0-9]*/i, null],
    -        [PR_TYPE,        /^@?[A-Z]+[a-z][A-Za-z_$@0-9]*/, null],
    -        [PR_PLAIN,       /^[a-z_$][a-z_$@0-9]*/i, null],
    -        [PR_LITERAL,
    -         new RegExp(
    -             '^(?:'
    -             // A hex number
    -             + '0x[a-f0-9]+'
    -             // or an octal or decimal number,
    -             + '|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)'
    -             // possibly in scientific notation
    -             + '(?:e[+\\-]?\\d+)?'
    -             + ')'
    -             // with an optional modifier like UL for unsigned long
    -             + '[a-z]*', 'i'),
    -         null, '0123456789'],
    -        [PR_PUNCTUATION, /^.[^\s\w\.$@\'\"\`\/\#]*/, null]);
    -
    -    return createSimpleLexer(shortcutStylePatterns, fallthroughStylePatterns);
    -  }
    -
    -  var decorateSource = sourceDecorator({
    -        'keywords': ALL_KEYWORDS,
    -        'hashComments': true,
    -        'cStyleComments': true,
    -        'multiLineStrings': true,
    -        'regexLiterals': true
    -      });
    -
    -  /** Breaks {@code job.source} around style boundaries in
    -    * {@code job.decorations} while re-interleaving {@code job.extractedTags},
    -    * and leaves the result in {@code job.prettyPrintedHtml}.
    -    * @param {Object} job like {
    -    *    source: {string} source as plain text,
    -    *    extractedTags: {Array.<number|string>} extractedTags chunks of raw
    -    *                   html preceded by their position in {@code job.source}
    -    *                   in order
    -    *    decorations: {Array.<number|string} an array of style classes preceded
    -    *                 by the position at which they start in job.source in order
    -    * }
    -    * @private
    -    */
    -  function recombineTagsAndDecorations(job) {
    -    var sourceText = job.source;
    -    var extractedTags = job.extractedTags;
    -    var decorations = job.decorations;
    -
    -    var html = [];
    -    // index past the last char in sourceText written to html
    -    var outputIdx = 0;
    -
    -    var openDecoration = null;
    -    var currentDecoration = null;
    -    var tagPos = 0;  // index into extractedTags
    -    var decPos = 0;  // index into decorations
    -    var tabExpander = makeTabExpander(window['PR_TAB_WIDTH']);
    -
    -    var adjacentSpaceRe = /([\r\n ]) /g;
    -    var startOrSpaceRe = /(^| ) /gm;
    -    var newlineRe = /\r\n?|\n/g;
    -    var trailingSpaceRe = /[ \r\n]$/;
    -    var lastWasSpace = true;  // the last text chunk emitted ended with a space.
    -
    -    // See bug 71 and http://stackoverflow.com/questions/136443/why-doesnt-ie7-
    -    var isIE678 = window['_pr_isIE6']();
    -    var lineBreakHtml = (
    -        isIE678
    -        ? (job.sourceNode.tagName === 'PRE'
    -           // Use line feeds instead of <br>s so that copying and pasting works
    -           // on IE.
    -           // Doing this on other browsers breaks lots of stuff since \r\n is
    -           // treated as two newlines on Firefox.
    -           ? (isIE678 === 6 ? '&#160;\r\n' :
    -              isIE678 === 7 ? '&#160;<br>\r' : '&#160;\r')
    -           // IE collapses multiple adjacent <br>s into 1 line break.
    -           // Prefix every newline with '&#160;' to prevent such behavior.
    -           // &nbsp; is the same as &#160; but works in XML as well as HTML.
    -           : '&#160;<br />')
    -        : '<br />');
    -
    -    // Look for a class like linenums or linenums:<n> where <n> is the 1-indexed
    -    // number of the first line.
    -    var numberLines = job.sourceNode.className.match(/\blinenums\b(?::(\d+))?/);
    -    var lineBreaker;
    -    if (numberLines) {
    -      var lineBreaks = [];
    -      for (var i = 0; i < 10; ++i) {
    -        lineBreaks[i] = lineBreakHtml + '</li><li class="L' + i + '">';
    -      }
    -      var lineNum = numberLines[1] && numberLines[1].length
    -          ? numberLines[1] - 1 : 0;  // Lines are 1-indexed
    -      html.push('<ol class="linenums"><li class="L', (lineNum) % 10, '"');
    -      if (lineNum) {
    -        html.push(' value="', lineNum + 1, '"');
    -      }
    -      html.push('>');
    -      lineBreaker = function () {
    -        var lb = lineBreaks[++lineNum % 10];
    -        // If a decoration is open, we need to close it before closing a list-item
    -        // and reopen it on the other side of the list item.
    -        return openDecoration
    -            ? ('</span>' + lb + '<span class="' + openDecoration + '">') : lb;
    -      };
    -    } else {
    -      lineBreaker = lineBreakHtml;
    -    }
    -
    -    // A helper function that is responsible for opening sections of decoration
    -    // and outputing properly escaped chunks of source
    -    function emitTextUpTo(sourceIdx) {
    -      if (sourceIdx > outputIdx) {
    -        if (openDecoration && openDecoration !== currentDecoration) {
    -          // Close the current decoration
    -          html.push('</span>');
    -          openDecoration = null;
    -        }
    -        if (!openDecoration && currentDecoration) {
    -          openDecoration = currentDecoration;
    -          html.push('<span class="', openDecoration, '">');
    -        }
    -        // This interacts badly with some wikis which introduces paragraph tags
    -        // into pre blocks for some strange reason.
    -        // It's necessary for IE though which seems to lose the preformattedness
    -        // of <pre> tags when their innerHTML is assigned.
    -        // http://stud3.tuwien.ac.at/~e0226430/innerHtmlQuirk.html
    -        // and it serves to undo the conversion of <br>s to newlines done in
    -        // chunkify.
    -        var htmlChunk = textToHtml(
    -            tabExpander(sourceText.substring(outputIdx, sourceIdx)))
    -            .replace(lastWasSpace
    -                     ? startOrSpaceRe
    -                     : adjacentSpaceRe, '$1&#160;');
    -        // Keep track of whether we need to escape space at the beginning of the
    -        // next chunk.
    -        lastWasSpace = trailingSpaceRe.test(htmlChunk);
    -        html.push(htmlChunk.replace(newlineRe, lineBreaker));
    -        outputIdx = sourceIdx;
    -      }
    -    }
    -
    -    while (true) {
    -      // Determine if we're going to consume a tag this time around.  Otherwise
    -      // we consume a decoration or exit.
    -      var outputTag;
    -      if (tagPos < extractedTags.length) {
    -        if (decPos < decorations.length) {
    -          // Pick one giving preference to extractedTags since we shouldn't open
    -          // a new style that we're going to have to immediately close in order
    -          // to output a tag.
    -          outputTag = extractedTags[tagPos] <= decorations[decPos];
    -        } else {
    -          outputTag = true;
    -        }
    -      } else {
    -        outputTag = false;
    -      }
    -      // Consume either a decoration or a tag or exit.
    -      if (outputTag) {
    -        emitTextUpTo(extractedTags[tagPos]);
    -        if (openDecoration) {
    -          // Close the current decoration
    -          html.push('</span>');
    -          openDecoration = null;
    -        }
    -        html.push(extractedTags[tagPos + 1]);
    -        tagPos += 2;
    -      } else if (decPos < decorations.length) {
    -        emitTextUpTo(decorations[decPos]);
    -        currentDecoration = decorations[decPos + 1];
    -        decPos += 2;
    -      } else {
    -        break;
    -      }
    -    }
    -    emitTextUpTo(sourceText.length);
    -    if (openDecoration) {
    -      html.push('</span>');
    -    }
    -    if (numberLines) { html.push('</li></ol>'); }
    -    job.prettyPrintedHtml = html.join('');
    -  }
    -
    -  /** Maps language-specific file extensions to handlers. */
    -  var langHandlerRegistry = {};
    -  /** Register a language handler for the given file extensions.
    -    * @param {function (Object)} handler a function from source code to a list
    -    *      of decorations.  Takes a single argument job which describes the
    -    *      state of the computation.   The single parameter has the form
    -    *      {@code {
    -    *        source: {string} as plain text.
    -    *        decorations: {Array.<number|string>} an array of style classes
    -    *                     preceded by the position at which they start in
    -    *                     job.source in order.
    -    *                     The language handler should assigned this field.
    -    *        basePos: {int} the position of source in the larger source chunk.
    -    *                 All positions in the output decorations array are relative
    -    *                 to the larger source chunk.
    -    *      } }
    -    * @param {Array.<string>} fileExtensions
    -    */
    -  function registerLangHandler(handler, fileExtensions) {
    -    for (var i = fileExtensions.length; --i >= 0;) {
    -      var ext = fileExtensions[i];
    -      if (!langHandlerRegistry.hasOwnProperty(ext)) {
    -        langHandlerRegistry[ext] = handler;
    -      } else if ('console' in window) {
    -        console['warn']('cannot override language handler %s', ext);
    -      }
    -    }
    -  }
    -  function langHandlerForExtension(extension, source) {
    -    if (!(extension && langHandlerRegistry.hasOwnProperty(extension))) {
    -      // Treat it as markup if the first non whitespace character is a < and
    -      // the last non-whitespace character is a >.
    -      extension = /^\s*</.test(source)
    -          ? 'default-markup'
    -          : 'default-code';
    -    }
    -    return langHandlerRegistry[extension];
    -  }
    -  registerLangHandler(decorateSource, ['default-code']);
    -  registerLangHandler(
    -      createSimpleLexer(
    -          [],
    -          [
    -           [PR_PLAIN,       /^[^<?]+/],
    -           [PR_DECLARATION, /^<!\w[^>]*(?:>|$)/],
    -           [PR_COMMENT,     /^<\!--[\s\S]*?(?:-\->|$)/],
    -           // Unescaped content in an unknown language
    -           ['lang-',        /^<\?([\s\S]+?)(?:\?>|$)/],
    -           ['lang-',        /^<%([\s\S]+?)(?:%>|$)/],
    -           [PR_PUNCTUATION, /^(?:<[%?]|[%?]>)/],
    -           ['lang-',        /^<xmp\b[^>]*>([\s\S]+?)<\/xmp\b[^>]*>/i],
    -           // Unescaped content in javascript.  (Or possibly vbscript).
    -           ['lang-js',      /^<script\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],
    -           // Contains unescaped stylesheet content
    -           ['lang-css',     /^<style\b[^>]*>([\s\S]*?)(<\/style\b[^>]*>)/i],
    -           ['lang-in.tag',  /^(<\/?[a-z][^<>]*>)/i]
    -          ]),
    -      ['default-markup', 'htm', 'html', 'mxml', 'xhtml', 'xml', 'xsl']);
    -  registerLangHandler(
    -      createSimpleLexer(
    -          [
    -           [PR_PLAIN,        /^[\s]+/, null, ' \t\r\n'],
    -           [PR_ATTRIB_VALUE, /^(?:\"[^\"]*\"?|\'[^\']*\'?)/, null, '\"\'']
    -           ],
    -          [
    -           [PR_TAG,          /^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],
    -           [PR_ATTRIB_NAME,  /^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],
    -           ['lang-uq.val',   /^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],
    -           [PR_PUNCTUATION,  /^[=<>\/]+/],
    -           ['lang-js',       /^on\w+\s*=\s*\"([^\"]+)\"/i],
    -           ['lang-js',       /^on\w+\s*=\s*\'([^\']+)\'/i],
    -           ['lang-js',       /^on\w+\s*=\s*([^\"\'>\s]+)/i],
    -           ['lang-css',      /^style\s*=\s*\"([^\"]+)\"/i],
    -           ['lang-css',      /^style\s*=\s*\'([^\']+)\'/i],
    -           ['lang-css',      /^style\s*=\s*([^\"\'>\s]+)/i]
    -           ]),
    -      ['in.tag']);
    -  registerLangHandler(
    -      createSimpleLexer([], [[PR_ATTRIB_VALUE, /^[\s\S]+/]]), ['uq.val']);
    -  registerLangHandler(sourceDecorator({
    -          'keywords': CPP_KEYWORDS,
    -          'hashComments': true,
    -          'cStyleComments': true
    -        }), ['c', 'cc', 'cpp', 'cxx', 'cyc', 'm']);
    -  registerLangHandler(sourceDecorator({
    -          'keywords': 'null true false'
    -        }), ['json']);
    -  registerLangHandler(sourceDecorator({
    -          'keywords': CSHARP_KEYWORDS,
    -          'hashComments': true,
    -          'cStyleComments': true,
    -          'verbatimStrings': true
    -        }), ['cs']);
    -  registerLangHandler(sourceDecorator({
    -          'keywords': JAVA_KEYWORDS,
    -          'cStyleComments': true
    -        }), ['java']);
    -  registerLangHandler(sourceDecorator({
    -          'keywords': SH_KEYWORDS,
    -          'hashComments': true,
    -          'multiLineStrings': true
    -        }), ['bsh', 'csh', 'sh']);
    -  registerLangHandler(sourceDecorator({
    -          'keywords': PYTHON_KEYWORDS,
    -          'hashComments': true,
    -          'multiLineStrings': true,
    -          'tripleQuotedStrings': true
    -        }), ['cv', 'py']);
    -  registerLangHandler(sourceDecorator({
    -          'keywords': PERL_KEYWORDS,
    -          'hashComments': true,
    -          'multiLineStrings': true,
    -          'regexLiterals': true
    -        }), ['perl', 'pl', 'pm']);
    -  registerLangHandler(sourceDecorator({
    -          'keywords': RUBY_KEYWORDS,
    -          'hashComments': true,
    -          'multiLineStrings': true,
    -          'regexLiterals': true
    -        }), ['rb']);
    -  registerLangHandler(sourceDecorator({
    -          'keywords': JSCRIPT_KEYWORDS,
    -          'cStyleComments': true,
    -          'regexLiterals': true
    -        }), ['js']);
    -  registerLangHandler(
    -      createSimpleLexer([], [[PR_STRING, /^[\s\S]+/]]), ['regex']);
    -
    -  function applyDecorator(job) {
    -    var sourceCodeHtml = job.sourceCodeHtml;
    -    var opt_langExtension = job.langExtension;
    -
    -    // Prepopulate output in case processing fails with an exception.
    -    job.prettyPrintedHtml = sourceCodeHtml;
    -
    -    try {
    -      // Extract tags, and convert the source code to plain text.
    -      var sourceAndExtractedTags = extractTags(sourceCodeHtml);
    -      /** Plain text. @type {string} */
    -      var source = sourceAndExtractedTags.source;
    -      job.source = source;
    -      job.basePos = 0;
    -
    -      /** Even entries are positions in source in ascending order.  Odd entries
    -        * are tags that were extracted at that position.
    -        * @type {Array.<number|string>}
    -        */
    -      job.extractedTags = sourceAndExtractedTags.tags;
    -
    -      // Apply the appropriate language handler
    -      langHandlerForExtension(opt_langExtension, source)(job);
    -      // Integrate the decorations and tags back into the source code to produce
    -      // a decorated html string which is left in job.prettyPrintedHtml.
    -      recombineTagsAndDecorations(job);
    -    } catch (e) {
    -      if ('console' in window) {
    -        console['log'](e && e['stack'] ? e['stack'] : e);
    -      }
    -    }
    -  }
    -
    -  function prettyPrintOne(sourceCodeHtml, opt_langExtension) {
    -    var job = {
    -      sourceCodeHtml: sourceCodeHtml,
    -      langExtension: opt_langExtension
    -    };
    -    applyDecorator(job);
    -    return job.prettyPrintedHtml;
    -  }
    -
    -  function prettyPrint(opt_whenDone) {
    -    function byTagName(tn) { return document.getElementsByTagName(tn); }
    -    // fetch a list of nodes to rewrite
    -    var codeSegments = [byTagName('pre'), byTagName('code'), byTagName('xmp')];
    -    var elements = [];
    -    for (var i = 0; i < codeSegments.length; ++i) {
    -      for (var j = 0, n = codeSegments[i].length; j < n; ++j) {
    -        elements.push(codeSegments[i][j]);
    -      }
    -    }
    -    codeSegments = null;
    -
    -    var clock = Date;
    -    if (!clock['now']) {
    -      clock = { 'now': function () { return (new Date).getTime(); } };
    -    }
    -
    -    // The loop is broken into a series of continuations to make sure that we
    -    // don't make the browser unresponsive when rewriting a large page.
    -    var k = 0;
    -    var prettyPrintingJob;
    -
    -    function doWork() {
    -      var endTime = (window['PR_SHOULD_USE_CONTINUATION'] ?
    -                     clock.now() + 250 /* ms */ :
    -                     Infinity);
    -      for (; k < elements.length && clock.now() < endTime; k++) {
    -        var cs = elements[k];
    -        // [JACOCO] 'prettyprint' -> 'source'
    -        if (cs.className && cs.className.indexOf('source') >= 0) {
    -          // If the classes includes a language extensions, use it.
    -          // Language extensions can be specified like
    -          //     <pre class="prettyprint lang-cpp">
    -          // the language extension "cpp" is used to find a language handler as
    -          // passed to PR_registerLangHandler.
    -          var langExtension = cs.className.match(/\blang-(\w+)\b/);
    -          if (langExtension) { langExtension = langExtension[1]; }
    -
    -          // make sure this is not nested in an already prettified element
    -          var nested = false;
    -          for (var p = cs.parentNode; p; p = p.parentNode) {
    -            if ((p.tagName === 'pre' || p.tagName === 'code' ||
    -                 p.tagName === 'xmp') &&
    -                // [JACOCO] 'prettyprint' -> 'source'
    -                p.className && p.className.indexOf('source') >= 0) {
    -              nested = true;
    -              break;
    -            }
    -          }
    -          if (!nested) {
    -            // fetch the content as a snippet of properly escaped HTML.
    -            // Firefox adds newlines at the end.
    -            var content = getInnerHtml(cs);
    -            content = content.replace(/(?:\r\n?|\n)$/, '');
    -
    -            // do the pretty printing
    -            prettyPrintingJob = {
    -              sourceCodeHtml: content,
    -              langExtension: langExtension,
    -              sourceNode: cs
    -            };
    -            applyDecorator(prettyPrintingJob);
    -            replaceWithPrettyPrintedHtml();
    -          }
    -        }
    -      }
    -      if (k < elements.length) {
    -        // finish up in a continuation
    -        setTimeout(doWork, 250);
    -      } else if (opt_whenDone) {
    -        opt_whenDone();
    -      }
    -    }
    -
    -    function replaceWithPrettyPrintedHtml() {
    -      var newContent = prettyPrintingJob.prettyPrintedHtml;
    -      if (!newContent) { return; }
    -      var cs = prettyPrintingJob.sourceNode;
    -
    -      // push the prettified html back into the tag.
    -      if (!isRawContent(cs)) {
    -        // just replace the old html with the new
    -        cs.innerHTML = newContent;
    -      } else {
    -        // we need to change the tag to a <pre> since <xmp>s do not allow
    -        // embedded tags such as the span tags used to attach styles to
    -        // sections of source code.
    -        var pre = document.createElement('PRE');
    -        for (var i = 0; i < cs.attributes.length; ++i) {
    -          var a = cs.attributes[i];
    -          if (a.specified) {
    -            var aname = a.name.toLowerCase();
    -            if (aname === 'class') {
    -              pre.className = a.value;  // For IE 6
    -            } else {
    -              pre.setAttribute(a.name, a.value);
    -            }
    -          }
    -        }
    -        pre.innerHTML = newContent;
    -
    -        // remove the old
    -        cs.parentNode.replaceChild(pre, cs);
    -        cs = pre;
    -      }
    -    }
    -
    -    doWork();
    -  }
    -
    -  window['PR_normalizedHtml'] = normalizedHtml;
    -  window['prettyPrintOne'] = prettyPrintOne;
    -  window['prettyPrint'] = prettyPrint;
    -  window['PR'] = {
    -        'combinePrefixPatterns': combinePrefixPatterns,
    -        'createSimpleLexer': createSimpleLexer,
    -        'registerLangHandler': registerLangHandler,
    -        'sourceDecorator': sourceDecorator,
    -        'PR_ATTRIB_NAME': PR_ATTRIB_NAME,
    -        'PR_ATTRIB_VALUE': PR_ATTRIB_VALUE,
    -        'PR_COMMENT': PR_COMMENT,
    -        'PR_DECLARATION': PR_DECLARATION,
    -        'PR_KEYWORD': PR_KEYWORD,
    -        'PR_LITERAL': PR_LITERAL,
    -        'PR_NOCODE': PR_NOCODE,
    -        'PR_PLAIN': PR_PLAIN,
    -        'PR_PUNCTUATION': PR_PUNCTUATION,
    -        'PR_SOURCE': PR_SOURCE,
    -        'PR_STRING': PR_STRING,
    -        'PR_TAG': PR_TAG,
    -        'PR_TYPE': PR_TYPE
    -      };
    -})();
    diff --git a/jacoco/jacocoHtml/jacoco-resources/redbar.gif b/jacoco/jacocoHtml/jacoco-resources/redbar.gif
    deleted file mode 100644
    index c2f71469ba995289439d86ea39b1b33edb03388c..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 91
    zcmZ?wbhEHbWMtrCc+AD{pP&D~tn7aso&R25|6^nS*Vg{;>G{84!T)8;{;yfXu$BQ0
    fDgI<(<YM4w&|v@qkQodt90ol_LPjnP91PX~3&9+X
    
    diff --git a/jacoco/jacocoHtml/jacoco-resources/report.css b/jacoco/jacocoHtml/jacoco-resources/report.css
    deleted file mode 100644
    index dd936bca..00000000
    --- a/jacoco/jacocoHtml/jacoco-resources/report.css
    +++ /dev/null
    @@ -1,243 +0,0 @@
    -body, td {
    -  font-family:sans-serif;
    -  font-size:10pt;
    -}
    -
    -h1 {
    -  font-weight:bold;
    -  font-size:18pt;
    -}
    -
    -.breadcrumb {
    -  border:#d6d3ce 1px solid;
    -  padding:2px 4px 2px 4px;
    -}
    -
    -.breadcrumb .info {
    -  float:right;
    -}
    -
    -.breadcrumb .info a {
    -  margin-left:8px;
    -}
    -
    -.el_report {
    -  padding-left:18px;
    -  background-image:url(report.gif);
    -  background-position:left center;
    -  background-repeat:no-repeat;
    -}
    -
    -.el_group {
    -  padding-left:18px;
    -  background-image:url(group.gif);
    -  background-position:left center;
    -  background-repeat:no-repeat;
    -}
    -
    -.el_bundle {
    -  padding-left:18px;
    -  background-image:url(bundle.gif);
    -  background-position:left center;
    -  background-repeat:no-repeat;
    -}
    -
    -.el_package {
    -  padding-left:18px;
    -  background-image:url(package.gif);
    -  background-position:left center;
    -  background-repeat:no-repeat;
    -}
    -
    -.el_class {
    -  padding-left:18px;
    -  background-image:url(class.gif);
    -  background-position:left center;
    -  background-repeat:no-repeat;
    -}
    -
    -.el_source {
    -  padding-left:18px;
    -  background-image:url(source.gif);
    -  background-position:left center;
    -  background-repeat:no-repeat;
    -}
    -
    -.el_method {
    -  padding-left:18px;
    -  background-image:url(method.gif);
    -  background-position:left center;
    -  background-repeat:no-repeat;
    -}
    -
    -.el_session {
    -  padding-left:18px;
    -  background-image:url(session.gif);
    -  background-position:left center;
    -  background-repeat:no-repeat;
    -}
    -
    -pre.source {
    -  border:#d6d3ce 1px solid;
    -  font-family:monospace;
    -}
    -
    -pre.source ol {
    -  margin-bottom: 0px;
    -  margin-top: 0px;
    -}
    -
    -pre.source li {
    -  border-left: 1px solid #D6D3CE;
    -  color: #A0A0A0;
    -  padding-left: 0px;
    -}
    -
    -pre.source span.fc {
    -  background-color:#ccffcc;
    -}
    -
    -pre.source span.nc {
    -  background-color:#ffaaaa;
    -}
    -
    -pre.source span.pc {
    -  background-color:#ffffcc;
    -}
    -
    -pre.source span.bfc {
    -  background-image: url(branchfc.gif);
    -  background-repeat: no-repeat;
    -  background-position: 2px center;
    -}
    -
    -pre.source span.bfc:hover {
    -  background-color:#80ff80;
    -}
    -
    -pre.source span.bnc {
    -  background-image: url(branchnc.gif);
    -  background-repeat: no-repeat;
    -  background-position: 2px center;
    -}
    -
    -pre.source span.bnc:hover {
    -  background-color:#ff8080;
    -}
    -
    -pre.source span.bpc {
    -  background-image: url(branchpc.gif);
    -  background-repeat: no-repeat;
    -  background-position: 2px center;
    -}
    -
    -pre.source span.bpc:hover {
    -  background-color:#ffff80;
    -}
    -
    -table.coverage {
    -  empty-cells:show;
    -  border-collapse:collapse;
    -}
    -
    -table.coverage thead {
    -  background-color:#e0e0e0;
    -}
    -
    -table.coverage thead td {
    -  white-space:nowrap;
    -  padding:2px 14px 0px 6px;
    -  border-bottom:#b0b0b0 1px solid;
    -}
    -
    -table.coverage thead td.bar {
    -  border-left:#cccccc 1px solid;
    -}
    -
    -table.coverage thead td.ctr1 {
    -  text-align:right;
    -  border-left:#cccccc 1px solid;
    -}
    -
    -table.coverage thead td.ctr2 {
    -  text-align:right;
    -  padding-left:2px;
    -}
    -
    -table.coverage thead td.sortable {
    -  cursor:pointer;
    -  background-image:url(sort.gif);
    -  background-position:right center;
    -  background-repeat:no-repeat;
    -}
    -
    -table.coverage thead td.up {
    -  background-image:url(up.gif);
    -}
    -
    -table.coverage thead td.down {
    -  background-image:url(down.gif);
    -}
    -
    -table.coverage tbody td {
    -  white-space:nowrap;
    -  padding:2px 6px 2px 6px;
    -  border-bottom:#d6d3ce 1px solid;
    -}
    -
    -table.coverage tbody tr:hover {
    -  background: #f0f0d0 !important;
    -}
    -
    -table.coverage tbody td.bar {
    -  border-left:#e8e8e8 1px solid;
    -}
    -
    -table.coverage tbody td.ctr1 {
    -  text-align:right;
    -  padding-right:14px;
    -  border-left:#e8e8e8 1px solid;
    -}
    -
    -table.coverage tbody td.ctr2 {
    -  text-align:right;
    -  padding-right:14px;
    -  padding-left:2px;
    -}
    -
    -table.coverage tfoot td {
    -  white-space:nowrap;
    -  padding:2px 6px 2px 6px;
    -}
    -
    -table.coverage tfoot td.bar {
    -  border-left:#e8e8e8 1px solid;
    -}
    -
    -table.coverage tfoot td.ctr1 {
    -  text-align:right;
    -  padding-right:14px;
    -  border-left:#e8e8e8 1px solid;
    -}
    -
    -table.coverage tfoot td.ctr2 {
    -  text-align:right;
    -  padding-right:14px;
    -  padding-left:2px;
    -}
    -
    -.footer {
    -  margin-top:20px;
    -  border-top:#d6d3ce 1px solid;
    -  padding-top:2px;
    -  font-size:8pt;
    -  color:#a0a0a0;
    -}
    -
    -.footer a {
    -  color:#a0a0a0;
    -}
    -
    -.right {
    -  float:right;
    -}
    diff --git a/jacoco/jacocoHtml/jacoco-resources/report.gif b/jacoco/jacocoHtml/jacoco-resources/report.gif
    deleted file mode 100644
    index 8547be50bf3e97e725920927b5aa4cdb031f4823..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 363
    zcmZ?wbhEHb6krfwSZc{In}J~s1H&!`1_uX+xVSjMb&S>db~X8S)dhAn1$OlXwvB~0
    zO@%hC#Wq5_7&^+V`^qgRRa;E2HJ?*&DsqWoev|2fCetO&CQDmPR<;_iXfs~ZZnVC`
    za8s8-+pK*(^AAm4c5K#~(^ocST-lU)byMc8y)_R`^xu2&{oaco_g{R!|Ki8Pmp>lA
    z{_*VHkC*R%zWMa)!{^_hzyAL8?f2(zzrTL}{q@K1Z$Ey2|M}<VuRs5>0mYvzj9d)%
    z3_1)z0P+(9TgQR<1s*zF)+bahX*_u_??Pbv&V#KE^V2&`bhGjjR;*MxC8EFO_3_}<
    zH?w9WrJ7AX`tJM8r525X{~8+WorLsRL^?W{nR=L*odosT`KItOGtTI963}JgV_m??
    z%&>&9-=1G*^3>@wm-A|~FmK+nbvd`DhNhP0UUhXIS1vYAPL5-o?Ce}VXI&i`tO1G(
    BvdRDe
    
    diff --git a/jacoco/jacocoHtml/jacoco-resources/session.gif b/jacoco/jacocoHtml/jacoco-resources/session.gif
    deleted file mode 100644
    index 0151bad8a001e5cc5cc7723a608185f746b7f8c1..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 213
    zcmZ?wbhEHb6krfwXc1xPS$gU4xw~t2pG#?5#^Be>V3WrXI-S9<hrzA(|Nr^_@5k?-
    zZ~y=IhyVNSXZ04}pKqV%t9oe5k~tY+Ar=Pzi2#Z}Sr{1@<Qa4rfB<AC18dL&^}dwM
    zX_r*ys<8N;e6mS?i^dP8jVmAd@U^}&$uv>xc~m$hYN?d{@xrG~CzZCfhpBIRC}Q>I
    kiQ?_Ai=3VZEOFW9fBwaksdwMK(Err)E%VcVRYeAC06w^MK>z>%
    
    diff --git a/jacoco/jacocoHtml/jacoco-resources/sort.gif b/jacoco/jacocoHtml/jacoco-resources/sort.gif
    deleted file mode 100644
    index 6757c2c32b57d768f3c12c4ae99a28bc32c9cbd7..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 58
    zcmZ?wbhEHb<YC}qXkcX6uwldh|Nj+#vM_QnFf!;c00|xjP6h@h!JfpGjC*fB>i!bx
    N`t(%z_h<$NYXI&b5{m!;
    
    diff --git a/jacoco/jacocoHtml/jacoco-resources/sort.js b/jacoco/jacocoHtml/jacoco-resources/sort.js
    deleted file mode 100644
    index fa9db086..00000000
    --- a/jacoco/jacocoHtml/jacoco-resources/sort.js
    +++ /dev/null
    @@ -1,148 +0,0 @@
    -/*******************************************************************************
    - * Copyright (c) 2009, 2022 Mountainminds GmbH & Co. KG and Contributors
    - * This program and the accompanying materials are made available under
    - * the terms of the Eclipse Public License 2.0 which is available at
    - * http://www.eclipse.org/legal/epl-2.0
    - *
    - * SPDX-License-Identifier: EPL-2.0
    - *
    - * Contributors:
    - *    Marc R. Hoffmann - initial API and implementation
    - *
    - *******************************************************************************/
    -
    -(function () {
    -
    -  /**
    -   * Sets the initial sorting derived from the hash.
    -   *
    -   * @param linkelementids
    -   *          list of element ids to search for links to add sort inidcator
    -   *          hash links
    -   */
    -  function initialSort(linkelementids) {
    -    window.linkelementids = linkelementids;
    -    var hash = window.location.hash;
    -    if (hash) {
    -      var m = hash.match(/up-./);
    -      if (m) {
    -        var header = window.document.getElementById(m[0].charAt(3));
    -        if (header) {
    -          sortColumn(header, true);
    -        }
    -        return;
    -      }
    -      var m = hash.match(/dn-./);
    -      if (m) {
    -        var header = window.document.getElementById(m[0].charAt(3));
    -        if (header) {
    -          sortColumn(header, false);
    -        }
    -        return
    -      }
    -    }
    -  }
    -
    -  /**
    -   * Sorts the columns with the given header dependening on the current sort state.
    -   */
    -  function toggleSort(header) {
    -    var sortup = header.className.indexOf('down ') == 0;
    -    sortColumn(header, sortup);
    -  }
    -
    -  /**
    -   * Sorts the columns with the given header in the given direction.
    -   */
    -  function sortColumn(header, sortup) {
    -    var table = header.parentNode.parentNode.parentNode;
    -    var body = table.tBodies[0];
    -    var colidx = getNodePosition(header);
    -
    -    resetSortedStyle(table);
    -
    -    var rows = body.rows;
    -    var sortedrows = [];
    -    for (var i = 0; i < rows.length; i++) {
    -      r = rows[i];
    -      sortedrows[parseInt(r.childNodes[colidx].id.slice(1))] = r;
    -    }
    -
    -    var hash;
    -
    -    if (sortup) {
    -      for (var i = sortedrows.length - 1; i >= 0; i--) {
    -        body.appendChild(sortedrows[i]);
    -      }
    -      header.className = 'up ' + header.className;
    -      hash = 'up-' + header.id;
    -    } else {
    -      for (var i = 0; i < sortedrows.length; i++) {
    -        body.appendChild(sortedrows[i]);
    -      }
    -      header.className = 'down ' + header.className;
    -      hash = 'dn-' + header.id;
    -    }
    -
    -    setHash(hash);
    -  }
    -
    -  /**
    -   * Adds the sort indicator as a hash to the document URL and all links.
    -   */
    -  function setHash(hash) {
    -    window.document.location.hash = hash;
    -    ids = window.linkelementids;
    -    for (var i = 0; i < ids.length; i++) {
    -        setHashOnAllLinks(document.getElementById(ids[i]), hash);
    -    }
    -  }
    -
    -  /**
    -   * Extend all links within the given tag with the given hash.
    -   */
    -  function setHashOnAllLinks(tag, hash) {
    -    links = tag.getElementsByTagName("a");
    -    for (var i = 0; i < links.length; i++) {
    -        var a = links[i];
    -        var href = a.href;
    -        var hashpos = href.indexOf("#");
    -        if (hashpos != -1) {
    -            href = href.substring(0, hashpos);
    -        }
    -        a.href = href + "#" + hash;
    -    }
    -  }
    -
    -  /**
    -   * Calculates the position of a element within its parent.
    -   */
    -  function getNodePosition(element) {
    -    var pos = -1;
    -    while (element) {
    -      element = element.previousSibling;
    -      pos++;
    -    }
    -    return pos;
    -  }
    -
    -  /**
    -   * Remove the sorting indicator style from all headers.
    -   */
    -  function resetSortedStyle(table) {
    -    for (var c = table.tHead.firstChild.firstChild; c; c = c.nextSibling) {
    -      if (c.className) {
    -        if (c.className.indexOf('down ') == 0) {
    -          c.className = c.className.slice(5);
    -        }
    -        if (c.className.indexOf('up ') == 0) {
    -          c.className = c.className.slice(3);
    -        }
    -      }
    -    }
    -  }
    -
    -  window['initialSort'] = initialSort;
    -  window['toggleSort'] = toggleSort;
    -
    -})();
    diff --git a/jacoco/jacocoHtml/jacoco-resources/source.gif b/jacoco/jacocoHtml/jacoco-resources/source.gif
    deleted file mode 100644
    index b226e41c5276581db33d71525298ef572cc5d7ce..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 354
    zcmZ?wbhEHb6krfwxXQrr`Rnf=KmWY@^y|~t-#>r-`SJ62+pK*(^ACOa@_X{KW3$$r
    zUbOlAiXE5N?74dH#gDtszu$lH{mGl3&)@xg`{~!`Z@=#VMPB~6_u~7*S3h2T`1$R}
    z?`Q9Re)#(P)3@JWfBgRb^LKTLe^s%6bxA;7sb4jaQ5?`-<<ng5TVLWgvEHM%)~l!1
    zYi_IS^d`3r{dQ}59F})EE$?<()ZzT#ME{lvwpTV~T-lU)Yj4ffO_~4y|7XAeia%Kx
    z85k@XbU-p7KQXY?ADC0%p(B)eLgkXi62W-^(!DQ#v2a~Gz-z9%&!+3h!38t#X02Ds
    zad;WPFvUVOY)YY2k84HG1kp%gVW!3wVI5ap$%?8ZHc4GqO=+PiQzvV>Y72H(vk7Xs
    us!1$fvP8{QU92ZrK%7tARasP&f6JDw8m_8J3W|I7DyXXX9C3DJum%7=h^`F)
    
    diff --git a/jacoco/jacocoHtml/jacoco-resources/up.gif b/jacoco/jacocoHtml/jacoco-resources/up.gif
    deleted file mode 100644
    index 58ed21660ec467736a4d2af17d91341f7cfb556c..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 67
    zcmZ?wbhEHb<YC}qSjfcSX{EDa!-oH0p!k!8k&A(eL5G2Xk%5PSlYxOrWJ=;nroA^G
    Ub$^Kz-Nct)ygK&ScM%3_0PmU?SpWb4
    
    diff --git a/jacoco/jacocoHtml/jacoco-sessions.html b/jacoco/jacocoHtml/jacoco-sessions.html
    deleted file mode 100644
    index 1b040052..00000000
    --- a/jacoco/jacocoHtml/jacoco-sessions.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="ko"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="jacoco-resources/report.gif" type="image/gif"/><title>Sessions</title></head><body><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="jacoco-sessions.html" class="el_session">Sessions</a></span><a href="index.html" class="el_report">backend</a> &gt; <span class="el_session">Sessions</span></div><h1>Sessions</h1><p>This coverage report is based on execution data from the following sessions:</p><table class="coverage" cellspacing="0"><thead><tr><td>Session</td><td>Start Time</td><td>Dump Time</td></tr></thead><tbody><tr><td><span class="el_session">192.168.nate.com-bb3aee86</span></td><td>2024. 8. 20. 오후 3:37:34</td><td>2024. 8. 20. 오후 3:37:35</td></tr></tbody></table><p>Execution data for the following classes is considered in this report:</p><table class="coverage" cellspacing="0"><thead><tr><td>Class</td><td>Id</td></tr></thead><tbody><tr><td><span class="el_class">com.esotericsoftware.kryo.io.Input</span></td><td><code>82caa4ac8d2c9ad6</code></td></tr><tr><td><span class="el_class">com.esotericsoftware.kryo.io.Output</span></td><td><code>2e152e7951e62ecf</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.domain.DrawParticipationInfo</span></td><td><code>2f7522a1176e6343</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.domain.DrawParticipationInfo.DrawParticipationInfoBuilder</span></td><td><code>a198037a6f575d42</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.main.DrawMainFullAttendResponseDto</span></td><td><code>5c9b412866dc804d</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.main.DrawMainFullAttendResponseDto.DrawMainFullAttendResponseDtoBuilder</span></td><td><code>0497d1854ec6c326</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.main.DrawMainFullAttendResponseDto.DrawMainFullAttendResponseDtoBuilderImpl</span></td><td><code>2e7d9fe254887d73</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.main.DrawMainResponseDto</span></td><td><code>e57f49414d11ebfb</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.main.DrawMainResponseDto.DrawMainResponseDtoBuilder</span></td><td><code>09f060456f4172fd</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.main.DrawMainResponseDto.DrawMainResponseDtoBuilderImpl</span></td><td><code>37345d1746f193ab</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.modal.WinModal</span></td><td><code>a01d8303a8865ab3</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.modal.WinModal.WinModalBuilder</span></td><td><code>1a6963b760751eeb</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.participate.DrawLoseModalResponseDto</span></td><td><code>7a5eb561faa589a4</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.participate.DrawLoseModalResponseDto.DrawLoseModalResponseDtoBuilder</span></td><td><code>5d74f1fc2ef45fa7</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.participate.DrawLoseModalResponseDto.DrawLoseModalResponseDtoBuilderImpl</span></td><td><code>84cc03278dc14452</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.participate.DrawModalResponseDto</span></td><td><code>6047b37791ab65ea</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.participate.DrawModalResponseDto.DrawModalResponseDtoBuilder</span></td><td><code>c3962ef39da578ec</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.participate.DrawWinModalResponseDto</span></td><td><code>6bfbb033abb50778</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.participate.DrawWinModalResponseDto.DrawWinModalResponseDtoBuilder</span></td><td><code>5f2d70e3be129fde</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.participate.DrawWinModalResponseDto.DrawWinModalResponseDtoBuilderImpl</span></td><td><code>131f28ef10783c4b</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.result.DrawHistoryLoserResponseDto</span></td><td><code>3430a3c9da5951be</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.result.DrawHistoryLoserResponseDto.DrawHistoryLoserResponseDtoBuilder</span></td><td><code>ad9d3df2817e4569</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.result.DrawHistoryLoserResponseDto.DrawHistoryLoserResponseDtoBuilderImpl</span></td><td><code>7dfcd130fa9d73a5</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.result.DrawHistoryResponseDto</span></td><td><code>2743dea079f1a671</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.result.DrawHistoryResponseDto.DrawHistoryResponseDtoBuilder</span></td><td><code>21de0674438a3595</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.result.DrawHistoryWinnerResponseDto</span></td><td><code>b4123ef1399dce26</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.result.DrawHistoryWinnerResponseDto.DrawHistoryWinnerResponseDtoBuilder</span></td><td><code>09887a2c24ffe6c7</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.dto.result.DrawHistoryWinnerResponseDto.DrawHistoryWinnerResponseDtoBuilderImpl</span></td><td><code>88fbd0ad48ca50f4</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.repository.DrawParticipationInfoRepository.MockitoMock.idCetuk9</span></td><td><code>64b6eb41fc47e799</code></td></tr><tr><td><a href="com.softeer.backend.fo_domain.draw.service/DrawService.html" class="el_class">com.softeer.backend.fo_domain.draw.service.DrawService</a></td><td><code>5955d6e56d8c2266</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.draw.service.DrawServiceTest</span></td><td><code>9834fa8beee5feeb</code></td></tr><tr><td><a href="com.softeer.backend.fo_domain.share.domain/ShareInfo.html" class="el_class">com.softeer.backend.fo_domain.share.domain.ShareInfo</a></td><td><code>719e11d9b36a4460</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.share.domain.ShareInfo.ShareInfoBuilder</span></td><td><code>c12b2da32dbf2907</code></td></tr><tr><td><span class="el_class">com.softeer.backend.fo_domain.share.repository.ShareInfoRepository.MockitoMock.NtCPzznW</span></td><td><code>88af071ced4f1c14</code></td></tr><tr><td><span class="el_class">net.bytebuddy.ByteBuddy</span></td><td><code>d4e5f2084d659ff9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.ClassFileVersion</span></td><td><code>312924d88702471f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.ClassFileVersion.VersionLocator.Resolved</span></td><td><code>9ac78bd064c76f8d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.ClassFileVersion.VersionLocator.Resolver</span></td><td><code>8e3a1b13b270b126</code></td></tr><tr><td><span class="el_class">net.bytebuddy.NamingStrategy.AbstractBase</span></td><td><code>77e9d686c976f6e6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.NamingStrategy.Suffixing</span></td><td><code>65bfa03c85847dc9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.NamingStrategy.Suffixing.BaseNameResolver.ForUnnamedType</span></td><td><code>1fb9c5c929a4a173</code></td></tr><tr><td><span class="el_class">net.bytebuddy.NamingStrategy.SuffixingRandom</span></td><td><code>cdbdedcf0cea0a02</code></td></tr><tr><td><span class="el_class">net.bytebuddy.TypeCache</span></td><td><code>aced8dc0367a5d96</code></td></tr><tr><td><span class="el_class">net.bytebuddy.TypeCache.LookupKey</span></td><td><code>b75da15a4577d948</code></td></tr><tr><td><span class="el_class">net.bytebuddy.TypeCache.SimpleKey</span></td><td><code>99731a44c3f39c30</code></td></tr><tr><td><span class="el_class">net.bytebuddy.TypeCache.Sort</span></td><td><code>3f135d4f310abf3c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.TypeCache.Sort.1</span></td><td><code>3be4336e35a8cbfd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.TypeCache.Sort.2</span></td><td><code>5a2bb9e71930a24a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.TypeCache.Sort.3</span></td><td><code>5792db85826ac4ba</code></td></tr><tr><td><span class="el_class">net.bytebuddy.TypeCache.StorageKey</span></td><td><code>da984e48de27d4a8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.TypeCache.WithInlineExpunction</span></td><td><code>6677b9b25e623b8e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent</span></td><td><code>ad71a9981ce31835</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.AgentProvider.ForByteBuddyAgent</span></td><td><code>d96d83c378e4b7c7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.AttachmentProvider</span></td><td><code>558b162ec3514d70</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.AttachmentProvider.Accessor.ExternalAttachment</span></td><td><code>bc4dc1ecf926b7aa</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.AttachmentProvider.Accessor.Simple</span></td><td><code>fe449611bc5d402e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.AttachmentProvider.Accessor.Simple.WithExternalAttachment</span></td><td><code>8ab7d03279c5ecf1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.AttachmentProvider.Compound</span></td><td><code>8b67942538e8ebd3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.AttachmentProvider.ForEmulatedAttachment</span></td><td><code>92a70a9938510bd5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.AttachmentProvider.ForJ9Vm</span></td><td><code>efd931cc867f3dab</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.AttachmentProvider.ForModularizedVm</span></td><td><code>55ea154b91646a94</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.AttachmentProvider.ForStandardToolsJarVm</span></td><td><code>ce5818e184069ce4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.AttachmentProvider.ForUserDefinedToolsJar</span></td><td><code>fb47100058e0a73b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.AttachmentTypeEvaluator.ForJava9CapableVm</span></td><td><code>31af3eb996b54a27</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.AttachmentTypeEvaluator.InstallationAction</span></td><td><code>afbcafb17aff1452</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.ProcessProvider.ForCurrentVm</span></td><td><code>a469226be5030f2e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.ProcessProvider.ForCurrentVm.ForJava9CapableVm</span></td><td><code>09404c6c75e98c1b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.Installer</span></td><td><code>ba923adaa06c53f6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice</span></td><td><code>b0fe0e71ff93f6a2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.AdviceVisitor</span></td><td><code>6c52713bd97aebdf</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.AdviceVisitor.WithExitAdvice</span></td><td><code>6bcdd2ea66d30c7b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.AdviceVisitor.WithExitAdvice.WithoutExceptionHandling</span></td><td><code>3a922059b9efa307</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.ArgumentHandler.Factory</span></td><td><code>8f558df144a79fa3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.ArgumentHandler.Factory.1</span></td><td><code>b8c59524d3c1608c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.ArgumentHandler.Factory.2</span></td><td><code>d7e18c5e34e45431</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.ArgumentHandler.ForAdvice.Default</span></td><td><code>2654b7be38550369</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.ArgumentHandler.ForAdvice.Default.ForMethodEnter</span></td><td><code>23d924c1a642e5ac</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.ArgumentHandler.ForAdvice.Default.ForMethodExit</span></td><td><code>009324e69dfb7bee</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.ArgumentHandler.ForInstrumentedMethod.Default</span></td><td><code>c4b2699457e6f507</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.ArgumentHandler.ForInstrumentedMethod.Default.Copying</span></td><td><code>f1f7ecd140ebfad8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Delegator.ForRegularInvocation.Factory</span></td><td><code>e7dcdbb5632c4506</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher</span></td><td><code>8c02dfd8d10c42cf</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.Inactive</span></td><td><code>3af781df5fc5d561</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.Inlining</span></td><td><code>e20e8dd106f2f99f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.Inlining.CodeTranslationVisitor</span></td><td><code>da8495a6f5b0618f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.Inlining.Resolved</span></td><td><code>51bdb329d6523d2a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.Inlining.Resolved.AdviceMethodInliner</span></td><td><code>f2f0958e8ece3557</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.Inlining.Resolved.AdviceMethodInliner.ExceptionTableCollector</span></td><td><code>bb7fcec382de281f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.Inlining.Resolved.AdviceMethodInliner.ExceptionTableExtractor</span></td><td><code>b52eebb59cb3741b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.Inlining.Resolved.AdviceMethodInliner.ExceptionTableSubstitutor</span></td><td><code>d3779cedd1dab2c3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.Inlining.Resolved.ForMethodEnter</span></td><td><code>78e0d8685ef1ad78</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.Inlining.Resolved.ForMethodEnter.WithRetainedEnterType</span></td><td><code>2425d09ef91b43a5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.Inlining.Resolved.ForMethodExit</span></td><td><code>23e144b8483497f2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.Inlining.Resolved.ForMethodExit.WithoutExceptionHandler</span></td><td><code>b6f105d99e448647</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.Disabled</span></td><td><code>b48ef93464355186</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForType</span></td><td><code>48fb914baef18f09</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForValue</span></td><td><code>6ad96dd8e24a5fa3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForValue.1</span></td><td><code>d283ee8efcc21527</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForValue.2</span></td><td><code>d999fb1d1c4d10f3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForValue.3</span></td><td><code>a699658f52dd8c14</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForValue.4</span></td><td><code>76dfa51cd1b559c5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForValue.5</span></td><td><code>927826306c7c3f9c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForValue.6</span></td><td><code>bb01690954d53c4c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForValue.7</span></td><td><code>a82b12d0db3c3ffa</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForValue.8</span></td><td><code>791f94716069d428</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForValue.9</span></td><td><code>b0dd23a0fc8a3914</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForValue.Bound</span></td><td><code>de2631f1bc7af48b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForValue.OfNonDefault</span></td><td><code>191c3f826cae1fe8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.Relocation.ForLabel</span></td><td><code>0a196b169de105b2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.Resolved.AbstractBase</span></td><td><code>e26d32a2dfd4e517</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.SuppressionHandler.NoOp</span></td><td><code>83e82e51ac39da5c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.SuppressionHandler.Suppressing</span></td><td><code>97f0d2d1abc8a41a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.ExceptionHandler.Default</span></td><td><code>95aa59b2ac6c5532</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.ExceptionHandler.Default.1</span></td><td><code>6c847fdbf8e9412f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.ExceptionHandler.Default.2</span></td><td><code>460a77dcbeb82603</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.ExceptionHandler.Default.3</span></td><td><code>d05e63aa5c5677f9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.MethodSizeHandler.Default</span></td><td><code>39955d981daffba8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.MethodSizeHandler.Default.ForAdvice</span></td><td><code>96016eaf0b89ffa0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.MethodSizeHandler.Default.WithCopiedArguments</span></td><td><code>6316ae6b42ae182c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.NoExceptionHandler</span></td><td><code>c716788084c49961</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.Factory.AdviceType</span></td><td><code>222344ae47fda22a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.Factory.Illegal</span></td><td><code>b824ec4854bde89c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForAllArguments</span></td><td><code>1473b7bf9fc4e1b5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForAllArguments.Factory</span></td><td><code>98148d6454b592af</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForArgument</span></td><td><code>bf5687f0da9f282c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForArgument.Unresolved</span></td><td><code>70d54b6bc8b1a165</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForArgument.Unresolved.Factory</span></td><td><code>c81d13dcb77ae44a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForEnterValue</span></td><td><code>5f66c9717dc9cd52</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForEnterValue.Factory</span></td><td><code>00d9225ad08c457a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForExitValue.Factory</span></td><td><code>4cceb48fab57271e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForField.Unresolved.Factory</span></td><td><code>0ea3c196b6e38c75</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForFieldHandle.Unresolved.ReaderFactory</span></td><td><code>34b038446b31ef68</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForFieldHandle.Unresolved.WriterFactory</span></td><td><code>0932f02483480c5e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForInstrumentedMethod</span></td><td><code>65354e871d8adbde</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForInstrumentedMethod.1</span></td><td><code>4a0705f218dbb9fc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForInstrumentedMethod.2</span></td><td><code>d19b1cccf33a5a8f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForInstrumentedMethod.3</span></td><td><code>8de7b4c791e41ff3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForInstrumentedMethod.4</span></td><td><code>7ef55ab4ec291ec2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForInstrumentedMethod.5</span></td><td><code>a42feaf4b03f011c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForInstrumentedType</span></td><td><code>c6ccb02973e68c83</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForLocalValue.Factory</span></td><td><code>0d73abcfe4f6cd84</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForOrigin.Factory</span></td><td><code>ba9fe45627be64ec</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForReturnValue</span></td><td><code>037de4c0de22ee60</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForReturnValue.Factory</span></td><td><code>8c33b59194419c40</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForSelfCallHandle.Factory</span></td><td><code>2e0b5be7f8d227d2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForStackManipulation</span></td><td><code>893f7d56b99ed2f9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForStackManipulation.Factory</span></td><td><code>ff46cb5a042d7392</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForStubValue</span></td><td><code>0d0dac7cedadacd4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForThisReference</span></td><td><code>4a18584d2e6f227a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForThisReference.Factory</span></td><td><code>4fd20920981119f6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForThrowable.Factory</span></td><td><code>66521af76037a434</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForUnusedValue.Factory</span></td><td><code>9f8c6b55fbfa959d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.Sort</span></td><td><code>07c4c74b6c947d77</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.Sort.1</span></td><td><code>8762020e5a551f03</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.Sort.2</span></td><td><code>0132b220a0ddeced</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.Target.ForArray</span></td><td><code>ad5edf15a11747f0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.Target.ForArray.ReadOnly</span></td><td><code>f1af9ec13976a523</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.Target.ForDefaultValue</span></td><td><code>12ba553207b3fbc6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.Target.ForDefaultValue.ReadWrite</span></td><td><code>2fa4d41d2b076afc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.Target.ForStackManipulation</span></td><td><code>f4fee7d60b5ebfea</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.Target.ForVariable</span></td><td><code>c78affc57d49d65f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.Target.ForVariable.ReadOnly</span></td><td><code>6337d04d57e8e4d5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.Target.ForVariable.ReadWrite</span></td><td><code>ed4dd37175d86fc9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.PostProcessor.NoOp</span></td><td><code>1734734198eaa842</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.StackMapFrameHandler.Default</span></td><td><code>a2cdb1250c1f8c77</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.StackMapFrameHandler.Default.ForAdvice</span></td><td><code>8054e1db604d40e7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.StackMapFrameHandler.Default.Initialization</span></td><td><code>58f9436b88573fcc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.StackMapFrameHandler.Default.Initialization.1</span></td><td><code>b3b933a2a8bb0347</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.StackMapFrameHandler.Default.Initialization.2</span></td><td><code>b24e2d2b2973973c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.StackMapFrameHandler.Default.TranslationMode</span></td><td><code>391e320601da554c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.StackMapFrameHandler.Default.TranslationMode.1</span></td><td><code>5d217eb3f927f488</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.StackMapFrameHandler.Default.TranslationMode.2</span></td><td><code>fa5d135a66e1fa58</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.StackMapFrameHandler.Default.TranslationMode.3</span></td><td><code>2dce5e71b7838990</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.StackMapFrameHandler.Default.WithPreservedArguments</span></td><td><code>903f1e2f6280986b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.StackMapFrameHandler.Default.WithPreservedArguments.WithArgumentCopy</span></td><td><code>c0a8da66d215f7da</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.WithCustomMapping</span></td><td><code>78848064739adad4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.AsmVisitorWrapper.AbstractBase</span></td><td><code>3cd03b050731d22c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.AsmVisitorWrapper.Compound</span></td><td><code>7b1e520e5f4262e6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.AsmVisitorWrapper.ForDeclaredMethods</span></td><td><code>573191880a5a4e0d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.AsmVisitorWrapper.ForDeclaredMethods.DispatchingVisitor</span></td><td><code>ac51d486f8ec0e4b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.AsmVisitorWrapper.ForDeclaredMethods.Entry</span></td><td><code>28eb46b4467366d6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.AsmVisitorWrapper.NoOp</span></td><td><code>a613c160b15bbc65</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.MemberRemoval</span></td><td><code>005cb62907cc0df7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.MemberRemoval.MemberRemovingClassVisitor</span></td><td><code>fe382217ff7273dc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.ByteCodeElement.Token.TokenList</span></td><td><code>5956eb03e0839596</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.ModifierReviewable.AbstractBase</span></td><td><code>0b625f401d945e23</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.NamedElement.WithDescriptor</span></td><td><code>69f25e85d31086f5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.TypeVariableSource.AbstractBase</span></td><td><code>4471bc67a44c1ef1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationDescription</span></td><td><code>7e080fcc4ab41eb1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationDescription.AbstractBase</span></td><td><code>55a8b2f7b58a15aa</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationDescription.ForLoadedAnnotation</span></td><td><code>a2b247526c4d26ca</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationList.AbstractBase</span></td><td><code>8e489ae727355271</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationList.Empty</span></td><td><code>7f4960ffee633b85</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationList.Explicit</span></td><td><code>f438077a66a539b8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationList.ForLoadedAnnotations</span></td><td><code>443952df3e869f3e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue</span></td><td><code>e46e60f3e4357d8a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.AbstractBase</span></td><td><code>6b46c288929d794a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant</span></td><td><code>650f7b88da7502df</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForArrayType</span></td><td><code>9124b7f697a6f4a6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForArrayType.1</span></td><td><code>3e2be7538b8965b3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForArrayType.2</span></td><td><code>f54ef75705e3ce59</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForArrayType.3</span></td><td><code>37ebfc80c418ddec</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForArrayType.4</span></td><td><code>fbf5bd783149eab3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForArrayType.5</span></td><td><code>893433ef70df56ad</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForArrayType.6</span></td><td><code>3ad4bb1a0eb14611</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForArrayType.7</span></td><td><code>09ec057a92378b89</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForArrayType.8</span></td><td><code>e8575505930d9ea2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForArrayType.9</span></td><td><code>f6b42b3550f2d376</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType</span></td><td><code>8683233734d98d81</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType.1</span></td><td><code>ecf694f5c718a013</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType.2</span></td><td><code>113fe247f14fdcdd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType.3</span></td><td><code>ad40ce4c8d647d57</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType.4</span></td><td><code>649136274570c878</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType.5</span></td><td><code>25519a3723562b18</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType.6</span></td><td><code>d0a4ee1eb78e8925</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType.7</span></td><td><code>5cc6d38c7688ce9e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType.8</span></td><td><code>542fa217a5fe4c51</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType.9</span></td><td><code>9adc51229ebb26c9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForDescriptionArray</span></td><td><code>198e8cb892ebb0c6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForEnumerationDescription</span></td><td><code>451401174e8ca82f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForEnumerationDescription.Loaded</span></td><td><code>fda0610025cc12ff</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForTypeDescription</span></td><td><code>256f9475d7baab5e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.Loaded.AbstractBase</span></td><td><code>1a834bbf25c86ab4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.State</span></td><td><code>db0e0a0878d7e335</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.enumeration.EnumerationDescription.AbstractBase</span></td><td><code>36efae2fe3237ba9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.enumeration.EnumerationDescription.ForLoadedEnumeration</span></td><td><code>5b47cbeca30adac0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldDescription</span></td><td><code>53da8eaebbfbddbb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldDescription.AbstractBase</span></td><td><code>a20f5231a76bb980</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldDescription.ForLoadedField</span></td><td><code>31b51b7792efcc8a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldDescription.InDefinedShape.AbstractBase</span></td><td><code>7b3d946febaf5d33</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldDescription.Latent</span></td><td><code>b47200ad7e88dffb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldDescription.SignatureToken</span></td><td><code>3e1967b3504d4f43</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldDescription.Token</span></td><td><code>966f799bfb7c0668</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldList.AbstractBase</span></td><td><code>78739d279005d8a4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldList.Explicit</span></td><td><code>323b76a02a64f9a7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldList.ForLoadedFields</span></td><td><code>fc8cc870e5f42b89</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldList.ForTokens</span></td><td><code>ea98dba6ef4eb758</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription</span></td><td><code>4242f9f3ec05d9d8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.AbstractBase</span></td><td><code>d7265e748488ffc7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.ForLoadedConstructor</span></td><td><code>c634ab9c8e587e89</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.ForLoadedMethod</span></td><td><code>483c8f6d97caf847</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.InDefinedShape.AbstractBase</span></td><td><code>b33d93bb8cbd26c6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.InDefinedShape.AbstractBase.ForLoadedExecutable</span></td><td><code>2c34e3cd1c4620d7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.Latent</span></td><td><code>eba047d0ce33d6c2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.Latent.TypeInitializer</span></td><td><code>c77dbea1c1a57995</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.SignatureToken</span></td><td><code>806effdacef53f94</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.Token</span></td><td><code>d7a148a88bb734b4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.TypeSubstituting</span></td><td><code>78d976a6f400ec70</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.TypeToken</span></td><td><code>ef258f0fca0278e0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodList.AbstractBase</span></td><td><code>b054427f9b6a48f1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodList.Explicit</span></td><td><code>b03ab4c21a93dfd0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodList.ForLoadedMethods</span></td><td><code>38bd1bf17eb05676</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodList.ForTokens</span></td><td><code>40aa960dc7616ac5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodList.TypeSubstituting</span></td><td><code>f1f510557a04392e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterDescription.AbstractBase</span></td><td><code>244fa52c57557e62</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterDescription.ForLoadedParameter</span></td><td><code>b764f219b6fb497f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterDescription.ForLoadedParameter.OfConstructor</span></td><td><code>82a00db077e8417d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterDescription.ForLoadedParameter.OfMethod</span></td><td><code>8bd70a245946537e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterDescription.InDefinedShape.AbstractBase</span></td><td><code>717f5d8d90c005f1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterDescription.Latent</span></td><td><code>eb41c7e5a8c26f4d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterDescription.Token</span></td><td><code>6f6ff151883ddc85</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterDescription.Token.TypeList</span></td><td><code>0a24417518716030</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterDescription.TypeSubstituting</span></td><td><code>fbb01b7a5d680315</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterList.AbstractBase</span></td><td><code>6fe6f7a3a2c191ea</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterList.Empty</span></td><td><code>8f4a45d2f54ed28b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterList.Explicit.ForTypes</span></td><td><code>75d84e0b4fcd99a9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterList.ForLoadedExecutable</span></td><td><code>1456c072c3be7105</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterList.ForLoadedExecutable.OfConstructor</span></td><td><code>6d7eaa8911075319</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterList.ForLoadedExecutable.OfMethod</span></td><td><code>f0835708e2d15fb4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterList.ForTokens</span></td><td><code>b77d0ee711552f0c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterList.TypeSubstituting</span></td><td><code>293f1f350b97c439</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.modifier.FieldManifestation</span></td><td><code>61ed9ad5f460d425</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.modifier.ModifierContributor.Resolver</span></td><td><code>4c37457cc5fe415c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.modifier.Ownership</span></td><td><code>03978521bbedeaac</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.modifier.SynchronizationState</span></td><td><code>1ee1e76d573ad75b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.modifier.SyntheticState</span></td><td><code>0ea0b3d14a159257</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.modifier.TypeManifestation</span></td><td><code>823497b74af56cf0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.modifier.Visibility</span></td><td><code>eddec8671a9488f2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.modifier.Visibility.1</span></td><td><code>d7e383ada6123e01</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.PackageDescription.AbstractBase</span></td><td><code>fbc5f3918eb9463b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.PackageDescription.ForLoadedPackage</span></td><td><code>647cf445f49b7cf5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.PackageDescription.Simple</span></td><td><code>0cb49b8e5cdceb1d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.RecordComponentList.AbstractBase</span></td><td><code>fa2d664156de0c87</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.RecordComponentList.Empty</span></td><td><code>facb71157fa46ed2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.RecordComponentList.ForTokens</span></td><td><code>b72447d1fcbe18bd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDefinition.Sort</span></td><td><code>e252ac8a021f4082</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDefinition.SuperClassIterator</span></td><td><code>dcc41092c6176f54</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription</span></td><td><code>36fd0fa20ad52135</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.AbstractBase</span></td><td><code>5a025e6b487dc4d4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.AbstractBase.OfSimpleType</span></td><td><code>b303484d47559945</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.ArrayProjection</span></td><td><code>b2eaa11a9cb2dfdf</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.ForLoadedType</span></td><td><code>eaba95dbe7ff20e3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic</span></td><td><code>5601518ac3dba89e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AbstractBase</span></td><td><code>8945db84e33ef474</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator</span></td><td><code>3667bf74596341be</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator.Chained</span></td><td><code>2ffd4f682b50b7a3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator.ForLoadedExecutableExceptionType</span></td><td><code>23c446e41b00e3d9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator.ForLoadedExecutableParameterType</span></td><td><code>e193c6fbd692e84b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator.ForLoadedField</span></td><td><code>e78b70f23aa515c7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator.ForLoadedInterface</span></td><td><code>ff7d6be363126897</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator.ForLoadedMethodReturnType</span></td><td><code>6a49119e2f4e7230</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator.ForLoadedSuperClass</span></td><td><code>e75747426d68d747</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator.ForLoadedTypeVariable</span></td><td><code>6a8729e15b6adbf3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator.Simple</span></td><td><code>033590c3703b359c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.ForComponentType</span></td><td><code>1fa21fa04ad679a2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.ForOwnerType</span></td><td><code>cd6561b27e9a72b9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.ForTypeArgument</span></td><td><code>1a24787ee7d1fdc5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.ForTypeVariableBoundType</span></td><td><code>a53f175bb28a13d3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.ForTypeVariableBoundType.OfFormalTypeVariable</span></td><td><code>e84aca4ed9c79b18</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.ForWildcardUpperBoundType</span></td><td><code>7a16218b4894f05c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.NoOp</span></td><td><code>4b1711dc36edca14</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection</span></td><td><code>b83a2a6843ec6916</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.ForLoadedFieldType</span></td><td><code>1f7db8763aa7d013</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.ForLoadedReturnType</span></td><td><code>a44a81d315df37f4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.ForLoadedSuperClass</span></td><td><code>7f84f737a5aabc33</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.OfConstructorParameter</span></td><td><code>11fdd224cb82bcc7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.OfMethodParameter</span></td><td><code>bdf150371e5d9a88</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.WithEagerNavigation</span></td><td><code>51829bfdd36917df</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.WithEagerNavigation.OfAnnotatedElement</span></td><td><code>3a1283c2ece97dc2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.WithLazyNavigation</span></td><td><code>7b9fc51e9dea8fed</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.WithLazyNavigation.OfAnnotatedElement</span></td><td><code>11fd85e81e92a190</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.WithResolvedErasure</span></td><td><code>73e71223628a86da</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProxy</span></td><td><code>4b75a549e2d82324</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfGenericArray</span></td><td><code>b8f177aeb4e618c7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfGenericArray.ForLoadedType</span></td><td><code>87fa142a0a041b9b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfGenericArray.Latent</span></td><td><code>d3ee0097f5390e1c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfNonGenericType</span></td><td><code>66e33f9250f83f5f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfNonGenericType.ForErasure</span></td><td><code>71abd4e32c5684d2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfNonGenericType.ForLoadedType</span></td><td><code>8f8a4651bfc2f94f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfNonGenericType.Latent</span></td><td><code>dcd275cbd2ef3e3c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfParameterizedType</span></td><td><code>f2bed5aa1c761680</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfParameterizedType.ForGenerifiedErasure</span></td><td><code>767a5f3f34700710</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfParameterizedType.ForLoadedType</span></td><td><code>41d8107b8c1daaa8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfParameterizedType.ForLoadedType.ParameterArgumentTypeList</span></td><td><code>267045e8fde43f71</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfParameterizedType.Latent</span></td><td><code>8e35c02988d3f1af</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfTypeVariable</span></td><td><code>ddbefd09e03fd1b0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfTypeVariable.ForLoadedType</span></td><td><code>d5143b55d1bedb1e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfTypeVariable.ForLoadedType.TypeVariableBoundList</span></td><td><code>8261a702dcf6b622</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfTypeVariable.Symbolic</span></td><td><code>b027db9e179ee652</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfTypeVariable.WithAnnotationOverlay</span></td><td><code>cbd83eec8d2e8489</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfWildcardType</span></td><td><code>2bc3088df35c8422</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfWildcardType.ForLoadedType</span></td><td><code>4f61b7ff9f8e931f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfWildcardType.ForLoadedType.WildcardLowerBoundTypeList</span></td><td><code>63922206431afb9f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfWildcardType.ForLoadedType.WildcardUpperBoundTypeList</span></td><td><code>0554a12f18e220b5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfWildcardType.Latent</span></td><td><code>6a424c1b0863ca5b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.ForRawType</span></td><td><code>ef813417b8dd5115</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.ForSignatureVisitor</span></td><td><code>7c9ee6e3c386d02f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.ForSignatureVisitor.OfTypeArgument</span></td><td><code>d8e6035b10ed1222</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Reducing</span></td><td><code>7e9f92325793d797</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Reifying</span></td><td><code>f695f950ef96d452</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Reifying.1</span></td><td><code>3887b35198c64c3f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Reifying.2</span></td><td><code>dda2c47b308dfe77</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Substitutor</span></td><td><code>1643b68abc9226b5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Substitutor.ForAttachment</span></td><td><code>90652ad844af97e8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Substitutor.ForDetachment</span></td><td><code>314960996c0e9fe4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Substitutor.ForTypeVariableBinding</span></td><td><code>1aa87951e5899f01</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Substitutor.ForTypeVariableBinding.RetainedMethodTypeVariable</span></td><td><code>13a8e6bcf229981a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Substitutor.ForTypeVariableBinding.TypeVariableSubstitutor</span></td><td><code>6e5bae1e7e888fd4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Substitutor.WithoutTypeSubstitution</span></td><td><code>10dc462a02d28569</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.TypeErasing</span></td><td><code>7c319b6cec9530e2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Validator</span></td><td><code>13ff0a7ec71a9596</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Validator.1</span></td><td><code>3122adbd7aaaeca9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Validator.2</span></td><td><code>36d36c5061f2243e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Validator.3</span></td><td><code>ca3595549a574d77</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Validator.ForTypeAnnotations</span></td><td><code>f22bf42b89621378</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.LazyProxy</span></td><td><code>1060349463062059</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList</span></td><td><code>da60a7cfb717d0a8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.AbstractBase</span></td><td><code>4700315364477234</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Empty</span></td><td><code>59d00ad7b53c811a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Explicit</span></td><td><code>81495dfc3a359dfe</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.ForLoadedTypes</span></td><td><code>4356a7471aec6f20</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.AbstractBase</span></td><td><code>5376e1d2298a6512</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.Empty</span></td><td><code>df9431d33e66dbb4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.Explicit</span></td><td><code>1ab8c93e54ee2ac6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.ForDetachedTypes</span></td><td><code>1b6544725fdb45a6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.ForDetachedTypes.OfTypeVariables</span></td><td><code>05b85732c40f12b7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.ForDetachedTypes.OfTypeVariables.AttachedTypeVariable</span></td><td><code>8133514c5d90955c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.ForDetachedTypes.WithResolvedErasure</span></td><td><code>3ae7efc80de7c3db</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.ForLoadedTypes</span></td><td><code>c603bfa8790b860c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.ForLoadedTypes.OfTypeVariables</span></td><td><code>d713fc161a8b3c83</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.OfConstructorExceptionTypes</span></td><td><code>41a985dd07ed867c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.OfLoadedInterfaceTypes</span></td><td><code>99d4f3faf0ed1337</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.OfLoadedInterfaceTypes.TypeProjection</span></td><td><code>7f6f3c7654719119</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.OfMethodExceptionTypes</span></td><td><code>74966b175ac75ab9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.OfMethodExceptionTypes.TypeProjection</span></td><td><code>2d651d381fd3d0a8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeVariableToken</span></td><td><code>0b904605bce2d673</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.ClassFileLocator.ForClassLoader</span></td><td><code>bc2296cfb91301b0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.ClassFileLocator.ForClassLoader.BootLoaderProxyCreationAction</span></td><td><code>bef49ddd37f152e7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.ClassFileLocator.Resolution.Explicit</span></td><td><code>a44d2b3d4cf22e0e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.ClassFileLocator.Simple</span></td><td><code>5ec3e1fe094d9677</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase</span></td><td><code>8b697109899c9f1c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase.Adapter</span></td><td><code>c239cebb09dc521b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase.Adapter.FieldDefinitionAdapter</span></td><td><code>95f089373e121f7c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase.Adapter.MethodDefinitionAdapter</span></td><td><code>2e966526edcb873d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase.Adapter.MethodDefinitionAdapter.AnnotationAdapter</span></td><td><code>8158ace8dc815026</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase.Adapter.MethodDefinitionAdapter.SimpleParameterAnnotationAdapter</span></td><td><code>47371bc63761204d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase.Adapter.MethodMatchAdapter</span></td><td><code>3d734adb6ddc1b18</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase.Adapter.MethodMatchAdapter.AnnotationAdapter</span></td><td><code>870c4a748d272702</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase.Adapter.OptionalMethodMatchAdapter</span></td><td><code>8ae5d509775196fa</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase.Delegator</span></td><td><code>3f1fabfaec45a27c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase.UsingTypeWriter</span></td><td><code>3ca14d92cfc3bc3b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.FieldDefinition.Optional.AbstractBase</span></td><td><code>7ff3ef3d7a52aeda</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.FieldDefinition.Optional.Valuable.AbstractBase</span></td><td><code>6f4cbe7b3cf65d41</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.FieldDefinition.Optional.Valuable.AbstractBase.Adapter</span></td><td><code>f6c60e62d9344f54</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.AbstractBase</span></td><td><code>3bf64c5f90a05b38</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.AbstractBase.Adapter</span></td><td><code>e1416bad6f01b268</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.ExceptionDefinition.AbstractBase</span></td><td><code>6a660545adbbedde</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.ImplementationDefinition.AbstractBase</span></td><td><code>8233c005598191ed</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.ParameterDefinition.AbstractBase</span></td><td><code>af2910a38e7ac02e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.ParameterDefinition.Initial.AbstractBase</span></td><td><code>d24c948296af6d68</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.ParameterDefinition.Simple.AbstractBase</span></td><td><code>9b31315749acebaf</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.ParameterDefinition.Simple.Annotatable.AbstractBase</span></td><td><code>6c42f489e12f3841</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.ParameterDefinition.Simple.Annotatable.AbstractBase.Adapter</span></td><td><code>18ee5a7716255e41</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.ReceiverTypeDefinition.AbstractBase</span></td><td><code>2531fe5794acf41f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.TypeVariableDefinition.AbstractBase</span></td><td><code>433828b210243d94</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Default</span></td><td><code>0f62ddd57860b9e1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Default.Loaded</span></td><td><code>973a422e6432796e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Default.Unloaded</span></td><td><code>cd577d53be4c22d5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.TargetType</span></td><td><code>26c139b5f2f58862</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.Transformer.Compound</span></td><td><code>a5a52522b43091ef</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.Transformer.ForMethod</span></td><td><code>22ab387d59f6c970</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.Transformer.ForMethod.MethodModifierTransformer</span></td><td><code>829c18ff395159ba</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.Transformer.ForMethod.TransformedMethod</span></td><td><code>083bfd5734c4504d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.Transformer.ForMethod.TransformedMethod.AttachmentVisitor</span></td><td><code>43014c50e1310fbf</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.Transformer.ForMethod.TransformedMethod.TransformedParameter</span></td><td><code>84642c4a6f0d1bdc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.Transformer.ForMethod.TransformedMethod.TransformedParameterList</span></td><td><code>54d561afbee57f99</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.Transformer.NoOp</span></td><td><code>49cd89a2b3b975a3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.TypeResolutionStrategy.Passive</span></td><td><code>d5784ee7fb36ce53</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.VisibilityBridgeStrategy.Default</span></td><td><code>ae8d9f7fd85c6aad</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.VisibilityBridgeStrategy.Default.1</span></td><td><code>63c0d42260c7599e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.VisibilityBridgeStrategy.Default.2</span></td><td><code>a8389e9d32c4ecd7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.VisibilityBridgeStrategy.Default.3</span></td><td><code>30f7afc5a8be245c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ByteArrayClassLoader</span></td><td><code>d00c8733dea299dd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ByteArrayClassLoader.ClassDefinitionAction</span></td><td><code>25513de2d7f3a1cc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ByteArrayClassLoader.PackageLookupStrategy.CreationAction</span></td><td><code>5ab9077977a569a3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ByteArrayClassLoader.PackageLookupStrategy.ForJava9CapableVm</span></td><td><code>f72740caac2e4fba</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ByteArrayClassLoader.PersistenceHandler</span></td><td><code>6d61f61ae555258a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ByteArrayClassLoader.PersistenceHandler.1</span></td><td><code>680488d6e62d40d1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ByteArrayClassLoader.PersistenceHandler.2</span></td><td><code>6bf6915f86de0792</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ByteArrayClassLoader.SynchronizationStrategy.CreationAction</span></td><td><code>49781f9101d11acc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ByteArrayClassLoader.SynchronizationStrategy.ForJava8CapableVm</span></td><td><code>ccca5f228cf2a595</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassFilePostProcessor.NoOp</span></td><td><code>3c8088887326744a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassInjector.AbstractBase</span></td><td><code>331215a38873f162</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassInjector.UsingReflection</span></td><td><code>9b4c6d016e86d89d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassInjector.UsingReflection.Dispatcher.CreationAction</span></td><td><code>e95efd9bc7c2fbec</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassInjector.UsingReflection.Dispatcher.UsingUnsafeInjection</span></td><td><code>ee369f8a9915cac0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassInjector.UsingUnsafe</span></td><td><code>6f205111f44e745f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassInjector.UsingUnsafe.Dispatcher.CreationAction</span></td><td><code>acadd9b7008a78d6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassInjector.UsingUnsafe.Dispatcher.Enabled</span></td><td><code>a365360113d70680</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassLoadingStrategy</span></td><td><code>17fb081ccc92f99c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassLoadingStrategy.Default</span></td><td><code>7390ec8634515594</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassLoadingStrategy.Default.InjectionDispatcher</span></td><td><code>759cb7a298fc98b7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassLoadingStrategy.Default.WrappingDispatcher</span></td><td><code>88c49bdd78533ba6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassLoadingStrategy.ForUnsafeInjection</span></td><td><code>fae0995eb7740944</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.InjectionClassLoader</span></td><td><code>cbd809288c0dad36</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.MultipleParentClassLoader.Builder</span></td><td><code>c6fb9f2d63f216f9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.PackageDefinitionStrategy.Definition.Trivial</span></td><td><code>b136ce1c9387d14f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.PackageDefinitionStrategy.Definition.Undefined</span></td><td><code>2f1d95f3613d9f49</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.PackageDefinitionStrategy.NoOp</span></td><td><code>3d34f5f46e1c0610</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.PackageDefinitionStrategy.Trivial</span></td><td><code>848dce81f4e8d105</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.ClassWriterStrategy.Default</span></td><td><code>f0774d4bbe85a809</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.ClassWriterStrategy.Default.1</span></td><td><code>09a3c2cfe88a5ae4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.ClassWriterStrategy.Default.2</span></td><td><code>76afb59bd5abdd5f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.ClassWriterStrategy.FrameComputingClassWriter</span></td><td><code>52e278e8d81b4dc4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.FieldLocator.AbstractBase</span></td><td><code>54f490d54da29c16</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.FieldLocator.ForClassHierarchy</span></td><td><code>166417044cd009a4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.FieldLocator.ForClassHierarchy.Factory</span></td><td><code>f656bc98a970fd47</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.FieldLocator.Resolution.Illegal</span></td><td><code>a9972cd13cf8462c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.FieldLocator.Resolution.Simple</span></td><td><code>de8883fdeb865c93</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.FieldRegistry.Default</span></td><td><code>cc5265630d0906f2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.FieldRegistry.Default.Compiled</span></td><td><code>00933225bc77b175</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.FieldRegistry.Default.Compiled.Entry</span></td><td><code>0ec1361a69a955fd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.FieldRegistry.Default.Entry</span></td><td><code>a7413622fd851aa9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.InstrumentedType.Default</span></td><td><code>f7579d046e578eec</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.InstrumentedType.Factory.Default</span></td><td><code>cd900ae01efd903f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.InstrumentedType.Factory.Default.1</span></td><td><code>a7ce85bb2f37ff77</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.InstrumentedType.Factory.Default.2</span></td><td><code>ad157a47dace4f55</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler</span></td><td><code>fc88be698cc4a50f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.AbstractBase</span></td><td><code>ad55505e167100d9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default</span></td><td><code>af94c7ab11c1fcdd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Harmonizer.ForJavaMethod</span></td><td><code>7031164d2b791e9e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Harmonizer.ForJavaMethod.Token</span></td><td><code>7182cc44c6651e89</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Key</span></td><td><code>a65d37875a395ddb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Key.Detached</span></td><td><code>3f02da9703ce5c2d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Key.Harmonized</span></td><td><code>388d8cbf8e63aa90</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Key.Store</span></td><td><code>1a1546093db6edc8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Key.Store.Entry.Ambiguous</span></td><td><code>0b0a2fb9ec96eb00</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Key.Store.Entry.Initial</span></td><td><code>ea7f0be36536a4bb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Key.Store.Entry.Resolved</span></td><td><code>ba93041ed575e0c7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Key.Store.Entry.Resolved.Node</span></td><td><code>1f19152a07e27690</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Key.Store.Graph</span></td><td><code>dd183a5630da8a82</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Merger.Directional</span></td><td><code>431cb1fc240f1328</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.ForDeclaredMethods</span></td><td><code>80835a5a4610b1d3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Empty</span></td><td><code>de57d507ae61b464</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Linked.Delegation</span></td><td><code>7341085250d5f338</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Node.Simple</span></td><td><code>f9767f80e7124acc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Node.Sort</span></td><td><code>8e20af4bf9dad8a0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Node.Unresolved</span></td><td><code>c42332646fb3e771</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.NodeList</span></td><td><code>15622cc8eb6ac006</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Simple</span></td><td><code>3ab25bf2fa755adb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodRegistry.Default</span></td><td><code>a688cfda627119db</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodRegistry.Default.Compiled</span></td><td><code>dcd52aed23ae0b55</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodRegistry.Default.Compiled.Entry</span></td><td><code>44710ee8541c44cf</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodRegistry.Default.Entry</span></td><td><code>b1cbe9bdfc76e994</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodRegistry.Default.Prepared</span></td><td><code>9bba4ee547c8082c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodRegistry.Default.Prepared.Entry</span></td><td><code>53689d93cf82f768</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodRegistry.Handler.ForImplementation</span></td><td><code>ea77701fcbc47e2c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodRegistry.Handler.ForImplementation.Compiled</span></td><td><code>7b000ab44a4af2cc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.RecordComponentRegistry.Default</span></td><td><code>eec49897d441dcbe</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.RecordComponentRegistry.Default.Compiled</span></td><td><code>1d64a300c478cbd4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeInitializer.Drain.Default</span></td><td><code>a3bc2736d5ad95f5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeInitializer.None</span></td><td><code>d062b02ed3f4d342</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeInitializer.Simple</span></td><td><code>3429322f4d42e2d4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeValidation</span></td><td><code>b9ab70dc0d5e3c60</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default</span></td><td><code>c13cf997e386f3cc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ClassDumpAction.Dispatcher.Disabled</span></td><td><code>d4f0d2e7fbcab045</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ForCreation</span></td><td><code>fc9ad618be46b3c0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ForInlining</span></td><td><code>299c2478af802227</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ForInlining.ContextRegistry</span></td><td><code>dfee6deed9a49e33</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ForInlining.WithFullProcessing</span></td><td><code>bf4cd0530bebc828</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ForInlining.WithFullProcessing.InitializationHandler.Creating</span></td><td><code>b01ca83867dc0a50</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ForInlining.WithFullProcessing.OpenedClassRemapper</span></td><td><code>9e0d8af34c811602</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ForInlining.WithFullProcessing.RedefinitionClassVisitor</span></td><td><code>f41a382ab3215f3e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.SignatureKey</span></td><td><code>d20a5d7220afbb42</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.UnresolvedType</span></td><td><code>3f5380fd3549f07e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ValidatingClassVisitor</span></td><td><code>0449b85d73902e5f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ValidatingClassVisitor.Constraint.Compound</span></td><td><code>522fa4e49e512828</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ValidatingClassVisitor.Constraint.ForClass</span></td><td><code>73e7f3e477121987</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ValidatingClassVisitor.Constraint.ForClassFileVersion</span></td><td><code>9e87393ba441dbdc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ValidatingClassVisitor.ValidatingFieldVisitor</span></td><td><code>32779ab29633e9ef</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ValidatingClassVisitor.ValidatingMethodVisitor</span></td><td><code>a412717a1b97aba3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.FieldPool.Record.ForExplicitField</span></td><td><code>a03e0587988aae1f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.FieldPool.Record.ForImplicitField</span></td><td><code>b7f49ad994b5b989</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.MethodPool.Record.AccessBridgeWrapper</span></td><td><code>9527fd76169900c9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.MethodPool.Record.AccessBridgeWrapper.AccessorBridge</span></td><td><code>1496ecf7d9a77025</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.MethodPool.Record.AccessBridgeWrapper.BridgeTarget</span></td><td><code>993a3ceba7447d02</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.MethodPool.Record.ForDefinedMethod</span></td><td><code>e3fde8a86929682d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.MethodPool.Record.ForDefinedMethod.WithBody</span></td><td><code>963047d43410ba83</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.MethodPool.Record.ForNonImplementedMethod</span></td><td><code>28a00d78fb553a8c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.MethodPool.Record.Sort</span></td><td><code>928d954d831a88bc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.inline.AbstractInliningDynamicTypeBuilder</span></td><td><code>3dcbe96c7737ffda</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.inline.InliningImplementationMatcher</span></td><td><code>385ec334716921a9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.inline.MethodRebaseResolver.Disabled</span></td><td><code>687ef4457dff2d12</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.inline.RedefinitionDynamicTypeBuilder</span></td><td><code>cc7957febfc5cb21</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.ConstructorStrategy.Default</span></td><td><code>0d114e09a2faac83</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.ConstructorStrategy.Default.1</span></td><td><code>16fc5c99e02d7f9f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.ConstructorStrategy.Default.2</span></td><td><code>dd199479878d5739</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.ConstructorStrategy.Default.3</span></td><td><code>792ea5ce51475037</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.ConstructorStrategy.Default.4</span></td><td><code>98fceb895a262b45</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.ConstructorStrategy.Default.5</span></td><td><code>f0898605f9020c16</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.SubclassDynamicTypeBuilder</span></td><td><code>15df30285a830f7f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.SubclassDynamicTypeBuilder.InstrumentableMatcher</span></td><td><code>c2850d79fc87446b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.SubclassImplementationTarget</span></td><td><code>17f509a8b52b39f3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.SubclassImplementationTarget.Factory</span></td><td><code>f6c0a700d93e9d10</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.SubclassImplementationTarget.OriginTypeResolver</span></td><td><code>282c73cc811d5b71</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.SubclassImplementationTarget.OriginTypeResolver.1</span></td><td><code>2eb773d398b87160</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.SubclassImplementationTarget.OriginTypeResolver.2</span></td><td><code>903a99da03746eb8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.FieldAccessor</span></td><td><code>c717fff4ac23e0ca</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.FieldAccessor.FieldLocation.Relative</span></td><td><code>b3e919957424f848</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.FieldAccessor.FieldLocation.Relative.Prepared</span></td><td><code>aa68ebf60b4f0bef</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.FieldAccessor.FieldNameExtractor.ForBeanProperty</span></td><td><code>b178a2653a5bafe9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.FieldAccessor.FieldNameExtractor.ForBeanProperty.1</span></td><td><code>e8b3de54c6138911</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.FieldAccessor.FieldNameExtractor.ForBeanProperty.2</span></td><td><code>7de6825165503ed1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.FieldAccessor.ForImplicitProperty</span></td><td><code>2077b83bedb8edde</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.FieldAccessor.ForImplicitProperty.Appender</span></td><td><code>b07cb6f14ea187be</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.Default</span></td><td><code>8e12655fc557738e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.Default.AbstractPropertyAccessorMethod</span></td><td><code>f23dc6369a1530e9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.Default.AccessorMethod</span></td><td><code>9be66f5be8d9fa45</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.Default.AccessorMethodDelegation</span></td><td><code>542747c99b66ec54</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.Default.CacheValueField</span></td><td><code>31a151ad62bab895</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.Default.DelegationRecord</span></td><td><code>70526320a1ad9cc3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.Default.Factory</span></td><td><code>d24c34bb404ca859</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.Default.FieldCacheEntry</span></td><td><code>8e7d6b7ed6743234</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.Disabled</span></td><td><code>53c73dd8eaae49ac</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.Disabled.Factory</span></td><td><code>adbbab47d629267a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.ExtractableView.AbstractBase</span></td><td><code>959623d5e0291105</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.FrameGeneration</span></td><td><code>a627c6d2ae1b5444</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.FrameGeneration.1</span></td><td><code>aaa6feaf64d85e8c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.FrameGeneration.2</span></td><td><code>a780e343d57d9071</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.FrameGeneration.3</span></td><td><code>2c34a94c8147f015</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.SpecialMethodInvocation.AbstractBase</span></td><td><code>a38cf2d5897906e6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.SpecialMethodInvocation.Illegal</span></td><td><code>0c59caca158bef52</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.SpecialMethodInvocation.Simple</span></td><td><code>1d406914f1f50463</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Target.AbstractBase</span></td><td><code>f7115dc2601ca003</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Target.AbstractBase.DefaultMethodInvocation</span></td><td><code>d1fa9bdfb38c1038</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Target.AbstractBase.DefaultMethodInvocation.1</span></td><td><code>5721353bb15366ec</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Target.AbstractBase.DefaultMethodInvocation.2</span></td><td><code>a3a810091d4e9086</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.LoadedTypeInitializer.NoOp</span></td><td><code>1af8ca0d9b7adbe8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodAccessorFactory.AccessType</span></td><td><code>a8b1b417256441f1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall</span></td><td><code>ae4dca29f42e39d5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.Appender</span></td><td><code>36c14b929a5d9485</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.ArgumentLoader.ForMethodParameter</span></td><td><code>f435ec4bd832341c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.ArgumentLoader.ForMethodParameter.Factory</span></td><td><code>14d10834f68773ca</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.MethodInvoker.ForContextualInvocation</span></td><td><code>67d21233b61c5c16</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.MethodInvoker.ForContextualInvocation.Factory</span></td><td><code>473b92f68bfbccba</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.MethodInvoker.ForVirtualInvocation.WithImplicitType</span></td><td><code>a39c338c28e91204</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.MethodLocator.ForExplicitMethod</span></td><td><code>98c72c41253ed08a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TargetHandler.ForMethodCall</span></td><td><code>0caad707b30ae193</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TargetHandler.ForMethodCall.Factory</span></td><td><code>c1832cb5d54736e4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TargetHandler.ForMethodCall.Resolved</span></td><td><code>7bf0e6eeede8ac9d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TargetHandler.ForMethodParameter</span></td><td><code>7f338183a38839e1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TargetHandler.ForMethodParameter.Resolved</span></td><td><code>6392db92c53c1bb9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TargetHandler.ForSelfOrStaticInvocation</span></td><td><code>d1b18e3b58b886f7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TargetHandler.ForSelfOrStaticInvocation.Factory</span></td><td><code>ce3c235283ac0dd6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TargetHandler.ForSelfOrStaticInvocation.Resolved</span></td><td><code>1c1abf86b318738e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TerminationHandler.Simple</span></td><td><code>6690aed6e7a18218</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TerminationHandler.Simple.1</span></td><td><code>295d1288fc335ed1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TerminationHandler.Simple.2</span></td><td><code>9e9230bbbb470354</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TerminationHandler.Simple.3</span></td><td><code>f579959891e14d29</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.WithoutSpecifiedTarget</span></td><td><code>d0b373c9e0216c67</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodDelegation</span></td><td><code>c1415fee7b21870c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodDelegation.Appender</span></td><td><code>f1ea47b04d738fac</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodDelegation.ImplementationDelegate.Compiled.ForStaticCall</span></td><td><code>2afafc9e131f3a8c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodDelegation.ImplementationDelegate.ForStaticMethod</span></td><td><code>5b03f5bbc3a0bfa2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodDelegation.WithCustomProperties</span></td><td><code>15991377debf2c67</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.SuperMethodCall</span></td><td><code>48a9709638c71f00</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.SuperMethodCall.Appender</span></td><td><code>1278488d60ed8e86</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.SuperMethodCall.Appender.TerminationHandler</span></td><td><code>35d2e0ef6d7f630d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.SuperMethodCall.Appender.TerminationHandler.1</span></td><td><code>05664af3a3b6738b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.SuperMethodCall.Appender.TerminationHandler.2</span></td><td><code>be670f96c6d93831</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationAppender.1</span></td><td><code>09e39802151aefbf</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationAppender.Default</span></td><td><code>7787cf7f483d6685</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationAppender.ForTypeAnnotations</span></td><td><code>040d5aab72de4582</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationAppender.Target.OnField</span></td><td><code>52ad3ce83f52621f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationAppender.Target.OnMethod</span></td><td><code>b2534f024a4880dd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationAppender.Target.OnMethodParameter</span></td><td><code>c9f39d80b694c092</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationAppender.Target.OnType</span></td><td><code>db8f4f1dbbcf3c3e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationRetention</span></td><td><code>6dca59a58d56874f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationValueFilter.Default</span></td><td><code>190882f8828de18a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationValueFilter.Default.1</span></td><td><code>593737e47cc84848</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationValueFilter.Default.2</span></td><td><code>a61861baa0bc96ee</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.FieldAttributeAppender.ForInstrumentedField</span></td><td><code>ca19f51ae14fb7b4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.MethodAttributeAppender.Compound</span></td><td><code>87d24d92007e506e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.MethodAttributeAppender.Factory.Compound</span></td><td><code>85113e9ca3ae38c3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.MethodAttributeAppender.ForInstrumentedMethod</span></td><td><code>4e40a53e08d4cbbb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.MethodAttributeAppender.ForInstrumentedMethod.1</span></td><td><code>a3b87b1a75d290fd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.MethodAttributeAppender.ForInstrumentedMethod.2</span></td><td><code>10e734a991eea3bf</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.MethodAttributeAppender.NoOp</span></td><td><code>aa6841038c96aed0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.TypeAttributeAppender.ForInstrumentedType</span></td><td><code>537a1dac83c99ae9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.TypeAttributeAppender.ForInstrumentedType.Differentiating</span></td><td><code>542ad65dee4078dd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.auxiliary.AuxiliaryType</span></td><td><code>577555a7861b5701</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.auxiliary.AuxiliaryType.NamingStrategy.SuffixingRandom</span></td><td><code>9ff4d19573d987f3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.auxiliary.MethodCallProxy</span></td><td><code>e4ad67673bba91b3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.auxiliary.MethodCallProxy.AssignableSignatureCall</span></td><td><code>e32307e618f933aa</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.auxiliary.MethodCallProxy.ConstructorCall</span></td><td><code>b40129a97ef170e6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.auxiliary.MethodCallProxy.ConstructorCall.Appender</span></td><td><code>6a4a35552c21bf78</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.auxiliary.MethodCallProxy.MethodCall</span></td><td><code>d2f0f120376a3b4f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.auxiliary.MethodCallProxy.MethodCall.Appender</span></td><td><code>df4a3b2e219da333</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.auxiliary.MethodCallProxy.PrecomputedMethodGraph</span></td><td><code>7fb29fbd9d22e04c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.ArgumentTypeResolver</span></td><td><code>74973272be85ce17</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.ArgumentTypeResolver.ParameterIndexToken</span></td><td><code>a8052b758f0a0361</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.DeclaringTypeResolver</span></td><td><code>d1000b5d5bf7bd79</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.1</span></td><td><code>54de841f73ee4eae</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.AmbiguityResolver</span></td><td><code>7d40b5a2d5d69397</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.AmbiguityResolver.Compound</span></td><td><code>eab4a548d2693cd2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.AmbiguityResolver.Resolution</span></td><td><code>e8ca39d95b4ade42</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.BindingResolver.Default</span></td><td><code>ed3f9e212bdf4696</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.MethodBinding.Builder</span></td><td><code>ffaacecf2e1956bd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.MethodBinding.Builder.Build</span></td><td><code>fbe15ed2c0b7c26f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.MethodBinding.Illegal</span></td><td><code>ca301be97fe35cde</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.MethodInvoker.Simple</span></td><td><code>dafea2ba3b2f164b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.ParameterBinding.Anonymous</span></td><td><code>30b0f734840f8b2c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.ParameterBinding.Illegal</span></td><td><code>470dc52d77c3898e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.ParameterBinding.Unique</span></td><td><code>c60c100f523804e4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.Processor</span></td><td><code>1dd9238ba412581f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.TerminationHandler.Default</span></td><td><code>946265fda2ca27e8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.TerminationHandler.Default.1</span></td><td><code>db109132d7373fda</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.TerminationHandler.Default.2</span></td><td><code>cb3895b610bd15d5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodNameEqualityResolver</span></td><td><code>65a8d1431b34fdcd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.ParameterLengthResolver</span></td><td><code>58a025cd0f10dff1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.AllArguments.Assignment</span></td><td><code>a9a852c11b320ab1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.AllArguments.Binder</span></td><td><code>70d2d38d942236e9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.Argument.Binder</span></td><td><code>d9599526792299bc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.Argument.BindingMechanic</span></td><td><code>3c1577b22755160a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.Argument.BindingMechanic.1</span></td><td><code>0d55bcd6ddcb95ce</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.Argument.BindingMechanic.2</span></td><td><code>a10c7561f9e6f193</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.BindingPriority.Resolver</span></td><td><code>2fd170c18c979895</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.Default.Binder</span></td><td><code>fdd8dd2baa86d3db</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.DefaultCall.Binder</span></td><td><code>da1f6e99880fdd81</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.DefaultCallHandle.Binder</span></td><td><code>e06c83e6a5d67914</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.DefaultMethod.Binder</span></td><td><code>03d209c7b50b3b07</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.DefaultMethodHandle.Binder</span></td><td><code>a2ceb680358bbf3b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.Empty.Binder</span></td><td><code>7c3892404f623e5a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.FieldGetterHandle.Binder</span></td><td><code>861b7c22fc0276d1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.FieldGetterHandle.Binder.Delegate</span></td><td><code>311d13f023d8289a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.FieldSetterHandle.Binder</span></td><td><code>73928d415965e531</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.FieldSetterHandle.Binder.Delegate</span></td><td><code>87df40b62880da89</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.FieldValue.Binder</span></td><td><code>62660cf02a28bd16</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.FieldValue.Binder.Delegate</span></td><td><code>0f20336b20b2e19e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.IgnoreForBinding.Verifier</span></td><td><code>f6eaa0a37f2ce769</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.Origin.Binder</span></td><td><code>de6b5494873daefa</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.RuntimeType.Verifier</span></td><td><code>79ef98193cf36f83</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.StubValue.Binder</span></td><td><code>47dfbe906a0f1712</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.Super.Binder</span></td><td><code>159db3adf8f80917</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.SuperCall.Binder</span></td><td><code>ab7d9c4bff4cce1f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.SuperCallHandle.Binder</span></td><td><code>7b8a4c06e71007ba</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.SuperMethod.Binder</span></td><td><code>787b81ea7c3cf9d1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.SuperMethodHandle.Binder</span></td><td><code>24c923e11496eb8f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder</span></td><td><code>07e504cb3c546aab</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder.DelegationProcessor</span></td><td><code>2084514b37eafe57</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder.DelegationProcessor.Handler.Bound</span></td><td><code>ef7d428377a4cc32</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder.DelegationProcessor.Handler.Unbound</span></td><td><code>268e0923d2bba678</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder.ParameterBinder</span></td><td><code>ba9707c8f3fe13d6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder.ParameterBinder.ForFieldBinding</span></td><td><code>94bb239add34e1bc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder.ParameterBinder.ForFixedValue</span></td><td><code>655436a01f544525</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder.ParameterBinder.ForFixedValue.OfConstant</span></td><td><code>1a94e96610690841</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder.Record</span></td><td><code>e5a54c271a13fa1e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.This.Binder</span></td><td><code>365ed9c01801d8a8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.ByteCodeAppender.Compound</span></td><td><code>e6b18c005febea10</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.ByteCodeAppender.Simple</span></td><td><code>e1016f8961c133f9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.ByteCodeAppender.Size</span></td><td><code>18d689fcde916cfc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.Duplication</span></td><td><code>87726ed8bb6e39de</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.Duplication.1</span></td><td><code>6cbf4aae44bb9c6a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.Duplication.2</span></td><td><code>204abf23cbf37c68</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.Duplication.3</span></td><td><code>0631976e078609bd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.Removal</span></td><td><code>6d539a300caa5092</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.Removal.1</span></td><td><code>ab763f3b743f79a5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.Removal.2</span></td><td><code>fd766afb93ac2a09</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.StackManipulation.AbstractBase</span></td><td><code>31ac4a0904ac3e09</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.StackManipulation.Compound</span></td><td><code>96939a22aac4c91b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.StackManipulation.Illegal</span></td><td><code>d75e2eb0d394f6c3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.StackManipulation.Size</span></td><td><code>e69b15cd3e8d4461</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.StackManipulation.Trivial</span></td><td><code>56f2787cdbce4d40</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.StackSize</span></td><td><code>80f94e8effa2f7bb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.StackSize.1</span></td><td><code>3706a73bbafad769</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.TypeCreation</span></td><td><code>4865d2e454028bc1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.Assigner</span></td><td><code>7e67d52e9390b000</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.Assigner.Typing</span></td><td><code>b09adf7fa17d04b8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.TypeCasting</span></td><td><code>1a445bd188e2931d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.primitive.PrimitiveBoxingDelegate</span></td><td><code>dac9a66a711d1bdb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.primitive.PrimitiveBoxingDelegate.BoxingStackManipulation</span></td><td><code>96e0379915a5a251</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.primitive.PrimitiveTypeAwareAssigner</span></td><td><code>c888a19b998b7769</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.primitive.PrimitiveUnboxingDelegate</span></td><td><code>14e47d44e5cebb1d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.primitive.PrimitiveUnboxingDelegate.ImplicitlyTypedUnboxingResponsible</span></td><td><code>adf7d49661fe0566</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.primitive.PrimitiveWideningDelegate</span></td><td><code>1008755d8fe45330</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.primitive.PrimitiveWideningDelegate.WideningStackManipulation</span></td><td><code>796408ff7247d988</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.primitive.VoidAwareAssigner</span></td><td><code>3df36760b29d387a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.reference.GenericTypeAwareAssigner</span></td><td><code>3623cb487284bb53</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.reference.ReferenceTypeAwareAssigner</span></td><td><code>59b5f6f8641c87f2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.collection.ArrayFactory</span></td><td><code>f2dcfb1430649b3e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.collection.ArrayFactory.ArrayCreator</span></td><td><code>7ff584cc516e3f40</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.collection.ArrayFactory.ArrayCreator.ForReferenceType</span></td><td><code>2ffee25860dde2e1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.collection.ArrayFactory.ArrayStackManipulation</span></td><td><code>2420354f9fdfb502</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.ClassConstant</span></td><td><code>8c2c8e360f844ad5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.ClassConstant.ForReferenceType</span></td><td><code>a779a54b4d7fcd6c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.DefaultValue</span></td><td><code>56544d5987e5a6d8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.DoubleConstant</span></td><td><code>829c95b7b67e95cf</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.FloatConstant</span></td><td><code>bdee038754940fff</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.IntegerConstant</span></td><td><code>58a28f871a6a0499</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.LongConstant</span></td><td><code>113f925135fa3020</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.MethodConstant</span></td><td><code>4af2674773bedc86</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.MethodConstant.CachedMethod</span></td><td><code>927dce16203d5f6c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.MethodConstant.ForMethod</span></td><td><code>5c66dba4a8bfbcea</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.NullConstant</span></td><td><code>9cf4bfc5c52a2517</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.TextConstant</span></td><td><code>76b9599de59f2aeb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.FieldAccess</span></td><td><code>e098860a4703e90a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.FieldAccess.AccessDispatcher</span></td><td><code>20c90535a547e3cd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.FieldAccess.AccessDispatcher.AbstractFieldInstruction</span></td><td><code>75724b7b6b2e4a66</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.FieldAccess.AccessDispatcher.FieldGetInstruction</span></td><td><code>adcac7724ac0272c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.FieldAccess.AccessDispatcher.FieldPutInstruction</span></td><td><code>aeaedb775e139b65</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.MethodInvocation</span></td><td><code>14726e4d8770e5c2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.MethodInvocation.Invocation</span></td><td><code>fa9ba5217301f030</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.MethodInvocation.OfGenericMethod</span></td><td><code>17523e41efd5a475</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.MethodReturn</span></td><td><code>3cbfd6833fda70dd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.MethodVariableAccess</span></td><td><code>7ec211e72c6c3719</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.MethodVariableAccess.MethodLoading</span></td><td><code>0b690307be533e18</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.MethodVariableAccess.MethodLoading.TypeCastingHandler.ForBridgeTarget</span></td><td><code>89785916231f4dad</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.MethodVariableAccess.MethodLoading.TypeCastingHandler.NoOp</span></td><td><code>3f3d0d86b569e241</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.MethodVariableAccess.OffsetLoading</span></td><td><code>4794627822a950ec</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.MethodVariableAccess.OffsetWriting</span></td><td><code>ec4ccc785b7c7e50</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.AnnotationVisitor</span></td><td><code>cd8a8ae8c6a81aac</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.AnnotationWriter</span></td><td><code>0932d72e909ca807</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.Attribute</span></td><td><code>706e3dca943537f4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.ByteVector</span></td><td><code>7b954a37494ae9b1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.ClassReader</span></td><td><code>e338a717450267b6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.ClassVisitor</span></td><td><code>fadf18db959a51c0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.ClassWriter</span></td><td><code>8fef2f78c16bf3a1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.ConstantDynamic</span></td><td><code>b7229c3e0045f54c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.Context</span></td><td><code>e9c1b62b23feb9ea</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.FieldVisitor</span></td><td><code>1e68d610e857eaad</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.FieldWriter</span></td><td><code>3c4ebfcb2bc7032e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.Handle</span></td><td><code>6019e218815e3c26</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.Handler</span></td><td><code>763c7a3b0dc4fc7e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.Label</span></td><td><code>90adaa7d501e514d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.MethodVisitor</span></td><td><code>9ace78a4d431747d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.MethodWriter</span></td><td><code>3bbf4f45000a5b02</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.Opcodes</span></td><td><code>faeee4d0ece993c6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.Symbol</span></td><td><code>667e508aa34354b1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.SymbolTable</span></td><td><code>062167c3c6eec51b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.SymbolTable.Entry</span></td><td><code>9be5b08b0e9ad0e4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.Type</span></td><td><code>ae2dca90336e2c4e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.TypeReference</span></td><td><code>7c2c246da0bafedc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.commons.ClassRemapper</span></td><td><code>3b51d3b9fc7535e2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.commons.FieldRemapper</span></td><td><code>98cdb08947bd5f18</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.commons.Remapper</span></td><td><code>812a9f5a9bb9b509</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.commons.SignatureRemapper</span></td><td><code>f7906518cd91d799</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.commons.SimpleRemapper</span></td><td><code>193adda534bf00c4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.signature.SignatureReader</span></td><td><code>011d12c758b95e5f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.signature.SignatureVisitor</span></td><td><code>482dc0d879af867f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.signature.SignatureWriter</span></td><td><code>bb3fc83b8aaad021</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.AnnotationTypeMatcher</span></td><td><code>4c083a293a95675e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.BooleanMatcher</span></td><td><code>fc276a6c128e2875</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.CollectionErasureMatcher</span></td><td><code>76b5d2cc623cc312</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.CollectionItemMatcher</span></td><td><code>640386844f0e29b8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.CollectionOneToOneMatcher</span></td><td><code>670278e525ff9bfc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.CollectionSizeMatcher</span></td><td><code>8f59b8be9ab4a58b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.DeclaringAnnotationMatcher</span></td><td><code>72a4630003105f69</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.DeclaringTypeMatcher</span></td><td><code>76e282c5482618bb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.DescriptorMatcher</span></td><td><code>e5d21259f82507a7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.ElementMatcher.Junction.AbstractBase</span></td><td><code>d129e1a5bbea50cb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.ElementMatcher.Junction.Conjunction</span></td><td><code>6586c7d2abf8bf59</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.ElementMatcher.Junction.Disjunction</span></td><td><code>78eb86ff19c5e913</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.ElementMatcher.Junction.ForNonNullValues</span></td><td><code>40b97e222b442c20</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.ElementMatchers</span></td><td><code>5da3055b8ba94b32</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.EqualityMatcher</span></td><td><code>7ddcccca3867f2c6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.ErasureMatcher</span></td><td><code>327b39df894c794a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.FailSafeMatcher</span></td><td><code>e67ae39af120023b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.FilterableList.AbstractBase</span></td><td><code>acc833b482b3e913</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.FilterableList.Empty</span></td><td><code>994e694dc878695f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.LatentMatcher.Disjunction</span></td><td><code>cf547e86976c153f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.LatentMatcher.ForFieldToken</span></td><td><code>08b4951ce99afdff</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.LatentMatcher.ForFieldToken.ResolvedMatcher</span></td><td><code>7a313b55df92d5ce</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.LatentMatcher.ForMethodToken</span></td><td><code>acf53d7e0ad9c66c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.LatentMatcher.ForMethodToken.ResolvedMatcher</span></td><td><code>a1b47b682cdd16e5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.LatentMatcher.Resolved</span></td><td><code>838bf93f64347719</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodParameterTypeMatcher</span></td><td><code>d565dce3bed4679b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodParameterTypesMatcher</span></td><td><code>4f9a1c61c2ca1d30</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodParametersMatcher</span></td><td><code>754bf9d07553d1f9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodReturnTypeMatcher</span></td><td><code>1b6fa22a35a706bc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodSortMatcher</span></td><td><code>d9a4a7f8ba8d705a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodSortMatcher.Sort</span></td><td><code>df4da3ccf1c43fb2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodSortMatcher.Sort.1</span></td><td><code>9f8edcf420246fae</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodSortMatcher.Sort.2</span></td><td><code>5b30e294f2304972</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodSortMatcher.Sort.3</span></td><td><code>9c8b9e468a9ba4ee</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodSortMatcher.Sort.4</span></td><td><code>4c3709005a13f932</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodSortMatcher.Sort.5</span></td><td><code>93400b67a6230353</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.ModifierMatcher</span></td><td><code>c0d2e66fbd31c083</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.ModifierMatcher.Mode</span></td><td><code>09bd88f8f539be92</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.NameMatcher</span></td><td><code>b901fc4b35799fa4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.NegatingMatcher</span></td><td><code>a7d93978e9d78d7e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.SignatureTokenMatcher</span></td><td><code>60c758b99c3d9148</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher</span></td><td><code>236df1d1d60ab580</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode</span></td><td><code>78a8ab1a5e998326</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.1</span></td><td><code>197cd818fecbf0dc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.2</span></td><td><code>130a12e752b093e0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.3</span></td><td><code>37e1825b2b41bae8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.4</span></td><td><code>34a59e75ad57ee16</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.5</span></td><td><code>6b18de0e0195fcc7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.6</span></td><td><code>bdaf5299d13e3bfe</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.7</span></td><td><code>f608050eb76b29c9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.8</span></td><td><code>7a1f43a330aa49e3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.9</span></td><td><code>d97cfe0669542624</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.SuperTypeMatcher</span></td><td><code>5f65e9ccb1649334</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.TypeSortMatcher</span></td><td><code>bea3cd319f7a9ab6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.VisibilityMatcher</span></td><td><code>6f0d2c70b6ce50e1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.pool.TypePool.AbstractBase</span></td><td><code>9fb6083dd80a22fc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.pool.TypePool.AbstractBase.Hierarchical</span></td><td><code>af09d201760be842</code></td></tr><tr><td><span class="el_class">net.bytebuddy.pool.TypePool.CacheProvider.NoOp</span></td><td><code>174576454ae1c349</code></td></tr><tr><td><span class="el_class">net.bytebuddy.pool.TypePool.CacheProvider.Simple</span></td><td><code>7bfcbb81282fd7ba</code></td></tr><tr><td><span class="el_class">net.bytebuddy.pool.TypePool.ClassLoading</span></td><td><code>eacd715670bb9cf5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.pool.TypePool.Default</span></td><td><code>d652b7abbf41681e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.pool.TypePool.Default.ReaderMode</span></td><td><code>c7c49aee0ee313c2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.pool.TypePool.Empty</span></td><td><code>3dd3d1db982dbfc3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.pool.TypePool.Explicit</span></td><td><code>eceae2bc3c0ef42b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.CompoundList</span></td><td><code>b8b501baeee21c20</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.ConstantValue.Simple</span></td><td><code>e3630dc7d69b95ee</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.ConstructorComparator</span></td><td><code>c7333b6b982e8e09</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.FieldComparator</span></td><td><code>040e57b459196f7f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.GraalImageCode</span></td><td><code>99c2d8870a99ec8c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.Invoker.Dispatcher</span></td><td><code>b9b5f67cf01bb049</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.JavaConstant.Simple</span></td><td><code>5b025f7cd4895fd5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.JavaConstant.Simple.OfTrivialValue</span></td><td><code>d0617f655417a3d4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.JavaConstant.Simple.OfTrivialValue.ForString</span></td><td><code>45e71adc753caccd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.JavaModule</span></td><td><code>6655d87ef5c48770</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.MethodComparator</span></td><td><code>4e5549fe1a1bb16a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.OpenedClassReader</span></td><td><code>03aca7f7509a23be</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.RandomString</span></td><td><code>475c5a28b2a65671</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.StreamDrainer</span></td><td><code>264534737ce95d78</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher</span></td><td><code>787d0fb443c33196</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.Dispatcher.ForContainerCreation</span></td><td><code>6d0da494448f50f0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.Dispatcher.ForInstanceCheck</span></td><td><code>348c5ed1a0ea72ea</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.Dispatcher.ForNonStaticMethod</span></td><td><code>bf4d2158c4101736</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.Dispatcher.ForStaticMethod</span></td><td><code>2cbd19f9947661fd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.DynamicClassLoader</span></td><td><code>fb77b168217827f2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.DynamicClassLoader.Resolver.CreationAction</span></td><td><code>8ca4ae6007eb9fd7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.DynamicClassLoader.Resolver.ForModuleSystem</span></td><td><code>9a96cee67ed31732</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.InvokerCreationAction</span></td><td><code>8b81db7b9bb021a1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.ProxiedInvocationHandler</span></td><td><code>a4eb032d57e965fc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.privilege.GetMethodAction</span></td><td><code>74124300a1be96ce</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.privilege.GetSystemPropertyAction</span></td><td><code>3dcb9c5481b99d57</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.visitor.ExceptionTableSensitiveMethodVisitor</span></td><td><code>d6e802e0f103ce5a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.visitor.LineNumberPrependingMethodVisitor</span></td><td><code>39913d282d69be33</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.visitor.MetadataAwareClassVisitor</span></td><td><code>01777504b2dd8fd6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.visitor.StackAwareMethodVisitor</span></td><td><code>e665bc6a36ad6fe9</code></td></tr><tr><td><span class="el_class">org.apache.commons.lang.StringUtils</span></td><td><code>9dd94cc65aafa7e1</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.AbstractAssert</span></td><td><code>350d4a3c45c0d8b2</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.AbstractBooleanAssert</span></td><td><code>48a83efc83bd1062</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.AbstractCharSequenceAssert</span></td><td><code>da675e3ab7090aaa</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.AbstractComparableAssert</span></td><td><code>4bc0b15e745cd2bd</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.AbstractIntegerAssert</span></td><td><code>74584e5937642417</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.AbstractObjectAssert</span></td><td><code>9efff4a69b305ce5</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.AbstractStringAssert</span></td><td><code>bc722a6783ecab24</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.Assertions</span></td><td><code>4edb27c6dadb3b26</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.AssertionsForClassTypes</span></td><td><code>485dd7e71971d9a1</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.BooleanAssert</span></td><td><code>7c2437c2727b8309</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.IntegerAssert</span></td><td><code>8f698b21fd75dcf6</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.ObjectAssert</span></td><td><code>1bbc9fbe987a71e1</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.StringAssert</span></td><td><code>276d8048089fdd6d</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.WritableAssertionInfo</span></td><td><code>cfe8767c89787032</code></td></tr><tr><td><span class="el_class">org.assertj.core.configuration.Configuration</span></td><td><code>6ea356a40ee80ccf</code></td></tr><tr><td><span class="el_class">org.assertj.core.configuration.ConfigurationProvider</span></td><td><code>3346c4801f784bb9</code></td></tr><tr><td><span class="el_class">org.assertj.core.configuration.PreferredAssumptionException</span></td><td><code>2789214dba489051</code></td></tr><tr><td><span class="el_class">org.assertj.core.configuration.PreferredAssumptionException.1</span></td><td><code>1eab9d24cce924d2</code></td></tr><tr><td><span class="el_class">org.assertj.core.configuration.Services</span></td><td><code>3dc1dd22400d3099</code></td></tr><tr><td><span class="el_class">org.assertj.core.error.AssertionErrorCreator</span></td><td><code>744bd205226ec15f</code></td></tr><tr><td><span class="el_class">org.assertj.core.error.ConstructorInvoker</span></td><td><code>dbd17ff2cbb8bc28</code></td></tr><tr><td><span class="el_class">org.assertj.core.error.GroupTypeDescription</span></td><td><code>e2d30a487eec2c68</code></td></tr><tr><td><span class="el_class">org.assertj.core.internal.AbstractComparisonStrategy</span></td><td><code>40fb8687fd6113a4</code></td></tr><tr><td><span class="el_class">org.assertj.core.internal.Booleans</span></td><td><code>47899591edb7e017</code></td></tr><tr><td><span class="el_class">org.assertj.core.internal.Comparables</span></td><td><code>492c5254e1e386a8</code></td></tr><tr><td><span class="el_class">org.assertj.core.internal.Conditions</span></td><td><code>e092e4d723bc2314</code></td></tr><tr><td><span class="el_class">org.assertj.core.internal.Failures</span></td><td><code>2cd3f6ce6070185b</code></td></tr><tr><td><span class="el_class">org.assertj.core.internal.Integers</span></td><td><code>51f142568138237e</code></td></tr><tr><td><span class="el_class">org.assertj.core.internal.Numbers</span></td><td><code>b1c5a72fc2773178</code></td></tr><tr><td><span class="el_class">org.assertj.core.internal.Objects</span></td><td><code>fe71671260ce8f9c</code></td></tr><tr><td><span class="el_class">org.assertj.core.internal.StandardComparisonStrategy</span></td><td><code>cb180b5c43beb144</code></td></tr><tr><td><span class="el_class">org.assertj.core.internal.Strings</span></td><td><code>7e045dfabe913b45</code></td></tr><tr><td><span class="el_class">org.assertj.core.presentation.CompositeRepresentation</span></td><td><code>3230199b443ac68a</code></td></tr><tr><td><span class="el_class">org.assertj.core.presentation.StandardRepresentation</span></td><td><code>6d33658e7677a603</code></td></tr><tr><td><span class="el_class">org.assertj.core.util.Arrays</span></td><td><code>20c1f3363764d24e</code></td></tr><tr><td><span class="el_class">org.assertj.core.util.Lists</span></td><td><code>5895215344293d99</code></td></tr><tr><td><span class="el_class">org.assertj.core.util.Streams</span></td><td><code>d730dd591d3325a8</code></td></tr><tr><td><span class="el_class">org.assertj.core.util.introspection.FieldSupport</span></td><td><code>1f44f51b62bb0ce5</code></td></tr><tr><td><span class="el_class">org.assertj.core.util.introspection.PropertySupport</span></td><td><code>381c5ad4b48534d7</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.AbstractTestDescriptor</span></td><td><code>b7d6764e5c2ed1e2</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.DefaultTestClassDescriptor</span></td><td><code>29a580f844a707e9</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.DefaultTestClassRunInfo</span></td><td><code>68a7e79b2914fd4d</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.DefaultTestDescriptor</span></td><td><code>33f0f28b81218a57</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.DefaultTestOutputEvent</span></td><td><code>8b3d72b91c24a69b</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.DefaultTestSuiteDescriptor</span></td><td><code>7ca2225e2fb0b4b2</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.JULRedirector</span></td><td><code>bae8ac50b3f8106a</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor</span></td><td><code>61188fe4ac13d309</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.TestCompleteEvent</span></td><td><code>94a6da85674017e0</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.TestStartEvent</span></td><td><code>739a2bff9c36ddab</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.failure.DefaultThrowableToTestFailureMapper</span></td><td><code>98b3c6d95620e628</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.failure.TestFailureMapper</span></td><td><code>fad0361b08728e0d</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.failure.mappers.AssertErrorMapper</span></td><td><code>f8f52c2b08659a75</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.failure.mappers.AssertjMultipleAssertionsErrorMapper</span></td><td><code>6d9c88eceee97e47</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.failure.mappers.JUnitComparisonTestFailureMapper</span></td><td><code>1870ccedd70c62d3</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.failure.mappers.OpenTestAssertionFailedMapper</span></td><td><code>4ded763dc3dea331</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.failure.mappers.OpenTestMultipleFailuresErrorMapper</span></td><td><code>fd9e46b889182617</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.filter.TestFilterSpec</span></td><td><code>a7526e6ebab295a4</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.filter.TestSelectionMatcher</span></td><td><code>06128e54c9dca021</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.filter.TestSelectionMatcher.FullQualifiedClassNameSelector</span></td><td><code>b0cdbd341967c218</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.filter.TestSelectionMatcher.NoWildcardMatcher</span></td><td><code>c2434758b84103cc</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.filter.TestSelectionMatcher.TestPattern</span></td><td><code>bf83a0bf4a96f644</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestClassProcessor</span></td><td><code>672aa182353275ae</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformSpec</span></td><td><code>f5579f12caeb524a</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor</span></td><td><code>f682a3fb343b4c24</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.BackwardsCompatibleLauncherSession</span></td><td><code>15441bf1aaf0f299</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.ClassMethodNameFilter</span></td><td><code>2e75ab5ae4a5698f</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.CollectAllTestClassesExecutor</span></td><td><code>8c9350cf7e325a14</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessorFactory</span></td><td><code>a7b6a6fbba6df145</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestExecutionListener</span></td><td><code>b76948e94474cdbc</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.processors.CaptureTestOutputTestResultProcessor</span></td><td><code>29d7c45ae3841147</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.processors.DefaultStandardOutputRedirector</span></td><td><code>c0ce962d1b0afc6c</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.processors.DefaultStandardOutputRedirector.DiscardAction</span></td><td><code>b1b2c3fe575a0572</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.processors.DefaultStandardOutputRedirector.WriteAction</span></td><td><code>313e54868cd6f7bf</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.processors.TestOutputRedirector</span></td><td><code>3b6a0392c9e3dd02</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.processors.TestOutputRedirector.Forwarder</span></td><td><code>2f0a51434c23293a</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.results.AttachParentTestResultProcessor</span></td><td><code>6d02567fd2a7d62d</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer</span></td><td><code>86c8a2a7f444af17</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.DefaultNestedTestSuiteDescriptorSerializer</span></td><td><code>d06ce1b3d75f97ec</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.DefaultParameterizedTestDescriptorSerializer</span></td><td><code>110fe58b6a08d18a</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.DefaultTestClassDescriptorSerializer</span></td><td><code>7a33def0e5f77169</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.DefaultTestClassRunInfoSerializer</span></td><td><code>756d4261d461b736</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.DefaultTestDescriptorSerializer</span></td><td><code>f22763fb9799791b</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.DefaultTestFailureSerializer</span></td><td><code>a3fa0d4e2033ff7b</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.DefaultTestMethodDescriptorSerializer</span></td><td><code>8399fed70a5a5583</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.DefaultTestOutputEventSerializer</span></td><td><code>ab68b99e3ba8e6a7</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.DefaultTestSuiteDescriptorSerializer</span></td><td><code>00e4063cb0a3717e</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.IdSerializer</span></td><td><code>cdde38a9abcdd3c1</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.NullableSerializer</span></td><td><code>0b8b3e72f4fb326b</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.TestCompleteEventSerializer</span></td><td><code>971566bf8e6bbbc9</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.TestStartEventSerializer</span></td><td><code>46e7b262d38e1858</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.WorkerTestSuiteDescriptorSerializer</span></td><td><code>e06ab7fe365be81b</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestWorker</span></td><td><code>9da5c91b10b63d25</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestWorker.1</span></td><td><code>ccbe896c0f005689</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestWorker.2</span></td><td><code>fd29a630d60da1b8</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestWorker.3</span></td><td><code>b9c4ca4676087868</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestWorker.State</span></td><td><code>fa812eb1a8e0dd23</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestWorker.TestFrameworkServiceRegistry</span></td><td><code>e033f3a95f86732e</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.WorkerTestClassProcessor</span></td><td><code>0f6525b02f2bb3d2</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.WorkerTestClassProcessor.WorkerTestSuiteDescriptor</span></td><td><code>b3807e9b92351840</code></td></tr><tr><td><span class="el_class">org.gradle.api.logging.LogLevel</span></td><td><code>236e938e30516638</code></td></tr><tr><td><span class="el_class">org.gradle.api.tasks.testing.TestOutputEvent.Destination</span></td><td><code>a16caef1c278a81f</code></td></tr><tr><td><span class="el_class">org.gradle.internal.Cast</span></td><td><code>6130c81e08d81640</code></td></tr><tr><td><span class="el_class">org.gradle.internal.MutableBoolean</span></td><td><code>349de2b8a37d4338</code></td></tr><tr><td><span class="el_class">org.gradle.internal.SystemProperties</span></td><td><code>d691e6f045b4d8e8</code></td></tr><tr><td><span class="el_class">org.gradle.internal.actor.internal.DefaultActorFactory</span></td><td><code>2776985b64942a33</code></td></tr><tr><td><span class="el_class">org.gradle.internal.actor.internal.DefaultActorFactory.BlockingActor</span></td><td><code>abe31a572fce57fa</code></td></tr><tr><td><span class="el_class">org.gradle.internal.concurrent.AbstractDelegatingExecutorService</span></td><td><code>49d3dededcea40d0</code></td></tr><tr><td><span class="el_class">org.gradle.internal.concurrent.AbstractManagedExecutor</span></td><td><code>2b6c0f29fdff5244</code></td></tr><tr><td><span class="el_class">org.gradle.internal.concurrent.AbstractManagedExecutor.1</span></td><td><code>872460d8243510dc</code></td></tr><tr><td><span class="el_class">org.gradle.internal.concurrent.CompositeStoppable</span></td><td><code>e322584f6cb5969a</code></td></tr><tr><td><span class="el_class">org.gradle.internal.concurrent.CompositeStoppable.1</span></td><td><code>97a4a0e348c32238</code></td></tr><tr><td><span class="el_class">org.gradle.internal.concurrent.CompositeStoppable.2</span></td><td><code>d6e18202f5962cf7</code></td></tr><tr><td><span class="el_class">org.gradle.internal.concurrent.DefaultExecutorFactory</span></td><td><code>63847aa635eddd82</code></td></tr><tr><td><span class="el_class">org.gradle.internal.concurrent.DefaultExecutorFactory.TrackedManagedExecutor</span></td><td><code>36f4bc1cd93c039c</code></td></tr><tr><td><span class="el_class">org.gradle.internal.concurrent.ExecutorPolicy.CatchAndRecordFailures</span></td><td><code>2aacf6d3d0dd2240</code></td></tr><tr><td><span class="el_class">org.gradle.internal.concurrent.ManagedExecutorImpl</span></td><td><code>ce6f255f6fc1de83</code></td></tr><tr><td><span class="el_class">org.gradle.internal.concurrent.ThreadFactoryImpl</span></td><td><code>1d388becbfb01ad8</code></td></tr><tr><td><span class="el_class">org.gradle.internal.dispatch.ContextClassLoaderDispatch</span></td><td><code>132d0c3fd93e8141</code></td></tr><tr><td><span class="el_class">org.gradle.internal.dispatch.ContextClassLoaderProxy</span></td><td><code>4295807baa6fbb83</code></td></tr><tr><td><span class="el_class">org.gradle.internal.dispatch.MethodInvocation</span></td><td><code>56dc845f6b509e42</code></td></tr><tr><td><span class="el_class">org.gradle.internal.dispatch.ProxyDispatchAdapter</span></td><td><code>56827e7cbc177632</code></td></tr><tr><td><span class="el_class">org.gradle.internal.dispatch.ProxyDispatchAdapter.DispatchingInvocationHandler</span></td><td><code>91c49d997210d865</code></td></tr><tr><td><span class="el_class">org.gradle.internal.dispatch.ReflectionDispatch</span></td><td><code>6976fdf67f3e8979</code></td></tr><tr><td><span class="el_class">org.gradle.internal.event.AbstractBroadcastDispatch</span></td><td><code>3624329b4268ace0</code></td></tr><tr><td><span class="el_class">org.gradle.internal.event.BroadcastDispatch</span></td><td><code>8e28373cd592a460</code></td></tr><tr><td><span class="el_class">org.gradle.internal.event.BroadcastDispatch.CompositeDispatch</span></td><td><code>cb1fa3ce9072c0bf</code></td></tr><tr><td><span class="el_class">org.gradle.internal.event.BroadcastDispatch.EmptyDispatch</span></td><td><code>720dd233b7e6bc29</code></td></tr><tr><td><span class="el_class">org.gradle.internal.event.BroadcastDispatch.SingletonDispatch</span></td><td><code>1d8f3791fdfff085</code></td></tr><tr><td><span class="el_class">org.gradle.internal.event.ListenerBroadcast</span></td><td><code>bb9ab86e7f09e921</code></td></tr><tr><td><span class="el_class">org.gradle.internal.id.CompositeIdGenerator</span></td><td><code>f1c607aa5fccdbaa</code></td></tr><tr><td><span class="el_class">org.gradle.internal.id.CompositeIdGenerator.CompositeId</span></td><td><code>e710c854f802c58b</code></td></tr><tr><td><span class="el_class">org.gradle.internal.id.LongIdGenerator</span></td><td><code>6f8168bf486a560d</code></td></tr><tr><td><span class="el_class">org.gradle.internal.id.UUIDGenerator</span></td><td><code>047a43ab94df6ffa</code></td></tr><tr><td><span class="el_class">org.gradle.internal.io.BufferCaster</span></td><td><code>88a8af829d9f2dca</code></td></tr><tr><td><span class="el_class">org.gradle.internal.io.ClassLoaderObjectInputStream</span></td><td><code>acf45500b0d04661</code></td></tr><tr><td><span class="el_class">org.gradle.internal.io.LineBufferingOutputStream</span></td><td><code>bcb3506c9cb335f2</code></td></tr><tr><td><span class="el_class">org.gradle.internal.io.LinePerThreadBufferingOutputStream</span></td><td><code>2d2cc4f27d1ed01d</code></td></tr><tr><td><span class="el_class">org.gradle.internal.io.NullOutputStream</span></td><td><code>eefcfe0665bbfe4c</code></td></tr><tr><td><span class="el_class">org.gradle.internal.io.StreamByteBuffer</span></td><td><code>3ec3288935eb4819</code></td></tr><tr><td><span class="el_class">org.gradle.internal.io.StreamByteBuffer.StreamByteBufferChunk</span></td><td><code>ae7975dc16af2356</code></td></tr><tr><td><span class="el_class">org.gradle.internal.io.StreamByteBuffer.StreamByteBufferInputStream</span></td><td><code>d1fc83f589a55ee4</code></td></tr><tr><td><span class="el_class">org.gradle.internal.io.StreamByteBuffer.StreamByteBufferOutputStream</span></td><td><code>c78a467a714934e8</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.config.LoggingSystemAdapter</span></td><td><code>2bb5150ee66232e9</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.config.LoggingSystemAdapter.SnapshotImpl</span></td><td><code>221de860d84422df</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.console.DefaultUserInputReceiver</span></td><td><code>08050cb4428bad0e</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.events.EndOutputEvent</span></td><td><code>0d8edd2a5ce274ee</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.events.LogLevelChangeEvent</span></td><td><code>33b762c6d5852de7</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.events.OutputEvent</span></td><td><code>85bce87f1bcda18d</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.events.OutputEventListener</span></td><td><code>e7d50a9306531b49</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.events.OutputEventListener.1</span></td><td><code>5c6014dff2070607</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.events.StyledTextOutputEvent</span></td><td><code>11f48fb1a17330c8</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.events.StyledTextOutputEvent.Span</span></td><td><code>c55f799d2631f13d</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.serializer.LogEventSerializer</span></td><td><code>b6d88af223db296a</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.serializer.LogLevelChangeEventSerializer</span></td><td><code>f77a59533dde75ec</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.serializer.SpanSerializer</span></td><td><code>5f773b7d1ad07c9f</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.serializer.StyledTextOutputEventSerializer</span></td><td><code>faebed27ac3e65ba</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.services.DefaultLoggingManager</span></td><td><code>61e216a064052ff1</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.services.DefaultLoggingManager.StartableLoggingRouter</span></td><td><code>78396be937af48de</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.services.DefaultLoggingManager.StartableLoggingSystem</span></td><td><code>b121a97021902643</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.services.DefaultLoggingManagerFactory</span></td><td><code>eb1ab97193f0d177</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.services.LoggingServiceRegistry</span></td><td><code>f422be508a723dad</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.services.LoggingServiceRegistry.1</span></td><td><code>8077eb5bc8da45fa</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.services.LoggingServiceRegistry.CommandLineLogging</span></td><td><code>ab0f1f63de5d4641</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.services.TextStreamOutputEventListener</span></td><td><code>ef4d0c3267356598</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.sink.OutputEventListenerManager</span></td><td><code>d6dee3d6fea49020</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.sink.OutputEventListenerManager.1</span></td><td><code>1e218a705ff0ee7e</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.sink.OutputEventRenderer</span></td><td><code>ad1cc4fc552ab292</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.sink.OutputEventRenderer.1</span></td><td><code>b94418b2e260aede</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.sink.OutputEventRenderer.2</span></td><td><code>a956801cd98ca633</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.sink.OutputEventRenderer.LazyListener</span></td><td><code>7ee882569b166e1e</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.sink.OutputEventRenderer.SnapshotImpl</span></td><td><code>827634628a47c5f5</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.sink.OutputEventTransformer</span></td><td><code>06c2270eef0e291e</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.slf4j.BuildOperationAwareLogger</span></td><td><code>daea5fa552e68a8c</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.slf4j.OutputEventListenerBackedLogger</span></td><td><code>30ddd0a8ff91b5f5</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.slf4j.OutputEventListenerBackedLoggerContext</span></td><td><code>9d35d4b7a722eb08</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.slf4j.OutputEventListenerBackedLoggerContext.NoOpLogger</span></td><td><code>a09428f13d916349</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.slf4j.Slf4jLoggingConfigurer</span></td><td><code>75fba29c3739b15f</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.source.DefaultStdErrLoggingSystem</span></td><td><code>fd3dd0caab2f1d95</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.source.DefaultStdOutLoggingSystem</span></td><td><code>528bb39bfb67c3ae</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.source.JavaUtilLoggingSystem</span></td><td><code>5e967b17aabfd442</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.source.JavaUtilLoggingSystem.SnapshotImpl</span></td><td><code>15dfc30250723749</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.source.PrintStreamLoggingSystem</span></td><td><code>1ae6e6b715c6b3f9</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.source.PrintStreamLoggingSystem.1</span></td><td><code>65643cb979acba64</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.source.PrintStreamLoggingSystem.OutputEventDestination</span></td><td><code>8c1ddf1476568828</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.source.PrintStreamLoggingSystem.PrintStreamDestination</span></td><td><code>9e7273f370028123</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.source.PrintStreamLoggingSystem.SnapshotImpl</span></td><td><code>8f80a46f9780a57e</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.text.StyledTextOutput.Style</span></td><td><code>d676557b62e3f601</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.filesystem.services.FileSystemServices</span></td><td><code>b25a2a743a08dd2a</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.jansi.DefaultJansiRuntimeResolver</span></td><td><code>1aa17f25c9c1cad4</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.jansi.JansiBootPathConfigurer</span></td><td><code>3a766bce65ac1a48</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.jansi.JansiLibraryFactory</span></td><td><code>0cbaac430d6656c4</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.jansi.JansiStorageLocator</span></td><td><code>c8bff1ccb071f9b6</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.services.NativeServices</span></td><td><code>abb0c6b651fcb93a</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.services.NativeServices.1</span></td><td><code>cb6208604e1a9ad4</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.services.NativeServices.NativeFeatures</span></td><td><code>6aa09c4d82dd664e</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.services.NativeServices.NativeFeatures.1</span></td><td><code>a97bf0d4f5545599</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.services.NativeServices.NativeFeatures.2</span></td><td><code>b680e303b6631a7b</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.services.NativeServices.NativeServicesMode</span></td><td><code>c5dd13d016e14664</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.services.NativeServices.NativeServicesMode.1</span></td><td><code>95f5d7b5f2ef5cdf</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.services.NativeServices.NativeServicesMode.2</span></td><td><code>ed56f6dad8089839</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.services.NativeServices.NativeServicesMode.3</span></td><td><code>37a9e97bc1744917</code></td></tr><tr><td><span class="el_class">org.gradle.internal.reflect.JavaMethod</span></td><td><code>c42e01e56542d65c</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.KryoBackedMessageSerializer</span></td><td><code>0028157720ec1f27</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.ConnectionSet</span></td><td><code>323708d9214e34e4</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.ConnectionState</span></td><td><code>250fb1b274991d9a</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.DefaultMethodArgsSerializer</span></td><td><code>b5f4b38125033ffd</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.DefaultMethodArgsSerializer.ArraySerializer</span></td><td><code>16505d5ccbb1b78b</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.DefaultMethodArgsSerializer.EmptyArraySerializer</span></td><td><code>cdc53c79a631aa33</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.IncomingQueue</span></td><td><code>0e8ecdb8f31efe51</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.InterHubMessageSerializer</span></td><td><code>7d84d4aa85858c73</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.InterHubMessageSerializer.MessageReader</span></td><td><code>ab1cd6753eb75a29</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.InterHubMessageSerializer.MessageWriter</span></td><td><code>3e4611f758508afb</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.JavaSerializationBackedMethodArgsSerializer</span></td><td><code>4c7a738ee4525ff6</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHub</span></td><td><code>1326887a1f1da0ac</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHub.ChannelDispatch</span></td><td><code>8a9dfd1b6306d8e6</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHub.ConnectionDispatch</span></td><td><code>df1d0a86180d66e4</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHub.ConnectionReceive</span></td><td><code>e1dc78071e8e957d</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHub.Discard</span></td><td><code>63a8d677cc1f9101</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHub.Handler</span></td><td><code>3d232f51f2c02828</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHub.State</span></td><td><code>1b76747d7bce6b89</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHubBackedClient</span></td><td><code>77c2124c3c43d832</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection</span></td><td><code>c23964928f1aff22</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection.1</span></td><td><code>ac806a6bc6b1b21d</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection.2</span></td><td><code>8ac38215966e3a20</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection.DispatchWrapper</span></td><td><code>9aa5d8679dbc6601</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MethodInvocationSerializer</span></td><td><code>47063ab293644e83</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MethodInvocationSerializer.MethodDetails</span></td><td><code>b6b7fb55e88cc4b9</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MethodInvocationSerializer.MethodInvocationReader</span></td><td><code>e6b939136f207ff5</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MethodInvocationSerializer.MethodInvocationWriter</span></td><td><code>c3b77db1b2556afe</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.OutgoingQueue</span></td><td><code>fbcc05506ad40c68</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.protocol.ChannelIdentifier</span></td><td><code>7697ff6a7c712869</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.protocol.ChannelMessage</span></td><td><code>9bff479666e58802</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.protocol.EndOfStream</span></td><td><code>f29ffed85365f7db</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.protocol.InterHubMessage</span></td><td><code>0c6e49b6ec077e16</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.protocol.InterHubMessage.Delivery</span></td><td><code>0652d09c2a7fd1ac</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.queue.EndPointQueue</span></td><td><code>8038a5636529123d</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.queue.MultiChannelQueue</span></td><td><code>bcaac9c224068764</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.queue.MultiEndPointQueue</span></td><td><code>27222a892157733f</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.queue.MultiEndPointQueue.1</span></td><td><code>44049b3edc682954</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.queue.QueueInitializer</span></td><td><code>ad18361c23e679b1</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.inet.MultiChoiceAddress</span></td><td><code>91381aa03cdd48e7</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.inet.MultiChoiceAddressSerializer</span></td><td><code>7ffc395650705aaa</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.inet.SocketConnectCompletion</span></td><td><code>0da46ac4ccd1c9ce</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.inet.SocketConnection</span></td><td><code>b648fc2e70525f62</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.inet.SocketConnection.1</span></td><td><code>c7f1074dffaaa188</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.inet.SocketConnection.SocketInputStream</span></td><td><code>07d3128481116a21</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.inet.SocketConnection.SocketOutputStream</span></td><td><code>341e7a58a4db0e94</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.inet.SocketInetAddress</span></td><td><code>20cc3fd7992230e8</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.inet.SocketInetAddress.Serializer</span></td><td><code>d42dd7f644e6367c</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.inet.TcpOutgoingConnector</span></td><td><code>e658ec26090de909</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.services.MessagingServices</span></td><td><code>d686a35c2f44fd41</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.AbstractCollectionSerializer</span></td><td><code>7897b7a9a0c39b1b</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.AbstractDecoder</span></td><td><code>6f331f65d3691839</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.AbstractEncoder</span></td><td><code>44ea8279ea7b3a07</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.AbstractSerializer</span></td><td><code>d5cd8744f99ef12d</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory</span></td><td><code>83d030ef5f6c0526</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.BigDecimalSerializer</span></td><td><code>4dcd516a5e9202d8</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.BigIntegerSerializer</span></td><td><code>50f6ab963a855e2a</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.BooleanSerializer</span></td><td><code>9a343eeb20f2b7f4</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.ByteArraySerializer</span></td><td><code>9566e41ef84566ae</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.ByteSerializer</span></td><td><code>85286889be7534cf</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.CharSerializer</span></td><td><code>6fba21fa805857ff</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.DoubleSerializer</span></td><td><code>085b687ded9be124</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.EnumSerializer</span></td><td><code>a314f7118f1d0412</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.FileSerializer</span></td><td><code>c43bc85ad47073ee</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.FloatSerializer</span></td><td><code>dad7a35798e49d9d</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.IntegerSerializer</span></td><td><code>e8a55740afa66954</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.LongSerializer</span></td><td><code>3a08a2ef15abca0d</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.PathSerializer</span></td><td><code>22894f3c1859ada1</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.ShortSerializer</span></td><td><code>5791e5a0a4ad1ece</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.StringMapSerializer</span></td><td><code>eb348217154fd0ed</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.StringSerializer</span></td><td><code>01576ecfb2720760</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.ThrowableSerializer</span></td><td><code>ae463fe767977ceb</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.DefaultSerializer</span></td><td><code>f0908e23b4486288</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.DefaultSerializerRegistry</span></td><td><code>84449bcf590c1af7</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.DefaultSerializerRegistry.1</span></td><td><code>aeba2bb0cd2eab52</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.DefaultSerializerRegistry.HierarchySerializerMatcher</span></td><td><code>c4fa93579434fd2b</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.DefaultSerializerRegistry.InstanceBasedSerializerFactory</span></td><td><code>4d56c9c7fbddbcc0</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.DefaultSerializerRegistry.SerializerClassMatcherStrategy</span></td><td><code>ea36ea8beff22743</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.DefaultSerializerRegistry.StrictSerializerMatcher</span></td><td><code>6df6080c06573b93</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.DefaultSerializerRegistry.TaggedTypeSerializer</span></td><td><code>264fbb605d976b35</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.DefaultSerializerRegistry.TypeInfo</span></td><td><code>bd6904d4ac5974ce</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.HashCodeSerializer</span></td><td><code>4cc78fc15c246fbf</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.InputStreamBackedDecoder</span></td><td><code>1a43def6f05c6405</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.ListSerializer</span></td><td><code>fe472a367fb15381</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.kryo.KryoBackedDecoder</span></td><td><code>f9287092db21f40c</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.kryo.KryoBackedEncoder</span></td><td><code>c7b371f9548e9e06</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.kryo.TypeSafeSerializer</span></td><td><code>1dbc9e4c69fd1973</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.kryo.TypeSafeSerializer.1</span></td><td><code>bb88df969641a032</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.kryo.TypeSafeSerializer.2</span></td><td><code>599bac595545b9c0</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.AbstractServiceMethod</span></td><td><code>d8f9bf72435aa0d5</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceMethodFactory</span></td><td><code>7cd5dc9e6187cc39</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry</span></td><td><code>554c0bdbb65f55e5</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.1</span></td><td><code>726e10ffdfe2409a</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.ClassInspector</span></td><td><code>aa4210f935a4d0a5</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.ClassInspector.ClassDetails</span></td><td><code>53c53e0645999e10</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.CompositeServiceProvider</span></td><td><code>91db51aebd73dbaf</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.ConstructorService</span></td><td><code>bc8ae40bda9c59ff</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.FactoryMethodService</span></td><td><code>9f0229ae7d626482</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.FactoryService</span></td><td><code>c9da4433a3208962</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.FixedInstanceService</span></td><td><code>cf29b00c2e8b2d37</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.ManagedObjectServiceProvider</span></td><td><code>2ca44396bc0bc74b</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.OwnServices</span></td><td><code>1ee93f694ad228ec</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.ParentServices</span></td><td><code>1d4570e7353520f7</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.SingletonService</span></td><td><code>1f6b32eb0b444d88</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.SingletonService.BindState</span></td><td><code>3a2e6f45cbc059eb</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.State</span></td><td><code>455f607243c17726</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.ThisAsService</span></td><td><code>df926700e970f5a1</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.InjectUtil</span></td><td><code>4e32c5f95305147b</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.MethodHandleBasedServiceMethod</span></td><td><code>674037aa99129b52</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.MethodHandleBasedServiceMethodFactory</span></td><td><code>47e87df4713e4ce5</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.ReflectionBasedServiceMethod</span></td><td><code>56fdba7d8393253f</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.RelevantMethods</span></td><td><code>542516b051995f02</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.RelevantMethodsBuilder</span></td><td><code>2254a458e7bdf1d8</code></td></tr><tr><td><span class="el_class">org.gradle.internal.time.MonotonicClock</span></td><td><code>ba849f4eb1139bf6</code></td></tr><tr><td><span class="el_class">org.gradle.internal.time.Time</span></td><td><code>118854647ab7eed4</code></td></tr><tr><td><span class="el_class">org.gradle.internal.time.TimeSource</span></td><td><code>a96871955c3b895e</code></td></tr><tr><td><span class="el_class">org.gradle.internal.time.TimeSource.1</span></td><td><code>6de78f6b0e44a7b2</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.WorkerLoggingSerializer</span></td><td><code>adae78bad8b0e727</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.child.ActionExecutionWorker</span></td><td><code>a7d30aba9c762788</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.child.ActionExecutionWorker.1</span></td><td><code>d0eba6bfe3f78d57</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.child.DefaultWorkerDirectoryProvider</span></td><td><code>10469cccf2e081cb</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker</span></td><td><code>d51a401f71c96cf4</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.ContextImpl</span></td><td><code>6684822230e9827b</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.PrintUnrecoverableErrorToFileHandler</span></td><td><code>1b3eabcd9dbe24df</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.WorkerServices</span></td><td><code>14d92ee3ca1bb0be</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.WorkerServices.1</span></td><td><code>b7b72af63ebb5dff</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.WorkerServices.1.1</span></td><td><code>befc8ff806a5f547</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.child.WorkerLogEventListener</span></td><td><code>4a0b5fb708591833</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.messaging.WorkerConfig</span></td><td><code>8633f06980fb19fd</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.messaging.WorkerConfigSerializer</span></td><td><code>9cb8842482bd87b2</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.DisplayNameGenerator</span></td><td><code>1c70d4d828122f05</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.DisplayNameGenerator.IndicativeSentences</span></td><td><code>b23b44fe1a1ae4b6</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.DisplayNameGenerator.ReplaceUnderscores</span></td><td><code>45af1f815eb3bfc6</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.DisplayNameGenerator.Simple</span></td><td><code>3587fc3bd5ac68a7</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.DisplayNameGenerator.Standard</span></td><td><code>232bffaaa51a0c4e</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.TestInstance.Lifecycle</span></td><td><code>235138c6fffd45f1</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.extension.ConditionEvaluationResult</span></td><td><code>fc311dfabd3a0e23</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.extension.ExtensionContext</span></td><td><code>dacb7330135ba8f9</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.extension.ExtensionContext.Namespace</span></td><td><code>eb8d03782ab35d64</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.extension.ExtensionContext.Store</span></td><td><code>288780f400093c7c</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.extension.InvocationInterceptor</span></td><td><code>695ac2a6b4b9c7e4</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.JupiterTestEngine</span></td><td><code>011031d0b1fe58db</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.config.CachingJupiterConfiguration</span></td><td><code>9da5fe6b78ad9a14</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.config.DefaultJupiterConfiguration</span></td><td><code>bbee9c72790c271d</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.config.EnumConfigurationParameterConverter</span></td><td><code>433eec982a6fabbc</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.config.InstantiatingConfigurationParameterConverter</span></td><td><code>d2270f0957971443</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.AbstractExtensionContext</span></td><td><code>6b3fc41ad8b41d4f</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor</span></td><td><code>414ee653c9e673cf</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.ClassExtensionContext</span></td><td><code>e804dacaeaef4a6a</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.ClassTestDescriptor</span></td><td><code>2f87db51b4485e07</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.DefaultTestInstanceFactoryContext</span></td><td><code>b1b7d61e94c58605</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.DisplayNameUtils</span></td><td><code>8a6f8eeb3e12ddf6</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.ExtensionUtils</span></td><td><code>43a683ad1b768e92</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.JupiterEngineDescriptor</span></td><td><code>3d2dbddce296b041</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.JupiterEngineExtensionContext</span></td><td><code>7146ce9988edfce2</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.JupiterTestDescriptor</span></td><td><code>67ad750cdb2cb53b</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.LifecycleMethodUtils</span></td><td><code>286eb923d0b68032</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.MethodBasedTestDescriptor</span></td><td><code>f531f49451e39050</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.MethodExtensionContext</span></td><td><code>b5abe6523f4a32d7</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.TestInstanceLifecycleUtils</span></td><td><code>a247fc379f47df66</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor</span></td><td><code>35334f82ecefa63c</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.AbstractAnnotatedDescriptorWrapper</span></td><td><code>90b10f2d90d7b01b</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.AbstractOrderingVisitor</span></td><td><code>f8eb297929c247eb</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.AbstractOrderingVisitor.DescriptorWrapperOrderer</span></td><td><code>c8e1585f8474ed61</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.ClassOrderingVisitor</span></td><td><code>1f09fc1c6b9779bb</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.ClassSelectorResolver</span></td><td><code>e25bb2b197bc8493</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.DefaultClassDescriptor</span></td><td><code>9064f3528773a161</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.DiscoverySelectorResolver</span></td><td><code>5dc6be896f50996f</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.MethodFinder</span></td><td><code>621c8591e557439a</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.MethodOrderingVisitor</span></td><td><code>7d9864cebac818e1</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.MethodSelectorResolver</span></td><td><code>679c52dec5ee3cd2</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.MethodSelectorResolver.MethodType</span></td><td><code>2ca704c5264882ae</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.MethodSelectorResolver.MethodType.1</span></td><td><code>b3bc3007a7dfdaa0</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.MethodSelectorResolver.MethodType.2</span></td><td><code>598aec8eeefe85e3</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.MethodSelectorResolver.MethodType.3</span></td><td><code>e8fd5325e2431a2b</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsInnerClass</span></td><td><code>d746bcff9a71ec26</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsNestedTestClass</span></td><td><code>f75dfd9ee2347890</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsPotentialTestContainer</span></td><td><code>909f14a1b9fe84dc</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestClassWithTests</span></td><td><code>34690a186bfcf3ac</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestFactoryMethod</span></td><td><code>941a8af0d47a68fd</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestMethod</span></td><td><code>f2039dbd13fce110</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestTemplateMethod</span></td><td><code>c13a4260435c18a8</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestableMethod</span></td><td><code>4be487dee199f633</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.ConditionEvaluator</span></td><td><code>df91d94b180fe511</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.ConstructorInvocation</span></td><td><code>60b80968f2bdedc3</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.DefaultExecutableInvoker</span></td><td><code>97f15d1e3151968f</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.DefaultTestInstances</span></td><td><code>0fc6d90567826bc4</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.InterceptingExecutableInvoker</span></td><td><code>42cb185ff5e76387</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.ReflectiveInterceptorCall</span></td><td><code>7e154d03f7a732e5</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.InvocationInterceptorChain</span></td><td><code>9798b2a812d2015d</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.InvocationInterceptorChain.InterceptedInvocation</span></td><td><code>199eef1acbe0b316</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.InvocationInterceptorChain.ValidatingInvocation</span></td><td><code>f064b1c2c4a4bf86</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.JupiterEngineExecutionContext</span></td><td><code>b48cc2a96dab0116</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.JupiterEngineExecutionContext.Builder</span></td><td><code>d1557432e23d2776</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.JupiterEngineExecutionContext.State</span></td><td><code>3926323ef1c7fb03</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.MethodInvocation</span></td><td><code>8b8fd00463d994df</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.NamespaceAwareStore</span></td><td><code>00e5ea1337f34969</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.ParameterResolutionUtils</span></td><td><code>5aba48e342016f8f</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.TestInstancesProvider</span></td><td><code>357bca6226069e7b</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.DisabledCondition</span></td><td><code>1604b4e34c1363e4</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.ExtensionRegistry</span></td><td><code>687649643dbb04fc</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.MutableExtensionRegistry</span></td><td><code>4daca7ba95c88845</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.RepeatedTestExtension</span></td><td><code>7a30afad0f944ea5</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.TempDirectory</span></td><td><code>d2ce4804a30f8d8c</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.TempDirectory.Scope</span></td><td><code>81c9fea1068d7ff2</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.TestInfoParameterResolver</span></td><td><code>3c520f8376f91ff7</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.TestReporterParameterResolver</span></td><td><code>7187071bfc76c6ac</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.TimeoutConfiguration</span></td><td><code>44b8593a8e980687</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.TimeoutDurationParser</span></td><td><code>bb6a412c3829dae9</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.TimeoutExtension</span></td><td><code>13bcdadb20fcc7bb</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.support.JupiterThrowableCollectorFactory</span></td><td><code>46546a446de4c9c0</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.support.OpenTest4JAndJUnit4AwareThrowableCollector</span></td><td><code>e9ee7d4e1adecdd1</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.function.Try</span></td><td><code>5200e6adc191344c</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.function.Try.Success</span></td><td><code>98cdc5b539e1abfd</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.logging.LoggerFactory</span></td><td><code>39fdfe1f67bc0eda</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.logging.LoggerFactory.DelegatingLogger</span></td><td><code>c71dcf008235901c</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.support.AnnotationSupport</span></td><td><code>4b0c63263b83acb5</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.support.ReflectionSupport</span></td><td><code>db9de9450da5225a</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.AnnotationUtils</span></td><td><code>efebc064783617e1</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ClassLoaderUtils</span></td><td><code>0d0959e2f6aa173e</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ClassNamePatternFilterUtils</span></td><td><code>e725a6f058746f53</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ClassUtils</span></td><td><code>60a2276f3701443f</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ClasspathScanner</span></td><td><code>54e3df9bb2092b52</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.CollectionUtils</span></td><td><code>d47999c87f911057</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.Preconditions</span></td><td><code>2c2a6e13cda880d4</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ReflectionUtils</span></td><td><code>172cf9786a51e883</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ReflectionUtils.HierarchyTraversalMode</span></td><td><code>349d54e51f2ffb44</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.StringUtils</span></td><td><code>237c0cb03ac19254</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.CompositeFilter</span></td><td><code>6a52e5b4f7292f48</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.CompositeFilter.1</span></td><td><code>cc0aadc5880fb4e4</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.EngineDiscoveryListener</span></td><td><code>c3024068e43bb7f4</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.EngineDiscoveryListener.1</span></td><td><code>a4cdbe8dd38d8f57</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.EngineExecutionListener</span></td><td><code>693fee5cbd4c2df0</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.EngineExecutionListener.1</span></td><td><code>999902b68f81dd9a</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.ExecutionRequest</span></td><td><code>b74e001541d12dd1</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.Filter</span></td><td><code>5ffaaa90df97ca04</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.FilterResult</span></td><td><code>a787a89e1f12d534</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.SelectorResolutionResult</span></td><td><code>ca52e15a278dcf5c</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.SelectorResolutionResult.Status</span></td><td><code>c505c2274f89f01d</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.TestDescriptor</span></td><td><code>a828437d5cd2ea4f</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.TestDescriptor.Type</span></td><td><code>7628a7c639ef3a60</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.TestExecutionResult</span></td><td><code>6b1b512d17bb680e</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.TestExecutionResult.Status</span></td><td><code>ad256e9fb4407e04</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.UniqueId</span></td><td><code>4308af7bfbde4ba1</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.UniqueId.Segment</span></td><td><code>f2d36a9ca9d14367</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.UniqueIdFormat</span></td><td><code>6c86362ad62a1954</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.discovery.ClassSelector</span></td><td><code>3174b37b3ba53b7e</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.discovery.DiscoverySelectors</span></td><td><code>7863536f4276f4dd</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.discovery.MethodSelector</span></td><td><code>3fe9eccb2ba205d2</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.descriptor.AbstractTestDescriptor</span></td><td><code>b9c965daf4d9a476</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.descriptor.ClassSource</span></td><td><code>37bd92069360f773</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.descriptor.EngineDescriptor</span></td><td><code>8f2f77769ee0e9c9</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.descriptor.MethodSource</span></td><td><code>1d55ac49f5cabc20</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.ClassContainerSelectorResolver</span></td><td><code>dc6114dc7e983729</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolution</span></td><td><code>506a6b871d2fd8fe</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolution.DefaultContext</span></td><td><code>db18f59764ea1f2a</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolver</span></td><td><code>e7fb3042ea8112f0</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolver.Builder</span></td><td><code>d86618af76b95613</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolver.DefaultInitializationContext</span></td><td><code>1904819635770d62</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.SelectorResolver</span></td><td><code>e64e4fd796d9641d</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.SelectorResolver.Match</span></td><td><code>789c682356298d75</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.SelectorResolver.Match.Type</span></td><td><code>1761e56439c8d93c</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.SelectorResolver.Resolution</span></td><td><code>ab713bbdee405d17</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.ExclusiveResource</span></td><td><code>c29acbe41918b09a</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.ExclusiveResource.LockMode</span></td><td><code>96e95d210b150f97</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine</span></td><td><code>3ac292151741b7fc</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor</span></td><td><code>963cba9b029b4b19</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.LockManager</span></td><td><code>5aedd3bd3957b5a6</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.Node</span></td><td><code>5c68850150771b6e</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.Node.SkipResult</span></td><td><code>5aca1404ff0f9294</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.NodeExecutionAdvisor</span></td><td><code>7c2670c7a35cfba6</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.NodeTestTask</span></td><td><code>f652d8cc5e11bdc5</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.NodeTestTask.DefaultDynamicTestExecutor</span></td><td><code>abd00dd511d28b2f</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.NodeTestTaskContext</span></td><td><code>bdf88cd3834282a5</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.NodeTreeWalker</span></td><td><code>c689092b060d0b12</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.NodeUtils</span></td><td><code>a7ec8f66d373c169</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.NodeUtils.1</span></td><td><code>5a44a7e2cbf864b4</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService</span></td><td><code>2f3b283eba81629f</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.SingleLock</span></td><td><code>2036ec8b92a38105</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.ThrowableCollector</span></td><td><code>6fd7a27676be3c50</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.store.NamespacedHierarchicalStore</span></td><td><code>f773d297d7dc3275</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.store.NamespacedHierarchicalStore.CompositeKey</span></td><td><code>3f8758b273ff41a9</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.store.NamespacedHierarchicalStore.EvaluatedValue</span></td><td><code>3362298f87d9b160</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.store.NamespacedHierarchicalStore.MemoizingSupplier</span></td><td><code>be04f7b805ba11e1</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.store.NamespacedHierarchicalStore.StoredValue</span></td><td><code>8e79d12821d1a835</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.EngineDiscoveryResult</span></td><td><code>44ae55d9c94cdd13</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.EngineDiscoveryResult.Status</span></td><td><code>c6f73a818e869b3a</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.LauncherDiscoveryListener</span></td><td><code>c8e17526e895636b</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.LauncherDiscoveryListener.1</span></td><td><code>8959ed22ae756aca</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.LauncherSessionListener</span></td><td><code>fd09754de5a01f16</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.LauncherSessionListener.1</span></td><td><code>44b3640faa83f474</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.TestExecutionListener</span></td><td><code>268b267f76852bf6</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.TestIdentifier</span></td><td><code>543c59738c036e7f</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.TestPlan</span></td><td><code>125780e74ba9c50c</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.CompositeEngineExecutionListener</span></td><td><code>cea0030887322419</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.CompositeTestExecutionListener</span></td><td><code>283b3c281a0728e5</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DefaultDiscoveryRequest</span></td><td><code>5706e3938a47edbc</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DefaultLauncher</span></td><td><code>0bd6690ec3f385ab</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DefaultLauncherConfig</span></td><td><code>6fbfe73d83f861ce</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DefaultLauncherSession</span></td><td><code>593c9fadcd439bc2</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DefaultLauncherSession.1</span></td><td><code>4e7ad5e44df7008e</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DefaultLauncherSession.ClosedLauncher</span></td><td><code>1fe238faa78c4ee2</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DelegatingEngineExecutionListener</span></td><td><code>98129d4f91790da1</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DelegatingLauncher</span></td><td><code>443e4e7cef8118ba</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.EngineDiscoveryOrchestrator</span></td><td><code>9260ad30b5b1dcb4</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.EngineDiscoveryOrchestrator.Phase</span></td><td><code>c5da52319ffdb6cc</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.EngineDiscoveryResultValidator</span></td><td><code>241befbef6ea2edf</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.EngineExecutionOrchestrator</span></td><td><code>61a7d44fcaf1fd6d</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.EngineFilterer</span></td><td><code>5886e10a3932fe3b</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.EngineIdValidator</span></td><td><code>a3cbf4111f4706bd</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.ExecutionListenerAdapter</span></td><td><code>027b702b863a1b7b</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.InternalTestPlan</span></td><td><code>6c1da5c749fc1754</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.IterationOrder</span></td><td><code>67fbbac106398c55</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.IterationOrder.1</span></td><td><code>c32d4c631876b3d3</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.IterationOrder.2</span></td><td><code>b3c544910702c338</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherConfig</span></td><td><code>58100dc14c875cb9</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherConfig.Builder</span></td><td><code>b0426f929eec8a53</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherConfigurationParameters</span></td><td><code>443c9d189d7662aa</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherConfigurationParameters.Builder</span></td><td><code>89b3d95a424a68ea</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherConfigurationParameters.ParameterProvider</span></td><td><code>da0ae1240b20de42</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherConfigurationParameters.ParameterProvider.2</span></td><td><code>481aeb52e3ac15c4</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherConfigurationParameters.ParameterProvider.3</span></td><td><code>2d8e65fa362495e2</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherDiscoveryRequestBuilder</span></td><td><code>9eec1c5d1eee9fa1</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherDiscoveryResult</span></td><td><code>6ba764b26de92159</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherFactory</span></td><td><code>7c870cd17431cb9d</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherListenerRegistry</span></td><td><code>64d5f2a8ac991f94</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.ListenerRegistry</span></td><td><code>387fd40f10f1e6b5</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.OutcomeDelayingEngineExecutionListener</span></td><td><code>4c68ad66a29b4dd7</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.OutcomeDelayingEngineExecutionListener.Outcome</span></td><td><code>b6ca0889820c3cca</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.ServiceLoaderRegistry</span></td><td><code>2a95faa488a889e7</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.ServiceLoaderTestEngineRegistry</span></td><td><code>69f4349cc7042ed7</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.StackTracePruningEngineExecutionListener</span></td><td><code>dbf05583a874b58d</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.StreamInterceptingTestExecutionListener</span></td><td><code>36972afd5e542435</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.listeners.UniqueIdTrackingListener</span></td><td><code>05baa08d39a86a6a</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.listeners.discovery.AbortOnFailureLauncherDiscoveryListener</span></td><td><code>ee6720edc40a9ccf</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.listeners.discovery.LauncherDiscoveryListeners</span></td><td><code>03063623efb5e8b2</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.listeners.discovery.LauncherDiscoveryListeners.LauncherDiscoveryListenerType</span></td><td><code>e18e1a0e62e22287</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.listeners.session.LauncherSessionListeners</span></td><td><code>792ecbf10e49d607</code></td></tr><tr><td><span class="el_class">org.mockito.Answers</span></td><td><code>afd86bd70185fc83</code></td></tr><tr><td><span class="el_class">org.mockito.Mock.Strictness</span></td><td><code>009145878d43835a</code></td></tr><tr><td><span class="el_class">org.mockito.Mockito</span></td><td><code>5e987adfdd19a5b2</code></td></tr><tr><td><span class="el_class">org.mockito.MockitoAnnotations</span></td><td><code>74524dc0e5acf9f0</code></td></tr><tr><td><span class="el_class">org.mockito.configuration.DefaultMockitoConfiguration</span></td><td><code>b174879ae8ed115e</code></td></tr><tr><td><span class="el_class">org.mockito.internal.MockitoCore</span></td><td><code>f49bfbc3fe5350e5</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.CaptorAnnotationProcessor</span></td><td><code>2f21a4570b50b64a</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.ClassPathLoader</span></td><td><code>173a7c62160e6dbf</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.DefaultDoNotMockEnforcer</span></td><td><code>6a7cb49285062e7d</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.DefaultInjectionEngine</span></td><td><code>5622872b1b0aa27c</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.GlobalConfiguration</span></td><td><code>0df96c19dabdcfc0</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.IndependentAnnotationEngine</span></td><td><code>54aaab1155cc41fd</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.IndependentAnnotationEngine.1</span></td><td><code>288c2838a4732b5b</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.InjectingAnnotationEngine</span></td><td><code>3402d3906098d7e2</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.MockAnnotationProcessor</span></td><td><code>f32d9954d5c65205</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.SpyAnnotationEngine</span></td><td><code>6b53375c8a8a5cc1</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.ConstructorInjection</span></td><td><code>19dcf00154169dc3</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.ConstructorInjection.SimpleArgumentResolver</span></td><td><code>80e845e136e4a645</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.MockInjection</span></td><td><code>ca48d2168eb0379e</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.MockInjection.OngoingMockInjection</span></td><td><code>7332cebf2a8af19f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.MockInjectionStrategy</span></td><td><code>c2617130af96367b</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.MockInjectionStrategy.1</span></td><td><code>452f05e1d767d35b</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.PropertyAndSetterInjection</span></td><td><code>47bbc3a0a738f758</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.SpyOnInjectedFieldsHandler</span></td><td><code>c215fb083e355a56</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.filter.NameBasedCandidateFilter</span></td><td><code>022739292a1ee0bb</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.filter.TerminalMockCandidateFilter</span></td><td><code>33c9b708ed3e7c78</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.filter.TypeBasedCandidateFilter</span></td><td><code>e42765a95b390b22</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.scanner.InjectMocksScanner</span></td><td><code>46136c11b8e2ed65</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.scanner.MockScanner</span></td><td><code>9a1662242e3f2d24</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.plugins.DefaultMockitoPlugins</span></td><td><code>f2b7ceb1ff6789f3</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.plugins.DefaultPluginSwitch</span></td><td><code>bae35df711d1f747</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.plugins.PluginFileReader</span></td><td><code>f40c61def10749c5</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.plugins.PluginFinder</span></td><td><code>bd3cbb4ee283ccc1</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.plugins.PluginInitializer</span></td><td><code>7b55758cab21a0db</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.plugins.PluginLoader</span></td><td><code>1702b486e8f8c9ad</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.plugins.PluginRegistry</span></td><td><code>edba7ea1c6a85364</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.plugins.Plugins</span></td><td><code>b0a44acc68acdddb</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.DelegatingMethod</span></td><td><code>aa9a3605cadc5938</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.MockSettingsImpl</span></td><td><code>3040d7b3b87e5329</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.SuspendMethod</span></td><td><code>5807a496dfc9c4c6</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.ByteBuddyCrossClassLoaderSerializationSupport</span></td><td><code>cc16221692a6ad40</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.BytecodeGenerator</span></td><td><code>b96181544d17b32a</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.InlineByteBuddyMockMaker</span></td><td><code>a1a0ac895421946d</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.InlineBytecodeGenerator</span></td><td><code>4d280bd4890c7bfc</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.InlineBytecodeGenerator.ParameterWritingVisitorWrapper</span></td><td><code>f687cffac707cab0</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.InlineBytecodeGenerator.ParameterWritingVisitorWrapper.MethodParameterStrippingMethodVisitor</span></td><td><code>f73bf14929b93218</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.InlineBytecodeGenerator.ParameterWritingVisitorWrapper.ParameterAddingClassVisitor</span></td><td><code>d9e075cf41f65b6b</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.InlineDelegateByteBuddyMockMaker</span></td><td><code>60d0c826d258f2c7</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.InlineDelegateByteBuddyMockMaker.1</span></td><td><code>8ed606a1d3b15b19</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.MockFeatures</span></td><td><code>3948e31575d7accd</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.MockMethodAdvice</span></td><td><code>f2359792dc3778e4</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.MockMethodAdvice.ConstructorShortcut</span></td><td><code>e37fbd5282bb870b</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.MockMethodAdvice.ConstructorShortcut.1</span></td><td><code>d0e13ff90475a1a2</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.MockMethodAdvice.RealMethodCall</span></td><td><code>c2369bb294a6357d</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.MockMethodAdvice.ReturnValueWrapper</span></td><td><code>00efacc0ab0c5045</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.MockMethodAdvice.SelfCallInfo</span></td><td><code>23361b97116d3bc6</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.MockMethodInterceptor</span></td><td><code>0cc689df0bc804c0</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.MockMethodInterceptor.DispatcherDefaultingToRealMethod</span></td><td><code>dcca41190d27ae99</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.ModuleHandler</span></td><td><code>a9609957ab4bbbbb</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.ModuleHandler.ModuleSystemFound</span></td><td><code>8d938a4ac4779d75</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.StackWalkerChecker</span></td><td><code>68e569e3f7178506</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.SubclassBytecodeGenerator</span></td><td><code>4c19068b417bbacb</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.SubclassInjectionLoader</span></td><td><code>b44aeab62a314e0f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.SubclassInjectionLoader.WithReflection</span></td><td><code>4fa50c5021fa78c0</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.TypeCachingBytecodeGenerator</span></td><td><code>9b77b7f9f15ce65b</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.TypeCachingBytecodeGenerator.MockitoMockKey</span></td><td><code>6ab1c48e921f0e50</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.TypeCachingBytecodeGenerator.TypeCachingLock</span></td><td><code>f3718822abb34b6b</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.TypeSupport</span></td><td><code>d98a4f5abd337730</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.instance.DefaultInstantiatorProvider</span></td><td><code>844386c7887007f1</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.instance.ObjenesisInstantiator</span></td><td><code>7a7c1771759c8b2f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.settings.CreationSettings</span></td><td><code>1d27e65e4db303b9</code></td></tr><tr><td><span class="el_class">org.mockito.internal.debugging.LocationFactory</span></td><td><code>20c7d5b8c58d83b6</code></td></tr><tr><td><span class="el_class">org.mockito.internal.debugging.LocationFactory.DefaultLocationFactory</span></td><td><code>f8e464fb84825981</code></td></tr><tr><td><span class="el_class">org.mockito.internal.debugging.LocationImpl</span></td><td><code>530a4709e6947f60</code></td></tr><tr><td><span class="el_class">org.mockito.internal.debugging.LocationImpl.MetadataShim</span></td><td><code>e0e02617575176a4</code></td></tr><tr><td><span class="el_class">org.mockito.internal.exceptions.stacktrace.DefaultStackTraceCleaner</span></td><td><code>ccefdaf75b25508d</code></td></tr><tr><td><span class="el_class">org.mockito.internal.exceptions.stacktrace.DefaultStackTraceCleanerProvider</span></td><td><code>b96ca03f68c6b0bc</code></td></tr><tr><td><span class="el_class">org.mockito.internal.framework.DefaultMockitoFramework</span></td><td><code>9ff7a406a63b11b2</code></td></tr><tr><td><span class="el_class">org.mockito.internal.framework.DefaultMockitoSession</span></td><td><code>b769df66d2932b43</code></td></tr><tr><td><span class="el_class">org.mockito.internal.framework.DefaultMockitoSession.1</span></td><td><code>6d40a180fd180112</code></td></tr><tr><td><span class="el_class">org.mockito.internal.handler.InvocationNotifierHandler</span></td><td><code>81a88d2a9823ca2e</code></td></tr><tr><td><span class="el_class">org.mockito.internal.handler.MockHandlerFactory</span></td><td><code>60aaf611c9f037ba</code></td></tr><tr><td><span class="el_class">org.mockito.internal.handler.MockHandlerImpl</span></td><td><code>40af730c41726d19</code></td></tr><tr><td><span class="el_class">org.mockito.internal.handler.NullResultGuardian</span></td><td><code>887855f598dc7f26</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.ArgumentsProcessor</span></td><td><code>48a63d334fbe1568</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.DefaultInvocationFactory</span></td><td><code>fd7a2f1ca0abf244</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.InterceptedInvocation</span></td><td><code>2bc1759562590122</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.InterceptedInvocation.1</span></td><td><code>a808ee7e12b0c370</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.InvocationComparator</span></td><td><code>961ab6368446cd9c</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.InvocationMatcher</span></td><td><code>a60a277cde788c00</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.InvocationMatcher.1</span></td><td><code>d5c4b96c4388ebd1</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.MatcherApplicationStrategy</span></td><td><code>c26110ae251954b2</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.MatchersBinder</span></td><td><code>7855054a8c7718ee</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.RealMethod.IsIllegal</span></td><td><code>64f3caff97edef01</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.StubInfoImpl</span></td><td><code>9766984c92e9959b</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.TypeSafeMatching</span></td><td><code>db8fac8befb40512</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.finder.AllInvocationsFinder</span></td><td><code>a80f90b774f88fc5</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.mockref.MockWeakReference</span></td><td><code>1fbf38ee01ef223b</code></td></tr><tr><td><span class="el_class">org.mockito.internal.junit.DefaultStubbingLookupListener</span></td><td><code>13dcfa4167b96780</code></td></tr><tr><td><span class="el_class">org.mockito.internal.junit.UniversalTestListener</span></td><td><code>b0cc5166693438a8</code></td></tr><tr><td><span class="el_class">org.mockito.internal.junit.UniversalTestListener.1</span></td><td><code>c4d90e297ae82cc7</code></td></tr><tr><td><span class="el_class">org.mockito.internal.junit.UnusedStubbings</span></td><td><code>b53675bd52d6172d</code></td></tr><tr><td><span class="el_class">org.mockito.internal.junit.UnusedStubbingsFinder</span></td><td><code>675da25e30c00788</code></td></tr><tr><td><span class="el_class">org.mockito.internal.listeners.StubbingLookupNotifier</span></td><td><code>6f87fdb14780b091</code></td></tr><tr><td><span class="el_class">org.mockito.internal.listeners.StubbingLookupNotifier.Event</span></td><td><code>f6cc7c2930ac8f03</code></td></tr><tr><td><span class="el_class">org.mockito.internal.matchers.Equality</span></td><td><code>341b019eaeb85d40</code></td></tr><tr><td><span class="el_class">org.mockito.internal.matchers.Equals</span></td><td><code>84c89c09d537ae1d</code></td></tr><tr><td><span class="el_class">org.mockito.internal.progress.ArgumentMatcherStorageImpl</span></td><td><code>bd022035831d5c7c</code></td></tr><tr><td><span class="el_class">org.mockito.internal.progress.MockingProgressImpl</span></td><td><code>b4b478523e99786f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.progress.MockingProgressImpl.1</span></td><td><code>9f7db825fdcdf194</code></td></tr><tr><td><span class="el_class">org.mockito.internal.progress.SequenceNumber</span></td><td><code>a68ee1dd45f51b97</code></td></tr><tr><td><span class="el_class">org.mockito.internal.progress.ThreadSafeMockingProgress</span></td><td><code>452aa6e38ddff43e</code></td></tr><tr><td><span class="el_class">org.mockito.internal.progress.ThreadSafeMockingProgress.1</span></td><td><code>79ae9726492f0c4f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.session.DefaultMockitoSessionBuilder</span></td><td><code>b96a72121a8d44b7</code></td></tr><tr><td><span class="el_class">org.mockito.internal.session.MockitoLoggerAdapter</span></td><td><code>493d0e9955f91a80</code></td></tr><tr><td><span class="el_class">org.mockito.internal.session.MockitoSessionLoggerAdapter</span></td><td><code>f55620e96a8de521</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.BaseStubbing</span></td><td><code>7fb9abb0c3eadb7f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.ConsecutiveStubbing</span></td><td><code>557234368bf5ca41</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.DefaultLenientStubber</span></td><td><code>eb65121929ef8fcc</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.DoAnswerStyleStubbing</span></td><td><code>6e7ca0308caa0784</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.InvocationContainerImpl</span></td><td><code>67208a7429ee203f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.OngoingStubbingImpl</span></td><td><code>747b28f7f0499aba</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.StrictnessSelector</span></td><td><code>00cb65fb01fdc580</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.StubbedInvocationMatcher</span></td><td><code>73693c29dbd5f1d4</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.StubbingComparator</span></td><td><code>8d9934f6f6956410</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.UnusedStubbingReporting</span></td><td><code>076cd36a765c131f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.answers.CallsRealMethods</span></td><td><code>e57edbc68b0e39e6</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.answers.DefaultAnswerValidator</span></td><td><code>bc157688cbf26d9c</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.answers.InvocationInfo</span></td><td><code>35c4a7d4431e2604</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.answers.Returns</span></td><td><code>419d0de7c8cd9ec2</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.defaultanswers.GloballyConfiguredAnswer</span></td><td><code>b4af5d0cc4127c43</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.defaultanswers.ReturnsDeepStubs</span></td><td><code>9290a19f5dbdf1b2</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.defaultanswers.ReturnsEmptyValues</span></td><td><code>d6ed669583d1bf96</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.defaultanswers.ReturnsMocks</span></td><td><code>99d9220ab6ee9e86</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.defaultanswers.ReturnsMoreEmptyValues</span></td><td><code>708bd411a28382b5</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.defaultanswers.ReturnsSmartNulls</span></td><td><code>f434f2f732e6e80e</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.defaultanswers.TriesToReturnSelf</span></td><td><code>13e6f22c3923267d</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.Checks</span></td><td><code>693b7ec3dc9db88a</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.ConsoleMockitoLogger</span></td><td><code>8eb43018d32cf683</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.DefaultMockingDetails</span></td><td><code>445b7a7104a677ce</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.KotlinInlineClassUtil</span></td><td><code>8f2e65801baf9ad5</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.MockCreationValidator</span></td><td><code>83a10f2760252cf3</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.MockNameImpl</span></td><td><code>009cd5fc276ed0dd</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.MockUtil</span></td><td><code>8cedd1d6aa623c6c</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.ObjectMethodsGuru</span></td><td><code>e958146f93547352</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.Primitives</span></td><td><code>6b6a08aaf147839f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.StringUtil</span></td><td><code>0a51b9987b23cb8a</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.collections.HashCodeAndEqualsMockWrapper</span></td><td><code>93f7437facb707c5</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.collections.HashCodeAndEqualsSafeSet</span></td><td><code>737466b57a8efbc9</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.collections.HashCodeAndEqualsSafeSet.1</span></td><td><code>42fcd15141d4c88d</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.collections.Iterables</span></td><td><code>f7eb3a38de601237</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.collections.Sets</span></td><td><code>31c2cf4c7d79f16e</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.concurrent.DetachedThreadLocal</span></td><td><code>24c845c0cee0c23b</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.concurrent.DetachedThreadLocal.1</span></td><td><code>defaf890898faa64</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.concurrent.DetachedThreadLocal.Cleaner</span></td><td><code>fe82f09eda153c82</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.concurrent.WeakConcurrentMap</span></td><td><code>317df0cbe9bf65e4</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.concurrent.WeakConcurrentMap.LatentKey</span></td><td><code>49d0008ff01c2270</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.concurrent.WeakConcurrentMap.WeakKey</span></td><td><code>c9b8ab481aee9c32</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.concurrent.WeakConcurrentMap.WithInlinedExpunction</span></td><td><code>2900bb8f66594337</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.concurrent.WeakConcurrentSet</span></td><td><code>01665a2956990716</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.concurrent.WeakConcurrentSet.Cleaner</span></td><td><code>8e47207f365780a7</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.io.IOUtil</span></td><td><code>85aaa73b6a20c3ce</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.reflection.FieldInitializationReport</span></td><td><code>afb34a6be447d8bd</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.reflection.FieldInitializer</span></td><td><code>5664ed6e482410e9</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.reflection.FieldInitializer.ParameterizedConstructorInstantiator</span></td><td><code>41b0a2436abbee69</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.reflection.FieldInitializer.ParameterizedConstructorInstantiator.1</span></td><td><code>4c9971e1a5fee49f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.reflection.FieldReader</span></td><td><code>2d76f64107151601</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.reflection.GenericMetadataSupport</span></td><td><code>fa7ecde5970c0e5d</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.reflection.GenericMetadataSupport.FromClassGenericMetadataSupport</span></td><td><code>99c88b2ac93b8f3f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.reflection.GenericMetadataSupport.NotGenericReturnTypeSupport</span></td><td><code>8c611ef213f94120</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.reflection.GenericMetadataSupport.ParameterizedReturnType</span></td><td><code>25e3bc9dabf2fa9d</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.reflection.InstrumentationMemberAccessor</span></td><td><code>9e6d6acd35084d39</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.reflection.ModuleMemberAccessor</span></td><td><code>df6459cdb157634f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.verification.DefaultRegisteredInvocations</span></td><td><code>48184ff2108397ec</code></td></tr><tr><td><span class="el_class">org.mockito.junit.jupiter.MockitoExtension</span></td><td><code>15127f132851319e</code></td></tr><tr><td><span class="el_class">org.mockito.junit.jupiter.resolver.CaptorParameterResolver</span></td><td><code>2e8866c6a5127d6f</code></td></tr><tr><td><span class="el_class">org.mockito.junit.jupiter.resolver.CompositeParameterResolver</span></td><td><code>c7a126226052e288</code></td></tr><tr><td><span class="el_class">org.mockito.junit.jupiter.resolver.MockParameterResolver</span></td><td><code>2a46311d1d569871</code></td></tr><tr><td><span class="el_class">org.mockito.mock.MockType</span></td><td><code>0b5105452bbd0790</code></td></tr><tr><td><span class="el_class">org.mockito.mock.SerializableMode</span></td><td><code>d8db118920e53367</code></td></tr><tr><td><span class="el_class">org.mockito.plugins.AnnotationEngine.NoAction</span></td><td><code>cccb6d6b2cd49244</code></td></tr><tr><td><span class="el_class">org.mockito.plugins.DoNotMockEnforcer</span></td><td><code>d84a80636a3b2091</code></td></tr><tr><td><span class="el_class">org.mockito.plugins.DoNotMockEnforcer.Cache</span></td><td><code>7ad724250d9a8fd2</code></td></tr><tr><td><span class="el_class">org.mockito.quality.Strictness</span></td><td><code>fd006704ba980aef</code></td></tr><tr><td><span class="el_class">org.objenesis.ObjenesisBase</span></td><td><code>0c1d2fd83029257f</code></td></tr><tr><td><span class="el_class">org.objenesis.ObjenesisStd</span></td><td><code>f35c83a75caea811</code></td></tr><tr><td><span class="el_class">org.objenesis.strategy.BaseInstantiatorStrategy</span></td><td><code>b0aaa6460452f5ce</code></td></tr><tr><td><span class="el_class">org.objenesis.strategy.StdInstantiatorStrategy</span></td><td><code>abae05ba56ea35a6</code></td></tr><tr><td><span class="el_class">org.slf4j.LoggerFactory</span></td><td><code>a381b7ddf19bf47d</code></td></tr><tr><td><span class="el_class">org.slf4j.bridge.SLF4JBridgeHandler</span></td><td><code>a24ab9068b3f1049</code></td></tr><tr><td><span class="el_class">org.slf4j.helpers.NOPLoggerFactory</span></td><td><code>54f5632bfcb8d8d5</code></td></tr><tr><td><span class="el_class">org.slf4j.helpers.SubstituteLoggerFactory</span></td><td><code>dc7efc0107a4a62d</code></td></tr><tr><td><span class="el_class">org.slf4j.helpers.Util</span></td><td><code>857ff3acc0576435</code></td></tr><tr><td><span class="el_class">org.slf4j.impl.StaticLoggerBinder</span></td><td><code>6822bf7129d487fa</code></td></tr><tr><td><span class="el_class">org.springframework.aop.support.AopUtils</span></td><td><code>54db49eee568bbd6</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.mock.mockito.SpringBootMockResolver</span></td><td><code>e7844a493ab8f94c</code></td></tr><tr><td><span class="el_class">org.springframework.transaction.annotation.Isolation</span></td><td><code>37b131a74452c371</code></td></tr><tr><td><span class="el_class">org.springframework.transaction.annotation.Propagation</span></td><td><code>98d9856e50d13361</code></td></tr><tr><td><span class="el_class">org.springframework.util.Assert</span></td><td><code>fff12e6566010a09</code></td></tr><tr><td><span class="el_class">org.springframework.util.ClassUtils</span></td><td><code>e27c2a38ca92de9c</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrentReferenceHashMap</span></td><td><code>722cd58749bce5da</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrentReferenceHashMap.ReferenceManager</span></td><td><code>35eb6b9c1f2eedb5</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrentReferenceHashMap.ReferenceType</span></td><td><code>5b823be241865c2f</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrentReferenceHashMap.Segment</span></td><td><code>5daee5d71f2a6fe2</code></td></tr><tr><td><span class="el_class">sun.text.resources.cldr.ext.FormatData_ko</span></td><td><code>baf0b0c5ab453b12</code></td></tr><tr><td><span class="el_class">sun.util.resources.cldr.provider.CLDRLocaleDataMetaInfo</span></td><td><code>9ed83010eeaa402e</code></td></tr><tr><td><span class="el_class">sun.util.resources.provider.LocaleDataProvider</span></td><td><code>090384bcacb31f21</code></td></tr><tr><td><span class="el_class">worker.org.gradle.api.JavaVersion</span></td><td><code>b1ecdf7e3318cb73</code></td></tr><tr><td><span class="el_class">worker.org.gradle.api.internal.jvm.JavaVersionParser</span></td><td><code>1206b4dd1a2e9827</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.classloader.ClassLoaderSpec</span></td><td><code>cb374b01ccbebc0b</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.classloader.ClassLoaderUtils</span></td><td><code>8203100709821636</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.classloader.ClassLoaderUtils.AbstractClassLoaderLookuper</span></td><td><code>c285dc94ede87ba6</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.classloader.ClassLoaderUtils.Java9PackagesFetcher</span></td><td><code>66503273ab6df058</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.classloader.ClassLoaderUtils.LookupClassDefiner</span></td><td><code>101fed03f270a39f</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.classloader.FilteringClassLoader</span></td><td><code>685f3dec8c07e429</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.classloader.FilteringClassLoader.RetrieveSystemPackagesClassLoader</span></td><td><code>f37f538880fb8032</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.classloader.FilteringClassLoader.Spec</span></td><td><code>66254ecaab39094b</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.classloader.FilteringClassLoader.TrieSet</span></td><td><code>9ca6d89930a3c026</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.stream.EncodedStream.EncodedInput</span></td><td><code>6e5f5782b741154c</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.util.Trie</span></td><td><code>19fbee069a29feb3</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.util.Trie.Builder</span></td><td><code>3ff89b3303eddda1</code></td></tr><tr><td><span class="el_class">worker.org.gradle.process.internal.worker.GradleWorkerMain</span></td><td><code>232767ef46e8d7ca</code></td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.8.202204050719</span></div></body></html>
    \ No newline at end of file
    
    From 0374301b63bd17234d3b2a05aa02cd23e34f143f Mon Sep 17 00:00:00 2001
    From: hyeokson <chanhuk1765@gmail.com>
    Date: Thu, 22 Aug 2024 17:07:50 +0900
    Subject: [PATCH 32/36] =?UTF-8?q?rebase:=20=EC=9B=90=EB=B3=B8=20repo=20dev?=
     =?UTF-8?q?elop=20=EB=B8=8C=EB=9E=9C=EC=B9=98=EC=99=80=20rebase?=
    MIME-Version: 1.0
    Content-Type: text/plain; charset=UTF-8
    Content-Transfer-Encoding: 8bit
    
    ---
     .../backend/bo_domain/admin/dto/FcfsSettingTestRequestDto.java  | 2 +-
     1 file changed, 1 insertion(+), 1 deletion(-)
    
    diff --git a/src/main/java/com/softeer/backend/bo_domain/admin/dto/FcfsSettingTestRequestDto.java b/src/main/java/com/softeer/backend/bo_domain/admin/dto/FcfsSettingTestRequestDto.java
    index 98cf4314..6f1e385e 100644
    --- a/src/main/java/com/softeer/backend/bo_domain/admin/dto/FcfsSettingTestRequestDto.java
    +++ b/src/main/java/com/softeer/backend/bo_domain/admin/dto/FcfsSettingTestRequestDto.java
    @@ -12,7 +12,7 @@
     public class FcfsSettingTestRequestDto {
     
         private int round;
    -  
    +
         @JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss")
         private LocalDateTime startTime;
     
    
    From c65773444aa6b358a4823f96170b30f8e9a4a103 Mon Sep 17 00:00:00 2001
    From: hyeokson <chanhuk1765@gmail.com>
    Date: Thu, 22 Aug 2024 17:14:57 +0900
    Subject: [PATCH 33/36] =?UTF-8?q?feat:=20=ED=85=8C=EC=8A=A4=ED=8A=B8?=
     =?UTF-8?q?=EC=9A=A9=20url=EC=97=90=20=EB=8C=80=ED=95=B4=20=EC=9D=B8?=
     =?UTF-8?q?=EA=B0=80=EA=B2=80=EC=82=AC=20=ED=95=98=EC=A7=80=20=EC=95=8A?=
     =?UTF-8?q?=EB=8F=84=EB=A1=9D=20=EA=B5=AC=ED=98=84?=
    MIME-Version: 1.0
    Content-Type: text/plain; charset=UTF-8
    Content-Transfer-Encoding: 8bit
    
    ---
     .../softeer/backend/global/filter/JwtAuthorizationFilter.java  | 3 ++-
     1 file changed, 2 insertions(+), 1 deletion(-)
    
    diff --git a/src/main/java/com/softeer/backend/global/filter/JwtAuthorizationFilter.java b/src/main/java/com/softeer/backend/global/filter/JwtAuthorizationFilter.java
    index 411e564c..c9e863c0 100644
    --- a/src/main/java/com/softeer/backend/global/filter/JwtAuthorizationFilter.java
    +++ b/src/main/java/com/softeer/backend/global/filter/JwtAuthorizationFilter.java
    @@ -25,7 +25,8 @@ public class JwtAuthorizationFilter extends OncePerRequestFilter {
     
         // 인가검사를 하지 않는 url 설정
         private final String[] whiteListUrls = {
    -            "/admin/login", "/admin/signup"
    +            "/admin/login", "/admin/signup",
    +            "/admin/fcfs/test", "/admin/draw/test"
         };
     
         @Override
    
    From 402bdb1e501ffd070a175a38eb5dc0c0b84c2595 Mon Sep 17 00:00:00 2001
    From: hyeokson <chanhuk1765@gmail.com>
    Date: Thu, 22 Aug 2024 18:29:07 +0900
    Subject: [PATCH 34/36] =?UTF-8?q?feat:=20isFcfsClosed=20=EB=B3=80=EC=88=98?=
     =?UTF-8?q?=20=ED=95=A0=EB=8B=B9=ED=95=98=EB=8F=84=EB=A1=9D=20=EA=B5=AC?=
     =?UTF-8?q?=ED=98=84?=
    MIME-Version: 1.0
    Content-Type: text/plain; charset=UTF-8
    Content-Transfer-Encoding: 8bit
    
    ---
     .../backend/fo_domain/fcfs/service/FcfsSettingManager.java      | 2 ++
     1 file changed, 2 insertions(+)
    
    diff --git a/src/main/java/com/softeer/backend/fo_domain/fcfs/service/FcfsSettingManager.java b/src/main/java/com/softeer/backend/fo_domain/fcfs/service/FcfsSettingManager.java
    index dd2b96ef..47258337 100644
    --- a/src/main/java/com/softeer/backend/fo_domain/fcfs/service/FcfsSettingManager.java
    +++ b/src/main/java/com/softeer/backend/fo_domain/fcfs/service/FcfsSettingManager.java
    @@ -197,6 +197,8 @@ public void setFcfsSettingByAdmin(FcfsSettingTestRequestDto fcfsSettingTestReque
                     .build();
     
             fcfsSettingList.set(fcfsSettingTestRequestDto.getRound()-1, fcfsSettingDto);
    +
    +        isFcfsClosed = fcfsSettingTestRequestDto.isFcfsClosed();
         }
     
     }
    
    From ea382411706840ae992559985f410deaa8d9faf5 Mon Sep 17 00:00:00 2001
    From: hyeokson <chanhuk1765@gmail.com>
    Date: Thu, 22 Aug 2024 18:29:40 +0900
    Subject: [PATCH 35/36] =?UTF-8?q?feat:=20isFcfsClosed=20=EB=B3=80=EC=88=98?=
     =?UTF-8?q?=EB=A5=BC=20=ED=95=84=EB=93=9C=EC=97=90=20=EC=B6=94=EA=B0=80?=
    MIME-Version: 1.0
    Content-Type: text/plain; charset=UTF-8
    Content-Transfer-Encoding: 8bit
    
    ---
     .../backend/bo_domain/admin/dto/FcfsSettingTestRequestDto.java  | 2 ++
     1 file changed, 2 insertions(+)
    
    diff --git a/src/main/java/com/softeer/backend/bo_domain/admin/dto/FcfsSettingTestRequestDto.java b/src/main/java/com/softeer/backend/bo_domain/admin/dto/FcfsSettingTestRequestDto.java
    index 6f1e385e..a02cdce2 100644
    --- a/src/main/java/com/softeer/backend/bo_domain/admin/dto/FcfsSettingTestRequestDto.java
    +++ b/src/main/java/com/softeer/backend/bo_domain/admin/dto/FcfsSettingTestRequestDto.java
    @@ -20,4 +20,6 @@ public class FcfsSettingTestRequestDto {
         private LocalDateTime endTime;
     
         private int winnerNum;
    +
    +    private boolean isFcfsClosed;
     }
    
    From 0bd6ade65b6c5ac30609aea7191193dabd8ea917 Mon Sep 17 00:00:00 2001
    From: hyeokson <chanhuk1765@gmail.com>
    Date: Thu, 22 Aug 2024 18:30:06 +0900
    Subject: [PATCH 36/36] =?UTF-8?q?refactor:=20redis=20key=20=EC=83=81?=
     =?UTF-8?q?=EC=88=98=20=EB=B3=80=EA=B2=BD?=
    MIME-Version: 1.0
    Content-Type: text/plain; charset=UTF-8
    Content-Transfer-Encoding: 8bit
    
    ---
     .../softeer/backend/global/common/constant/RedisKeyPrefix.java  | 2 +-
     1 file changed, 1 insertion(+), 1 deletion(-)
    
    diff --git a/src/main/java/com/softeer/backend/global/common/constant/RedisKeyPrefix.java b/src/main/java/com/softeer/backend/global/common/constant/RedisKeyPrefix.java
    index d230e72b..1fd003f6 100644
    --- a/src/main/java/com/softeer/backend/global/common/constant/RedisKeyPrefix.java
    +++ b/src/main/java/com/softeer/backend/global/common/constant/RedisKeyPrefix.java
    @@ -11,7 +11,7 @@ public enum RedisKeyPrefix {
         FCFS_USERID_PREFIX("FCFS_WINNER_"),
         FCFS_CODE_PREFIX("FCFS_CODE_"),
         FCFS_CODE_USERID_PREFIX("FCFS_CODE_USERID_"),
    -    FCFS_PARTICIPANT_COUNT_PREFIX("FCFS_PARTICIPANT_COUNT"),
    +    FCFS_PARTICIPANT_COUNT_PREFIX("FCFS_PARTICIPANT_COUNT_"),
     
         // 추첨
         DRAW_WINNER_LIST_PREFIX("DRAW_WINNER_LIST_"),