From 2ec4652f075fa4bccfd90a2ef95d330879973dd5 Mon Sep 17 00:00:00 2001 From: SoLetsDev <74216496+SoLetsDev@users.noreply.github.com> Date: Fri, 12 May 2023 15:27:02 -0700 Subject: [PATCH 01/12] First stage of springboot upgrade. Also optimized imports to remove unused imports. --- api/pom.xml | 35 +++++------ .../penreg/api/PenRegBatchApiApplication.java | 41 ++++++------ .../CustomRequestBodyAdviceAdapter.java | 5 +- .../mappers/PenRequestBatchFileDecorator.java | 9 ++- .../penreg/api/batch/mappers/UUIDMapper.java | 3 +- .../batch/processor/PenRegBatchProcessor.java | 63 ++++++++++++++----- .../PenRegBatchStudentRecordsProcessor.java | 13 ++-- .../schedulers/PenRegBatchScheduler.java | 9 ++- .../service/PSIDuplicateFileCheckService.java | 7 +-- .../service/PenRequestBatchFileService.java | 13 ++-- .../penreg/api/batch/struct/BatchFile.java | 3 +- .../PenRequestBatchFileValidator.java | 18 +++--- .../penreg/api/config/AsyncConfiguration.java | 5 +- .../config/RequestResponseInterceptor.java | 7 +-- .../PenRequestBatchStudentStatusCodes.java | 3 +- .../api/constants/StudentDemogCode.java | 3 +- .../controller/v1/PaginatedController.java | 5 +- .../v1/PenRequestBatchAPIController.java | 18 +++--- .../PenRequestBatchHistoryAPIController.java | 14 ++--- .../v1/PenRequestBatchSagaController.java | 25 +++++--- ...atchStudentInfoRequestMacroController.java | 15 +++-- .../v1/PenRequestBatchAPIEndpoint.java | 11 ++-- .../v1/PenRequestBatchHistoryAPIEndpoint.java | 6 +- .../v1/PenRequestBatchSagaEndpoint.java | 14 +++-- ...tBatchStudentInfoRequestMacroEndpoint.java | 9 ++- .../exception/EntityNotFoundException.java | 5 +- .../api/exception/RestExceptionHandler.java | 18 +++--- .../penreg/api/exception/errors/ApiError.java | 13 ++-- .../educ/penreg/api/filter/Associations.java | 5 +- .../penreg/api/filter/BaseFilterSpecs.java | 4 +- .../educ/penreg/api/filter/Converters.java | 5 +- .../penreg/api/filter/FilterCriteria.java | 5 +- .../penreg/api/filter/FilterOperation.java | 1 - .../api/filter/FilterSpecifications.java | 9 ++- .../api/filter/PenRegBatchFilterSpecs.java | 7 +-- .../filter/PenRegBatchHistoryFilterSpecs.java | 5 +- .../filter/PenRegBatchStudentFilterSpecs.java | 5 +- .../penreg/api/filter/SagaFilterSpecs.java | 5 +- .../PenRegBatchAPICustomHealthCheck.java | 3 +- .../educ/penreg/api/helpers/LogHelper.java | 13 ++-- .../penreg/api/helpers/PenRegBatchHelper.java | 7 +-- .../educ/penreg/api/mappers/UUIDMapper.java | 3 +- .../PenRequestBatchReportDataDecorator.java | 16 ++--- .../api/mappers/v1/PenWebBlobMapper.java | 9 ++- .../mappers/v1/ReportListItemDecorator.java | 9 ++- .../api/mappers/v1/ReportListItemMapper.java | 3 +- .../PenRequestBatchResultDataDecorator.java | 6 +- .../PenRequestBatchResultDataMapper.java | 3 +- .../api/messaging/MessagePublisher.java | 3 +- .../api/messaging/MessageSubscriber.java | 11 ++-- .../penreg/api/messaging/NatsConnection.java | 7 +-- .../model/v1/MinistryPRBSourceCodeEntity.java | 11 ++-- .../penreg/api/model/v1/PENWebBlobEntity.java | 5 +- .../api/model/v1/PenRequestBatchEntity.java | 11 ++-- .../api/model/v1/PenRequestBatchEvent.java | 13 ++-- .../v1/PenRequestBatchEventCodeEntity.java | 9 ++- .../v1/PenRequestBatchHistoryEntity.java | 7 +-- .../v1/PenRequestBatchStatusCodeEntity.java | 11 ++-- .../v1/PenRequestBatchStudentEntity.java | 11 ++-- ...estBatchStudentInfoRequestMacroEntity.java | 13 ++-- ...enRequestBatchStudentStatusCodeEntity.java | 11 ++-- ...uestBatchStudentValidationIssueEntity.java | 5 +- .../v1/PenRequestBatchTypeCodeEntity.java | 11 ++-- ...atchValidOneLetterGivenNameCodeEntity.java | 9 ++- .../bc/gov/educ/penreg/api/model/v1/Saga.java | 15 +++-- .../educ/penreg/api/model/v1/SagaEvent.java | 15 +++-- .../api/model/v1/SchoolGroupCodeEntity.java | 11 ++-- .../BaseReturnFilesOrchestrator.java | 42 ++++++++----- .../BaseUserActionsOrchestrator.java | 6 +- .../PenReqBatchNewPenOrchestrator.java | 33 ++++++---- .../PenReqBatchStudentOrchestrator.java | 31 +++++---- .../PenReqBatchUserMatchOrchestrator.java | 32 ++++++---- .../PenReqBatchUserUnmatchOrchestrator.java | 31 ++++----- ...uestBatchArchiveAndReturnOrchestrator.java | 38 +++++++---- ...RequestBatchRepostReportsOrchestrator.java | 34 +++++++--- .../orchestrator/base/BaseOrchestrator.java | 29 +++++---- .../api/orchestrator/base/EventHandler.java | 1 - .../api/orchestrator/base/Orchestrator.java | 3 +- .../api/orchestrator/base/SagaEventState.java | 3 +- .../api/orchestrator/base/SagaStep.java | 1 - .../api/properties/ApplicationProperties.java | 5 +- .../PenRequestBatchEventRepository.java | 9 ++- .../PenRequestBatchHistoryRepository.java | 5 +- .../repository/PenRequestBatchRepository.java | 10 +-- .../PenRequestBatchSearchRepositoryImpl.java | 21 +++---- ...atchStudentInfoRequestMacroRepository.java | 3 +- .../PenRequestBatchStudentRepository.java | 7 +-- ...enRequestBatchStudentRepositoryCustom.java | 1 - ...questBatchStudentStatusCodeRepository.java | 3 +- ...BatchStudentValidationIssueRepository.java | 5 +- ...ValidOneLetterGivenNameCodeRepository.java | 3 +- .../api/repository/PenWebBlobRepository.java | 5 +- .../api/repository/SagaEventRepository.java | 9 ++- .../penreg/api/repository/SagaRepository.java | 7 +-- .../PenRequestBatchStudentRepositoryImpl.java | 12 ++-- .../educ/penreg/api/rest/RestPageImpl.java | 5 +- .../gov/educ/penreg/api/rest/RestUtils.java | 35 ++++++----- .../api/schedulers/EventTaskScheduler.java | 4 +- .../PurgeOldSagaRecordsScheduler.java | 9 ++- ...PurgeSoftDeletedBatchRecordsScheduler.java | 9 ++- ...tudentPenMatchResultProcessingService.java | 21 ++++--- .../BasePenMatchResultProcessingService.java | 9 ++- .../api/service/EventHandlerService.java | 15 +++-- .../api/service/EventPublisherService.java | 4 +- .../EventTaskSchedulerAsyncService.java | 27 ++++---- .../api/service/NotificationService.java | 11 ++-- .../api/service/PenCoordinatorService.java | 3 +- .../service/PenRequestBatchEventService.java | 15 +++-- .../PenRequestBatchHistoryService.java | 11 ++-- .../api/service/PenRequestBatchService.java | 35 ++++++----- ...stBatchStudentInfoRequestMacroService.java | 11 ++-- ...equestBatchStudentOrchestratorService.java | 17 ++--- ...ntSFASPenMatchResultProcessingService.java | 3 +- .../PenRequestBatchStudentService.java | 28 +++++---- ...SchoolPenMatchResultProcessingService.java | 3 +- ...estBatchStudentValidationIssueService.java | 9 ++- ...equestPenMatchResultProcessingService.java | 13 ++-- .../educ/penreg/api/service/PenService.java | 4 +- .../service/ResponseFileGeneratorService.java | 17 +++-- .../educ/penreg/api/service/SagaService.java | 31 ++++----- .../BasePenRequestBatchStudentSagaData.java | 5 +- .../bc/gov/educ/penreg/api/struct/Event.java | 3 +- .../penreg/api/struct/PenMatchRecord.java | 6 +- .../penreg/api/struct/PenMatchResult.java | 3 +- .../api/struct/PenRequestBatchStats.java | 3 +- .../PenRequestBatchStudentSagaData.java | 5 +- ...nRequestBatchStudentValidationPayload.java | 5 +- .../PenRequestBatchUnmatchSagaData.java | 3 +- .../PenRequestBatchUserActionsSagaData.java | 9 ++- .../api/struct/PenRequestValidationIssue.java | 1 - .../gov/educ/penreg/api/struct/Student.java | 11 ++-- .../educ/penreg/api/struct/StudentTwin.java | 3 +- .../api/struct/StudentTwinAssociation.java | 5 +- .../v1/ArchiveAndReturnSagaResponse.java | 3 +- ...asePenRequestBatchReturnFilesSagaData.java | 9 ++- .../penreg/api/struct/v1/BaseRequest.java | 5 +- .../educ/penreg/api/struct/v1/GradeCode.java | 5 +- .../api/struct/v1/PenRequestBatchArchive.java | 7 +-- ...questBatchArchiveAndReturnAllSagaData.java | 9 ++- ...equestBatchRepostReportsFilesSagaData.java | 4 +- .../api/struct/v1/PenRequestBatchStudent.java | 3 +- ...enRequestBatchStudentInfoRequestMacro.java | 5 +- ...PenRequestBatchStudentValidationIssue.java | 6 +- .../penreg/api/struct/v1/PenRequestIDs.java | 3 +- .../PenRequestPenMatchProcessingPayload.java | 3 +- .../gov/educ/penreg/api/struct/v1/Saga.java | 3 +- .../educ/penreg/api/struct/v1/SagaEvent.java | 3 +- .../gov/educ/penreg/api/struct/v1/Search.java | 3 +- .../penreg/api/struct/v1/SearchCriteria.java | 3 +- .../penreg/api/struct/v1/StudentHistory.java | 3 +- .../api/struct/v1/external/ListItem.java | 3 +- .../external/PenRequestBatchSubmission.java | 3 +- .../PenRequestBatchSubmissionResult.java | 3 +- .../struct/v1/external/PenRequestResult.java | 3 +- .../PenRequestBatchReportData.java | 3 +- .../bc/gov/educ/penreg/api/util/JsonUtil.java | 3 +- .../penreg/api/util/LocalDateTimeUtil.java | 6 +- .../gov/educ/penreg/api/util/LocalIDUtil.java | 1 - ...udentInfoRequestMacroPayloadValidator.java | 9 ++- api/src/main/resources/application.properties | 6 +- .../processor/PenRegBatchProcessorTest.java | 35 +++++------ .../schedulers/PenRegBatchSchedulerTest.java | 27 ++++---- .../PenRequestBatchFileServiceTest.java | 21 +++---- .../PenRequestBatchFileValidatorTest.java | 15 +++-- .../PenRequestBatchHistoryComparator.java | 1 - ...PenRequestBatchStudentStatusCodesTest.java | 4 +- .../v1/PenRequestBatchAPIControllerTest.java | 48 ++++++++------ ...nRequestBatchHistoryAPIControllerTest.java | 29 +++++---- .../v1/PenRequestBatchSagaControllerTest.java | 36 ++++++----- ...StudentInfoRequestMacroControllerTest.java | 19 +++--- .../PenRegBatchAPICustomHealthCheckTest.java | 13 ++-- .../api/helpers/PenRegBatchHelperTest.java | 4 +- .../v1/PenRequestBatchFileMapperTest.java | 7 +-- .../PenRequestBatchReportDataMapperTest.java | 9 ++- .../api/mapper/v1/StudentMapperTest.java | 7 +-- .../orchestrator/BaseOrchestratorTest.java | 1 - .../PenReqBatchNewPenOrchestratorTest.java | 32 ++++++---- .../PenReqBatchStudentOrchestratorTest.java | 55 ++++++++-------- .../PenReqBatchUserMatchOrchestratorTest.java | 37 ++++++----- ...enReqBatchUserUnmatchOrchestratorTest.java | 49 ++++++++------- ...BatchArchiveAndReturnOrchestratorTest.java | 43 ++++++++----- ...estBatchRepostReportsOrchestratorTest.java | 32 +++++----- .../educ/penreg/api/rest/RestUtilsTest.java | 28 +++++---- .../PurgeOldSagaRecordsSchedulerTest.java | 10 ++- ...eSoftDeletedBatchRecordsSchedulerTest.java | 9 ++- .../api/service/EventHandlerServiceTest.java | 40 +++++++----- .../EventTaskSchedulerAsyncServiceTest.java | 15 +++-- .../api/service/NotificationServiceTest.java | 15 ++--- .../service/PenCoordinatorServiceTest.java | 17 +++-- .../PenRequestBatchEventServiceTest.java | 23 ++++--- .../service/PenRequestBatchServiceTest.java | 30 ++++----- ...stBatchStudentOrchestratorServiceTest.java | 25 +++++--- .../PenRequestBatchStudentServiceTest.java | 22 ++++--- .../ResponseFileGeneratorServiceTest.java | 19 +++--- .../penreg/api/support/NatsMessageImpl.java | 5 +- .../api/support/PenRequestBatchTestUtils.java | 35 ++++++----- .../api/support/TestRedisConfiguration.java | 5 +- 197 files changed, 1267 insertions(+), 1174 deletions(-) diff --git a/api/pom.xml b/api/pom.xml index 7126854d..3a8ccbea 100644 --- a/api/pom.xml +++ b/api/pom.xml @@ -16,14 +16,14 @@ src/main/resources/**,src/main/java/ca/bc/gov/educ/penreg/api/endpoint/**,src/main/java/ca/bc/gov/educ/penreg/api/config/**, src/main/java/ca/bc/gov/educ/penreg/api/mappers/**,src/main/java/ca/bc/gov/educ/penreg/api/exception/**,src/main/java/ca/bc/gov/educ/penreg/api/model/**,src/main/java/ca/bc/gov/educ/penreg/api/struct/** - 11 + 17 - 3.8.0 + 3.10.1 ${java.version} ${java.version} - 1.4.1.Final + 1.5.3.Final 4.20.0 - 1.5.2 + 1.6.15 2.11.0 21.3.0.0 30.1.1-jre @@ -32,14 +32,14 @@ 0.15 4.0.3 3.1.6 - 3.15.1 + 3.21.1 2.17.1 org.springframework.boot spring-boot-starter-parent - 2.4.3 + 3.0.2 @@ -120,8 +120,8 @@ commons-lang3 - javax.persistence - javax.persistence-api + jakarta.persistence + jakarta.persistence-api org.springframework.boot @@ -136,13 +136,8 @@ org.springdoc - springdoc-openapi-webmvc-core - ${springdoc.version} - - - org.springdoc - springdoc-openapi-ui - ${springdoc.version} + springdoc-openapi-starter-webmvc-ui + 2.0.4 org.mapstruct @@ -323,11 +318,6 @@ ${java.version} ${java.version} - - org.mapstruct - mapstruct-processor - ${org.mapstruct.version} - org.projectlombok lombok @@ -338,6 +328,11 @@ lombok-mapstruct-binding 0.2.0 + + org.mapstruct + mapstruct-processor + ${org.mapstruct.version} + org.springframework spring-context-indexer diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/PenRegBatchApiApplication.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/PenRegBatchApiApplication.java index ec182749..d4e31221 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/PenRegBatchApiApplication.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/PenRegBatchApiApplication.java @@ -14,11 +14,11 @@ import org.springframework.retry.annotation.EnableRetry; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler; -import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity; import org.springframework.security.config.annotation.web.builders.HttpSecurity; -import org.springframework.security.config.annotation.web.builders.WebSecurity; -import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; -import org.springframework.security.core.context.SecurityContextHolder; +import org.springframework.security.config.annotation.web.configurers.AbstractHttpConfigurer; +import org.springframework.security.config.annotation.web.configurers.oauth2.server.resource.OAuth2ResourceServerConfigurer; +import org.springframework.security.config.http.SessionCreationPolicy; +import org.springframework.security.web.SecurityFilterChain; import org.springframework.transaction.PlatformTransactionManager; /** @@ -27,7 +27,6 @@ * @author OM */ @SpringBootApplication -@EnableGlobalMethodSecurity(prePostEnabled = true) @EnableCaching @EnableScheduling @EnableSchedulerLock(defaultLockAtMostFor = "1s") @@ -73,7 +72,7 @@ public ThreadPoolTaskScheduler threadPoolTaskScheduler() { */ @Configuration static - class WebSecurityConfiguration extends WebSecurityConfigurerAdapter { + class WebSecurityConfiguration { /** * Instantiates a new Web security configuration. @@ -81,25 +80,21 @@ class WebSecurityConfiguration extends WebSecurityConfigurerAdapter { */ public WebSecurityConfiguration() { super(); - SecurityContextHolder.setStrategyName(SecurityContextHolder.MODE_INHERITABLETHREADLOCAL); } - /** - * Configure paths to be excluded from security. - * - * @param web the web - */ - @Override - public void configure(final WebSecurity web) { - web.ignoring() - .antMatchers("/v3/api-docs/**", "/actuator/health", "/actuator/metrics/**", "/actuator/prometheus", "/swagger-ui/**"); - } - - @Override - protected void configure(final HttpSecurity http) throws Exception { - http.authorizeRequests() - .anyRequest().authenticated().and() - .oauth2ResourceServer().jwt(); + @Bean + public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { + http + .csrf(AbstractHttpConfigurer::disable) + .authorizeHttpRequests(auth -> auth + .requestMatchers("/v3/api-docs/**", + "/actuator/health", "/actuator/prometheus", "/actuator/**", + "/swagger-ui/**").permitAll() + .anyRequest().authenticated() + ) + .sessionManagement(sess -> sess.sessionCreationPolicy(SessionCreationPolicy.STATELESS)) + .oauth2ResourceServer(OAuth2ResourceServerConfigurer::jwt); + return http.build(); } } } diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/adapter/CustomRequestBodyAdviceAdapter.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/adapter/CustomRequestBodyAdviceAdapter.java index 159b2ef4..25576399 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/adapter/CustomRequestBodyAdviceAdapter.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/adapter/CustomRequestBodyAdviceAdapter.java @@ -1,5 +1,7 @@ package ca.bc.gov.educ.penreg.api.adapter; +import jakarta.servlet.http.HttpServletRequest; +import java.lang.reflect.Type; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.core.MethodParameter; import org.springframework.http.HttpInputMessage; @@ -7,9 +9,6 @@ import org.springframework.web.bind.annotation.ControllerAdvice; import org.springframework.web.servlet.mvc.method.annotation.RequestBodyAdviceAdapter; -import javax.servlet.http.HttpServletRequest; -import java.lang.reflect.Type; - @ControllerAdvice public class CustomRequestBodyAdviceAdapter extends RequestBodyAdviceAdapter { diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/batch/mappers/PenRequestBatchFileDecorator.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/batch/mappers/PenRequestBatchFileDecorator.java index 963156a2..3dbe9a41 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/batch/mappers/PenRequestBatchFileDecorator.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/batch/mappers/PenRequestBatchFileDecorator.java @@ -1,5 +1,8 @@ package ca.bc.gov.educ.penreg.api.batch.mappers; +import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStatusCodes.LOADED; +import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchTypeCode.SCHOOL; + import ca.bc.gov.educ.penreg.api.batch.struct.BatchFile; import ca.bc.gov.educ.penreg.api.batch.struct.StudentDetails; import ca.bc.gov.educ.penreg.api.constants.MinistryPRBSourceCodes; @@ -8,14 +11,10 @@ import ca.bc.gov.educ.penreg.api.model.v1.PENWebBlobEntity; import ca.bc.gov.educ.penreg.api.model.v1.PenRequestBatchEntity; import ca.bc.gov.educ.penreg.api.model.v1.PenRequestBatchStudentEntity; +import java.time.LocalDateTime; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; -import java.time.LocalDateTime; - -import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStatusCodes.LOADED; -import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchTypeCode.SCHOOL; - /** * The type Pen request batch file decorator. */ diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/batch/mappers/UUIDMapper.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/batch/mappers/UUIDMapper.java index bb9952e8..eb810ffa 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/batch/mappers/UUIDMapper.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/batch/mappers/UUIDMapper.java @@ -1,8 +1,7 @@ package ca.bc.gov.educ.penreg.api.batch.mappers; -import org.apache.commons.lang3.StringUtils; - import java.util.UUID; +import org.apache.commons.lang3.StringUtils; /** * The type Uuid mapper. diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/batch/processor/PenRegBatchProcessor.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/batch/processor/PenRegBatchProcessor.java index e0b970a6..e1d99001 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/batch/processor/PenRegBatchProcessor.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/batch/processor/PenRegBatchProcessor.java @@ -1,5 +1,36 @@ package ca.bc.gov.educ.penreg.api.batch.processor; +import static ca.bc.gov.educ.penreg.api.batch.exception.FileError.DUPLICATE_BATCH_FILE_PSI; +import static ca.bc.gov.educ.penreg.api.batch.exception.FileError.HELD_BACK_FOR_SFAS; +import static ca.bc.gov.educ.penreg.api.batch.exception.FileError.HELD_BACK_FOR_SIZE; +import static ca.bc.gov.educ.penreg.api.batch.exception.FileError.INVALID_MINCODE_HEADER; +import static ca.bc.gov.educ.penreg.api.batch.exception.FileError.INVALID_MINCODE_SCHOOL_CLOSED; +import static ca.bc.gov.educ.penreg.api.batch.exception.FileError.INVALID_TRAILER; +import static ca.bc.gov.educ.penreg.api.batch.exception.FileError.INVALID_TRAILER_STUDENT_COUNT; +import static ca.bc.gov.educ.penreg.api.batch.exception.FileError.INVALID_TRANSACTION_CODE_STUDENT_DETAILS; +import static ca.bc.gov.educ.penreg.api.constants.BatchFileConstants.BIRTH_DATE; +import static ca.bc.gov.educ.penreg.api.constants.BatchFileConstants.ENROLLED_GRADE_CODE; +import static ca.bc.gov.educ.penreg.api.constants.BatchFileConstants.GENDER; +import static ca.bc.gov.educ.penreg.api.constants.BatchFileConstants.HEADER; +import static ca.bc.gov.educ.penreg.api.constants.BatchFileConstants.LEGAL_GIVEN_NAME; +import static ca.bc.gov.educ.penreg.api.constants.BatchFileConstants.LEGAL_MIDDLE_NAME; +import static ca.bc.gov.educ.penreg.api.constants.BatchFileConstants.LEGAL_SURNAME; +import static ca.bc.gov.educ.penreg.api.constants.BatchFileConstants.LOCAL_STUDENT_ID; +import static ca.bc.gov.educ.penreg.api.constants.BatchFileConstants.PEN; +import static ca.bc.gov.educ.penreg.api.constants.BatchFileConstants.POSTAL_CODE; +import static ca.bc.gov.educ.penreg.api.constants.BatchFileConstants.PRODUCT_ID; +import static ca.bc.gov.educ.penreg.api.constants.BatchFileConstants.PRODUCT_NAME; +import static ca.bc.gov.educ.penreg.api.constants.BatchFileConstants.STUDENT_COUNT; +import static ca.bc.gov.educ.penreg.api.constants.BatchFileConstants.TRAILER; +import static ca.bc.gov.educ.penreg.api.constants.BatchFileConstants.TRANSACTION_CODE; +import static ca.bc.gov.educ.penreg.api.constants.BatchFileConstants.UNUSED; +import static ca.bc.gov.educ.penreg.api.constants.BatchFileConstants.UNUSED_SECOND; +import static ca.bc.gov.educ.penreg.api.constants.BatchFileConstants.USUAL_GIVEN_NAME; +import static ca.bc.gov.educ.penreg.api.constants.BatchFileConstants.USUAL_MIDDLE_NAME; +import static ca.bc.gov.educ.penreg.api.constants.BatchFileConstants.USUAL_SURNAME; +import static ca.bc.gov.educ.penreg.api.constants.BatchFileConstants.VENDOR_NAME; +import static lombok.AccessLevel.PRIVATE; + import ca.bc.gov.educ.penreg.api.batch.exception.FileError; import ca.bc.gov.educ.penreg.api.batch.exception.FileUnProcessableException; import ca.bc.gov.educ.penreg.api.batch.mappers.PenRequestBatchFileMapper; @@ -21,6 +52,23 @@ import ca.bc.gov.educ.penreg.api.service.PenCoordinatorService; import ca.bc.gov.educ.penreg.api.struct.School; import com.google.common.base.Stopwatch; +import java.io.ByteArrayInputStream; +import java.io.FileReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.io.Reader; +import java.nio.charset.Charset; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import java.util.UUID; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.TimeoutException; +import java.util.function.Function; +import java.util.stream.Collectors; import lombok.Getter; import lombok.NonNull; import lombok.extern.slf4j.Slf4j; @@ -34,21 +82,6 @@ import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.io.*; -import java.nio.charset.Charset; -import java.nio.charset.CharsetDecoder; -import java.util.*; -import java.util.concurrent.CompletableFuture; -import java.util.concurrent.ExecutionException; -import java.util.concurrent.TimeUnit; -import java.util.concurrent.TimeoutException; -import java.util.function.Function; -import java.util.stream.Collectors; - -import static ca.bc.gov.educ.penreg.api.batch.exception.FileError.*; -import static ca.bc.gov.educ.penreg.api.constants.BatchFileConstants.*; -import static lombok.AccessLevel.PRIVATE; - /** * The Pen reg batch processor. * diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/batch/processor/PenRegBatchStudentRecordsProcessor.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/batch/processor/PenRegBatchStudentRecordsProcessor.java index a300cbcb..dbabd046 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/batch/processor/PenRegBatchStudentRecordsProcessor.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/batch/processor/PenRegBatchStudentRecordsProcessor.java @@ -1,5 +1,8 @@ package ca.bc.gov.educ.penreg.api.batch.processor; +import static ca.bc.gov.educ.penreg.api.constants.SagaTopicsEnum.PEN_REQUEST_BATCH_API_TOPIC; +import static lombok.AccessLevel.PRIVATE; + import ca.bc.gov.educ.penreg.api.batch.service.PenRequestBatchFileService; import ca.bc.gov.educ.penreg.api.constants.EventOutcome; import ca.bc.gov.educ.penreg.api.constants.EventType; @@ -8,6 +11,9 @@ import ca.bc.gov.educ.penreg.api.struct.Event; import ca.bc.gov.educ.penreg.api.struct.PenRequestBatchStudentSagaData; import ca.bc.gov.educ.penreg.api.util.JsonUtil; +import java.util.List; +import java.util.Set; +import java.util.concurrent.TimeUnit; import lombok.Getter; import lombok.extern.slf4j.Slf4j; import lombok.val; @@ -17,13 +23,6 @@ import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.stereotype.Component; -import java.util.List; -import java.util.Set; -import java.util.concurrent.TimeUnit; - -import static ca.bc.gov.educ.penreg.api.constants.SagaTopicsEnum.PEN_REQUEST_BATCH_API_TOPIC; -import static lombok.AccessLevel.PRIVATE; - /** * The type Pen reg batch student records processor. */ diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/batch/schedulers/PenRegBatchScheduler.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/batch/schedulers/PenRegBatchScheduler.java index 8912c851..6f098c83 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/batch/schedulers/PenRegBatchScheduler.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/batch/schedulers/PenRegBatchScheduler.java @@ -1,8 +1,12 @@ package ca.bc.gov.educ.penreg.api.batch.schedulers; +import static lombok.AccessLevel.PRIVATE; + import ca.bc.gov.educ.penreg.api.batch.processor.PenRegBatchProcessor; import ca.bc.gov.educ.penreg.api.batch.service.PenRequestBatchFileService; import ca.bc.gov.educ.penreg.api.model.v1.PENWebBlobEntity; +import java.util.List; +import java.util.concurrent.TimeUnit; import lombok.Getter; import lombok.extern.slf4j.Slf4j; import lombok.val; @@ -15,11 +19,6 @@ import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; -import java.util.List; -import java.util.concurrent.TimeUnit; - -import static lombok.AccessLevel.PRIVATE; - /** * The type Pen reg batch scheduler. diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/batch/service/PSIDuplicateFileCheckService.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/batch/service/PSIDuplicateFileCheckService.java index db2d0a0b..2d065aa5 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/batch/service/PSIDuplicateFileCheckService.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/batch/service/PSIDuplicateFileCheckService.java @@ -4,13 +4,12 @@ import ca.bc.gov.educ.penreg.api.model.v1.PENWebBlobEntity; import ca.bc.gov.educ.penreg.api.repository.PenWebBlobRepository; import com.google.common.base.Stopwatch; -import lombok.extern.slf4j.Slf4j; -import lombok.val; -import org.springframework.stereotype.Service; - import java.time.LocalDateTime; import java.util.Arrays; import java.util.concurrent.TimeUnit; +import lombok.extern.slf4j.Slf4j; +import lombok.val; +import org.springframework.stereotype.Service; /** * this class is responsible to mark the file duplicate based on below. diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/batch/service/PenRequestBatchFileService.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/batch/service/PenRequestBatchFileService.java index f8da8636..877518cf 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/batch/service/PenRequestBatchFileService.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/batch/service/PenRequestBatchFileService.java @@ -1,5 +1,8 @@ package ca.bc.gov.educ.penreg.api.batch.service; +import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchProcessTypeCodes.FLAT_FILE; +import static lombok.AccessLevel.PRIVATE; + import ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStatusCodes; import ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStudentStatusCodes; import ca.bc.gov.educ.penreg.api.model.v1.PENWebBlobEntity; @@ -9,6 +12,9 @@ import ca.bc.gov.educ.penreg.api.service.PenRequestBatchService; import ca.bc.gov.educ.penreg.api.service.PenRequestBatchStudentService; import com.google.common.base.Stopwatch; +import java.time.LocalDateTime; +import java.util.*; +import java.util.concurrent.TimeUnit; import lombok.Getter; import lombok.NonNull; import lombok.extern.slf4j.Slf4j; @@ -20,13 +26,6 @@ import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; -import java.time.LocalDateTime; -import java.util.*; -import java.util.concurrent.TimeUnit; - -import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchProcessTypeCodes.FLAT_FILE; -import static lombok.AccessLevel.PRIVATE; - /** * The type Pen request batch file service. * diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/batch/struct/BatchFile.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/batch/struct/BatchFile.java index fccdf8e4..2f5d09da 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/batch/struct/BatchFile.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/batch/struct/BatchFile.java @@ -1,9 +1,8 @@ package ca.bc.gov.educ.penreg.api.batch.struct; -import lombok.Data; - import java.util.ArrayList; import java.util.List; +import lombok.Data; /** * The type Batch file. diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/batch/validator/PenRequestBatchFileValidator.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/batch/validator/PenRequestBatchFileValidator.java index b6e0a048..32035a84 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/batch/validator/PenRequestBatchFileValidator.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/batch/validator/PenRequestBatchFileValidator.java @@ -1,5 +1,12 @@ package ca.bc.gov.educ.penreg.api.batch.validator; +import static ca.bc.gov.educ.penreg.api.batch.exception.FileError.HELD_BACK_FOR_SFAS; +import static ca.bc.gov.educ.penreg.api.batch.exception.FileError.HELD_BACK_FOR_SIZE; +import static ca.bc.gov.educ.penreg.api.batch.exception.FileError.INVALID_MINCODE_HEADER; +import static ca.bc.gov.educ.penreg.api.batch.exception.FileError.INVALID_MINCODE_SCHOOL_CLOSED; +import static ca.bc.gov.educ.penreg.api.batch.exception.FileError.INVALID_ROW_LENGTH; +import static ca.bc.gov.educ.penreg.api.batch.exception.FileError.STUDENT_COUNT_MISMATCH; + import ca.bc.gov.educ.penreg.api.batch.exception.FileError; import ca.bc.gov.educ.penreg.api.batch.exception.FileUnProcessableException; import ca.bc.gov.educ.penreg.api.batch.struct.BatchFile; @@ -7,6 +14,10 @@ import ca.bc.gov.educ.penreg.api.properties.ApplicationProperties; import ca.bc.gov.educ.penreg.api.rest.RestUtils; import ca.bc.gov.educ.penreg.api.struct.School; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; +import java.time.format.DateTimeParseException; +import java.util.Optional; import lombok.extern.slf4j.Slf4j; import net.sf.flatpack.DataError; import net.sf.flatpack.DataSet; @@ -15,13 +26,6 @@ import org.springframework.lang.NonNull; import org.springframework.stereotype.Component; -import java.time.LocalDate; -import java.time.format.DateTimeFormatter; -import java.time.format.DateTimeParseException; -import java.util.Optional; - -import static ca.bc.gov.educ.penreg.api.batch.exception.FileError.*; - /** * this class is responsible to validate the batch file that was uploaded. */ diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/config/AsyncConfiguration.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/config/AsyncConfiguration.java index d3bdfffd..667d1a55 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/config/AsyncConfiguration.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/config/AsyncConfiguration.java @@ -2,6 +2,8 @@ import ca.bc.gov.educ.penreg.api.properties.ApplicationProperties; import ca.bc.gov.educ.penreg.api.util.ThreadFactoryBuilder; +import java.time.Duration; +import java.util.concurrent.Executor; import org.jboss.threads.EnhancedQueueExecutor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; @@ -9,9 +11,6 @@ import org.springframework.context.annotation.Profile; import org.springframework.scheduling.annotation.EnableAsync; -import java.time.Duration; -import java.util.concurrent.Executor; - @Configuration @EnableAsync @Profile("!test") diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/config/RequestResponseInterceptor.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/config/RequestResponseInterceptor.java index ac645bad..3c6e1c2e 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/config/RequestResponseInterceptor.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/config/RequestResponseInterceptor.java @@ -2,16 +2,15 @@ import ca.bc.gov.educ.penreg.api.helpers.LogHelper; import ca.bc.gov.educ.penreg.api.properties.ApplicationProperties; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; +import java.time.Instant; import lombok.extern.slf4j.Slf4j; import lombok.val; import org.springframework.lang.NonNull; import org.springframework.stereotype.Component; import org.springframework.web.servlet.AsyncHandlerInterceptor; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.time.Instant; - @Component @Slf4j public class RequestResponseInterceptor implements AsyncHandlerInterceptor { diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/constants/PenRequestBatchStudentStatusCodes.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/constants/PenRequestBatchStudentStatusCodes.java index 309f790b..a86739d2 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/constants/PenRequestBatchStudentStatusCodes.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/constants/PenRequestBatchStudentStatusCodes.java @@ -1,9 +1,8 @@ package ca.bc.gov.educ.penreg.api.constants; -import lombok.Getter; - import java.util.HashMap; import java.util.Map; +import lombok.Getter; /** * The enum Pen request batch student status codes. diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/constants/StudentDemogCode.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/constants/StudentDemogCode.java index f8f5f8a5..fd731355 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/constants/StudentDemogCode.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/constants/StudentDemogCode.java @@ -1,9 +1,8 @@ package ca.bc.gov.educ.penreg.api.constants; -import lombok.Getter; - import java.util.HashMap; import java.util.Map; +import lombok.Getter; @Getter public enum StudentDemogCode { diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/controller/v1/PaginatedController.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/controller/v1/PaginatedController.java index 7eed6c8e..0e4c290c 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/controller/v1/PaginatedController.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/controller/v1/PaginatedController.java @@ -11,13 +11,12 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; +import java.util.List; +import java.util.Map; import org.apache.commons.lang3.StringUtils; import org.springframework.data.domain.Sort; import org.springframework.data.jpa.domain.Specification; -import java.util.List; -import java.util.Map; - public class PaginatedController { /** * Gets sort criteria. diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/controller/v1/PenRequestBatchAPIController.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/controller/v1/PenRequestBatchAPIController.java index 11e71864..5974c55b 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/controller/v1/PenRequestBatchAPIController.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/controller/v1/PenRequestBatchAPIController.java @@ -1,5 +1,8 @@ package ca.bc.gov.educ.penreg.api.controller.v1; +import static lombok.AccessLevel.PRIVATE; +import static org.springframework.http.HttpStatus.BAD_REQUEST; + import ca.bc.gov.educ.penreg.api.constants.PenRequestBatchProcessTypeCodes; import ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStatusCodes; import ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStudentStatusCodes; @@ -36,6 +39,13 @@ import ca.bc.gov.educ.penreg.api.util.JsonUtil; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.type.TypeReference; +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.UUID; +import java.util.concurrent.CompletableFuture; +import java.util.stream.Collectors; import lombok.Getter; import lombok.extern.slf4j.Slf4j; import lombok.val; @@ -49,14 +59,6 @@ import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.RestController; -import java.time.LocalDateTime; -import java.util.*; -import java.util.concurrent.CompletableFuture; -import java.util.stream.Collectors; - -import static lombok.AccessLevel.PRIVATE; -import static org.springframework.http.HttpStatus.BAD_REQUEST; - /** * Student controller diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/controller/v1/PenRequestBatchHistoryAPIController.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/controller/v1/PenRequestBatchHistoryAPIController.java index d3bea05e..3b671aa1 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/controller/v1/PenRequestBatchHistoryAPIController.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/controller/v1/PenRequestBatchHistoryAPIController.java @@ -1,5 +1,7 @@ package ca.bc.gov.educ.penreg.api.controller.v1; +import static lombok.AccessLevel.PRIVATE; + import ca.bc.gov.educ.penreg.api.endpoint.v1.PenRequestBatchHistoryAPIEndpoint; import ca.bc.gov.educ.penreg.api.exception.InvalidParameterException; import ca.bc.gov.educ.penreg.api.filter.Associations; @@ -7,10 +9,14 @@ import ca.bc.gov.educ.penreg.api.mappers.v1.PenRequestBatchHistoryMapper; import ca.bc.gov.educ.penreg.api.model.v1.PenRequestBatchHistoryEntity; import ca.bc.gov.educ.penreg.api.service.PenRequestBatchHistoryService; -import ca.bc.gov.educ.penreg.api.struct.v1.*; +import ca.bc.gov.educ.penreg.api.struct.v1.PenRequestBatchHistorySearch; +import ca.bc.gov.educ.penreg.api.struct.v1.Search; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; +import java.util.ArrayList; +import java.util.List; +import java.util.concurrent.CompletableFuture; import lombok.Getter; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; @@ -20,12 +26,6 @@ import org.springframework.data.jpa.domain.Specification; import org.springframework.web.bind.annotation.RestController; -import java.util.ArrayList; -import java.util.List; -import java.util.concurrent.CompletableFuture; - -import static lombok.AccessLevel.PRIVATE; - /** * Student controller diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/controller/v1/PenRequestBatchSagaController.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/controller/v1/PenRequestBatchSagaController.java index 12153224..69e14c65 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/controller/v1/PenRequestBatchSagaController.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/controller/v1/PenRequestBatchSagaController.java @@ -1,5 +1,13 @@ package ca.bc.gov.educ.penreg.api.controller.v1; +import static ca.bc.gov.educ.penreg.api.constants.SagaEnum.PEN_REQUEST_BATCH_ARCHIVE_AND_RETURN_SAGA; +import static ca.bc.gov.educ.penreg.api.constants.SagaEnum.PEN_REQUEST_BATCH_NEW_PEN_PROCESSING_SAGA; +import static ca.bc.gov.educ.penreg.api.constants.SagaEnum.PEN_REQUEST_BATCH_REPOST_REPORTS_SAGA; +import static ca.bc.gov.educ.penreg.api.constants.SagaEnum.PEN_REQUEST_BATCH_USER_MATCH_PROCESSING_SAGA; +import static ca.bc.gov.educ.penreg.api.constants.SagaEnum.PEN_REQUEST_BATCH_USER_UNMATCH_PROCESSING_SAGA; +import static lombok.AccessLevel.PRIVATE; +import static org.springframework.http.HttpStatus.BAD_REQUEST; + import ca.bc.gov.educ.penreg.api.constants.SagaEnum; import ca.bc.gov.educ.penreg.api.constants.SagaStatusEnum; import ca.bc.gov.educ.penreg.api.endpoint.v1.PenRequestBatchSagaEndpoint; @@ -20,6 +28,14 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.UUID; +import java.util.concurrent.CompletableFuture; +import java.util.stream.Collectors; import lombok.Getter; import lombok.extern.slf4j.Slf4j; import lombok.val; @@ -34,15 +50,6 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.RestController; -import java.time.LocalDateTime; -import java.util.*; -import java.util.concurrent.CompletableFuture; -import java.util.stream.Collectors; - -import static ca.bc.gov.educ.penreg.api.constants.SagaEnum.*; -import static lombok.AccessLevel.PRIVATE; -import static org.springframework.http.HttpStatus.BAD_REQUEST; - @RestController @Slf4j public class PenRequestBatchSagaController extends PaginatedController implements PenRequestBatchSagaEndpoint { diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/controller/v1/PenRequestBatchStudentInfoRequestMacroController.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/controller/v1/PenRequestBatchStudentInfoRequestMacroController.java index 96e24d84..5ce41cc2 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/controller/v1/PenRequestBatchStudentInfoRequestMacroController.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/controller/v1/PenRequestBatchStudentInfoRequestMacroController.java @@ -1,5 +1,8 @@ package ca.bc.gov.educ.penreg.api.controller.v1; +import static lombok.AccessLevel.PRIVATE; +import static org.springframework.http.HttpStatus.BAD_REQUEST; + import ca.bc.gov.educ.penreg.api.endpoint.v1.PenRequestBatchStudentInfoRequestMacroEndpoint; import ca.bc.gov.educ.penreg.api.exception.EntityNotFoundException; import ca.bc.gov.educ.penreg.api.exception.InvalidPayloadException; @@ -9,20 +12,16 @@ import ca.bc.gov.educ.penreg.api.service.PenRequestBatchStudentInfoRequestMacroService; import ca.bc.gov.educ.penreg.api.struct.v1.PenRequestBatchStudentInfoRequestMacro; import ca.bc.gov.educ.penreg.api.validator.PenRequestBatchStudentInfoRequestMacroPayloadValidator; +import java.time.LocalDateTime; +import java.util.List; +import java.util.UUID; +import java.util.stream.Collectors; import lombok.Getter; import lombok.extern.slf4j.Slf4j; import lombok.val; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RestController; -import java.time.LocalDateTime; -import java.util.List; -import java.util.UUID; -import java.util.stream.Collectors; - -import static lombok.AccessLevel.PRIVATE; -import static org.springframework.http.HttpStatus.BAD_REQUEST; - @RestController @Slf4j public class PenRequestBatchStudentInfoRequestMacroController implements PenRequestBatchStudentInfoRequestMacroEndpoint { diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/endpoint/v1/PenRequestBatchAPIEndpoint.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/endpoint/v1/PenRequestBatchAPIEndpoint.java index 266431bb..ac8fbfda 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/endpoint/v1/PenRequestBatchAPIEndpoint.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/endpoint/v1/PenRequestBatchAPIEndpoint.java @@ -1,5 +1,7 @@ package ca.bc.gov.educ.penreg.api.endpoint.v1; +import static org.springframework.http.HttpStatus.CREATED; + import ca.bc.gov.educ.penreg.api.struct.PenRequestBatchStats; import ca.bc.gov.educ.penreg.api.struct.v1.*; import ca.bc.gov.educ.penreg.api.struct.v1.external.PenRequest; @@ -15,6 +17,9 @@ import io.swagger.v3.oas.annotations.responses.ApiResponses; import io.swagger.v3.oas.annotations.security.SecurityRequirement; import io.swagger.v3.oas.annotations.tags.Tag; +import java.util.List; +import java.util.UUID; +import java.util.concurrent.CompletableFuture; import org.springframework.data.domain.Page; import org.springframework.http.ResponseEntity; import org.springframework.security.access.prepost.PreAuthorize; @@ -23,12 +28,6 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; -import java.util.List; -import java.util.UUID; -import java.util.concurrent.CompletableFuture; - -import static org.springframework.http.HttpStatus.CREATED; - /** * The interface Pen reg api endpoint. */ diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/endpoint/v1/PenRequestBatchHistoryAPIEndpoint.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/endpoint/v1/PenRequestBatchHistoryAPIEndpoint.java index a09639d3..32f9766b 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/endpoint/v1/PenRequestBatchHistoryAPIEndpoint.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/endpoint/v1/PenRequestBatchHistoryAPIEndpoint.java @@ -3,14 +3,12 @@ import ca.bc.gov.educ.penreg.api.struct.v1.PenRequestBatch; import ca.bc.gov.educ.penreg.api.struct.v1.PenRequestBatchHistorySearch; import ca.bc.gov.educ.penreg.api.struct.v1.Search; -import io.swagger.v3.oas.annotations.OpenAPIDefinition; -import io.swagger.v3.oas.annotations.info.Info; import io.swagger.v3.oas.annotations.media.ArraySchema; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; import io.swagger.v3.oas.annotations.responses.ApiResponses; -import io.swagger.v3.oas.annotations.security.SecurityRequirement; import io.swagger.v3.oas.annotations.tags.Tag; +import java.util.concurrent.CompletableFuture; import org.springframework.data.domain.Page; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.transaction.annotation.Transactional; @@ -18,8 +16,6 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; -import java.util.concurrent.CompletableFuture; - /** * The interface Pen reg api endpoint. */ diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/endpoint/v1/PenRequestBatchSagaEndpoint.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/endpoint/v1/PenRequestBatchSagaEndpoint.java index 9df8ba78..f843fc15 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/endpoint/v1/PenRequestBatchSagaEndpoint.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/endpoint/v1/PenRequestBatchSagaEndpoint.java @@ -1,14 +1,20 @@ package ca.bc.gov.educ.penreg.api.endpoint.v1; -import ca.bc.gov.educ.penreg.api.struct.v1.SagaEvent; import ca.bc.gov.educ.penreg.api.struct.PenRequestBatchUnmatchSagaData; import ca.bc.gov.educ.penreg.api.struct.PenRequestBatchUserActionsSagaData; -import ca.bc.gov.educ.penreg.api.struct.v1.*; +import ca.bc.gov.educ.penreg.api.struct.v1.ArchiveAndReturnSagaResponse; +import ca.bc.gov.educ.penreg.api.struct.v1.PenRequestBatchArchiveAndReturnAllSagaData; +import ca.bc.gov.educ.penreg.api.struct.v1.PenRequestBatchRepostReportsFilesSagaData; +import ca.bc.gov.educ.penreg.api.struct.v1.Saga; +import ca.bc.gov.educ.penreg.api.struct.v1.SagaEvent; import io.swagger.v3.oas.annotations.media.ArraySchema; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; import io.swagger.v3.oas.annotations.responses.ApiResponses; import io.swagger.v3.oas.annotations.tags.Tag; +import java.util.List; +import java.util.UUID; +import java.util.concurrent.CompletableFuture; import org.springframework.data.domain.Page; import org.springframework.http.ResponseEntity; import org.springframework.security.access.prepost.PreAuthorize; @@ -16,10 +22,6 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; -import java.util.List; -import java.util.UUID; -import java.util.concurrent.CompletableFuture; - @RequestMapping("/api/v1/pen-request-batch-saga") public interface PenRequestBatchSagaEndpoint { diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/endpoint/v1/PenRequestBatchStudentInfoRequestMacroEndpoint.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/endpoint/v1/PenRequestBatchStudentInfoRequestMacroEndpoint.java index 066fa8c4..9473075c 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/endpoint/v1/PenRequestBatchStudentInfoRequestMacroEndpoint.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/endpoint/v1/PenRequestBatchStudentInfoRequestMacroEndpoint.java @@ -1,17 +1,16 @@ package ca.bc.gov.educ.penreg.api.endpoint.v1; +import static org.springframework.http.HttpStatus.CREATED; + import ca.bc.gov.educ.penreg.api.struct.v1.PenRequestBatchStudentInfoRequestMacro; import io.swagger.v3.oas.annotations.responses.ApiResponse; import io.swagger.v3.oas.annotations.responses.ApiResponses; +import java.util.List; +import java.util.UUID; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; -import java.util.List; -import java.util.UUID; - -import static org.springframework.http.HttpStatus.CREATED; - @RequestMapping("/api/v1/pen-request-batch-macro") public interface PenRequestBatchStudentInfoRequestMacroEndpoint { @GetMapping diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/exception/EntityNotFoundException.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/exception/EntityNotFoundException.java index d900bfe3..abb148a6 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/exception/EntityNotFoundException.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/exception/EntityNotFoundException.java @@ -1,11 +1,10 @@ package ca.bc.gov.educ.penreg.api.exception; -import lombok.NoArgsConstructor; -import org.apache.commons.lang3.StringUtils; - import java.util.HashMap; import java.util.Map; import java.util.stream.IntStream; +import lombok.NoArgsConstructor; +import org.apache.commons.lang3.StringUtils; /** * EntityNotFoundException to provide more details in error description diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/exception/RestExceptionHandler.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/exception/RestExceptionHandler.java index 073391ca..f6a6aa08 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/exception/RestExceptionHandler.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/exception/RestExceptionHandler.java @@ -1,12 +1,15 @@ package ca.bc.gov.educ.penreg.api.exception; +import static org.springframework.http.HttpStatus.BAD_REQUEST; +import static org.springframework.http.HttpStatus.NOT_FOUND; + import ca.bc.gov.educ.penreg.api.exception.errors.ApiError; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.core.Ordered; import org.springframework.core.annotation.Order; import org.springframework.http.HttpHeaders; -import org.springframework.http.HttpStatus; +import org.springframework.http.HttpStatusCode; import org.springframework.http.ResponseEntity; import org.springframework.http.converter.HttpMessageNotReadableException; import org.springframework.web.bind.MethodArgumentNotValidException; @@ -15,9 +18,6 @@ import org.springframework.web.context.request.WebRequest; import org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExceptionHandler; -import static org.springframework.http.HttpStatus.BAD_REQUEST; -import static org.springframework.http.HttpStatus.NOT_FOUND; - /** * The type Rest exception handler. */ @@ -40,7 +40,7 @@ public class RestExceptionHandler extends ResponseEntityExceptionHandler { * @return the response entity */ @Override - protected ResponseEntity handleHttpMessageNotReadable(HttpMessageNotReadableException ex, HttpHeaders headers, HttpStatus status, WebRequest request) { + protected ResponseEntity handleHttpMessageNotReadable(HttpMessageNotReadableException ex, HttpHeaders headers, HttpStatusCode status, WebRequest request) { String error = "Malformed JSON request"; log.error("{} ", error, ex); return buildResponseEntity(new ApiError(BAD_REQUEST, error, ex)); @@ -57,7 +57,7 @@ private ResponseEntity buildResponseEntity(ApiError apiError) { } /** - * Handles EntityNotFoundException. Created to encapsulate errors with more detail than javax.persistence.EntityNotFoundException. + * Handles EntityNotFoundException. Created to encapsulate errors with more detail than jakarta.persistence.EntityNotFoundException. * * @param ex the EntityNotFoundException * @return the ApiError object @@ -104,7 +104,7 @@ protected ResponseEntity handleInvalidParameter(InvalidParameterExceptio * * @param ex the MethodArgumentNotValidException that is thrown when @Valid validation fails * @param headers HttpHeaders - * @param status HttpStatus + * @param status HttpStatusCode * @param request WebRequest * @return the ApiError object */ @@ -112,7 +112,7 @@ protected ResponseEntity handleInvalidParameter(InvalidParameterExceptio protected ResponseEntity handleMethodArgumentNotValid( MethodArgumentNotValidException ex, HttpHeaders headers, - HttpStatus status, + HttpStatusCode status, WebRequest request) { ApiError apiError = new ApiError(BAD_REQUEST); apiError.setMessage("Validation error"); @@ -123,7 +123,7 @@ protected ResponseEntity handleMethodArgumentNotValid( } /** - * Handles EntityNotFoundException. Created to encapsulate errors with more detail than javax.persistence.EntityNotFoundException. + * Handles EntityNotFoundException. Created to encapsulate errors with more detail than jakarta.persistence.EntityNotFoundException. * * @param ex the EntityNotFoundException * @return the ApiError object diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/exception/errors/ApiError.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/exception/errors/ApiError.java index 973a5c35..45745c83 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/exception/errors/ApiError.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/exception/errors/ApiError.java @@ -2,6 +2,12 @@ import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonInclude; +import jakarta.validation.ConstraintViolation; +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.List; +import java.util.Set; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -10,13 +16,6 @@ import org.springframework.validation.FieldError; import org.springframework.validation.ObjectError; -import javax.validation.ConstraintViolation; -import java.io.Serializable; -import java.time.LocalDateTime; -import java.util.ArrayList; -import java.util.List; -import java.util.Set; - /** * The type Api error. */ diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/filter/Associations.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/filter/Associations.java index d82baca0..4372e135 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/filter/Associations.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/filter/Associations.java @@ -1,9 +1,8 @@ package ca.bc.gov.educ.penreg.api.filter; -import lombok.Getter; - -import javax.persistence.criteria.Join; +import jakarta.persistence.criteria.Join; import java.util.*; +import lombok.Getter; /** * The type Associations. diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/filter/BaseFilterSpecs.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/filter/BaseFilterSpecs.java index dee12d75..3c6a6979 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/filter/BaseFilterSpecs.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/filter/BaseFilterSpecs.java @@ -1,12 +1,10 @@ package ca.bc.gov.educ.penreg.api.filter; -import ca.bc.gov.educ.penreg.api.model.v1.PenRequestBatchEntity; -import org.springframework.data.jpa.domain.Specification; - import java.time.chrono.ChronoLocalDate; import java.time.chrono.ChronoLocalDateTime; import java.util.UUID; import java.util.function.Function; +import org.springframework.data.jpa.domain.Specification; /** * this is the generic class to support all kind of filter specifications for different entities diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/filter/Converters.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/filter/Converters.java index c89dad40..04975f26 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/filter/Converters.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/filter/Converters.java @@ -1,8 +1,6 @@ package ca.bc.gov.educ.penreg.api.filter; -import org.springframework.stereotype.Service; - -import javax.annotation.PostConstruct; +import jakarta.annotation.PostConstruct; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.chrono.ChronoLocalDate; @@ -11,6 +9,7 @@ import java.util.Map; import java.util.UUID; import java.util.function.Function; +import org.springframework.stereotype.Service; /** * The type Converters. diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/filter/FilterCriteria.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/filter/FilterCriteria.java index 5f6ccaee..0fc10bb5 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/filter/FilterCriteria.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/filter/FilterCriteria.java @@ -1,13 +1,12 @@ package ca.bc.gov.educ.penreg.api.filter; -import org.apache.commons.lang3.StringUtils; - -import javax.validation.constraints.NotNull; +import jakarta.validation.constraints.NotNull; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.function.Function; import java.util.stream.Collectors; +import org.apache.commons.lang3.StringUtils; /** * Filter Criteria Holder diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/filter/FilterOperation.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/filter/FilterOperation.java index d3b2d00a..9cac74cf 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/filter/FilterOperation.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/filter/FilterOperation.java @@ -1,7 +1,6 @@ package ca.bc.gov.educ.penreg.api.filter; import com.fasterxml.jackson.annotation.JsonValue; - import java.util.Optional; /** diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/filter/FilterSpecifications.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/filter/FilterSpecifications.java index 25584568..c84ace45 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/filter/FilterSpecifications.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/filter/FilterSpecifications.java @@ -1,12 +1,11 @@ package ca.bc.gov.educ.penreg.api.filter; -import org.springframework.data.jpa.domain.Specification; -import org.springframework.stereotype.Service; - -import javax.annotation.PostConstruct; -import javax.persistence.criteria.*; +import jakarta.annotation.PostConstruct; +import jakarta.persistence.criteria.*; import java.util.EnumMap; import java.util.function.BiFunction; +import org.springframework.data.jpa.domain.Specification; +import org.springframework.stereotype.Service; /** * The type Filter specifications. diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/filter/PenRegBatchFilterSpecs.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/filter/PenRegBatchFilterSpecs.java index 027153c7..70b75f85 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/filter/PenRegBatchFilterSpecs.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/filter/PenRegBatchFilterSpecs.java @@ -1,14 +1,11 @@ package ca.bc.gov.educ.penreg.api.filter; import ca.bc.gov.educ.penreg.api.model.v1.PenRequestBatchEntity; -import lombok.extern.slf4j.Slf4j; -import org.springframework.data.jpa.domain.Specification; -import org.springframework.stereotype.Service; - import java.time.chrono.ChronoLocalDate; import java.time.chrono.ChronoLocalDateTime; import java.util.UUID; -import java.util.function.Function; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; /** * The type Pen reg batch filter specs. diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/filter/PenRegBatchHistoryFilterSpecs.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/filter/PenRegBatchHistoryFilterSpecs.java index e0ff7926..78dcf2a6 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/filter/PenRegBatchHistoryFilterSpecs.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/filter/PenRegBatchHistoryFilterSpecs.java @@ -1,12 +1,11 @@ package ca.bc.gov.educ.penreg.api.filter; import ca.bc.gov.educ.penreg.api.model.v1.PenRequestBatchHistoryEntity; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; - import java.time.chrono.ChronoLocalDate; import java.time.chrono.ChronoLocalDateTime; import java.util.UUID; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; /** * The type Pen reg batch filter specs. diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/filter/PenRegBatchStudentFilterSpecs.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/filter/PenRegBatchStudentFilterSpecs.java index bf8048b7..108b1152 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/filter/PenRegBatchStudentFilterSpecs.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/filter/PenRegBatchStudentFilterSpecs.java @@ -1,12 +1,11 @@ package ca.bc.gov.educ.penreg.api.filter; import ca.bc.gov.educ.penreg.api.model.v1.PenRequestBatchStudentEntity; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; - import java.time.chrono.ChronoLocalDate; import java.time.chrono.ChronoLocalDateTime; import java.util.UUID; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; /** * The type Pen reg batch filter specs. diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/filter/SagaFilterSpecs.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/filter/SagaFilterSpecs.java index 41727fa8..d046b6b5 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/filter/SagaFilterSpecs.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/filter/SagaFilterSpecs.java @@ -1,12 +1,11 @@ package ca.bc.gov.educ.penreg.api.filter; import ca.bc.gov.educ.penreg.api.model.v1.Saga; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; - import java.time.chrono.ChronoLocalDate; import java.time.chrono.ChronoLocalDateTime; import java.util.UUID; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; @Service @Slf4j diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/health/PenRegBatchAPICustomHealthCheck.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/health/PenRegBatchAPICustomHealthCheck.java index b0c022df..fcfc3db4 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/health/PenRegBatchAPICustomHealthCheck.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/health/PenRegBatchAPICustomHealthCheck.java @@ -1,6 +1,7 @@ package ca.bc.gov.educ.penreg.api.health; import io.nats.client.Connection; +import java.util.concurrent.TimeUnit; import lombok.extern.slf4j.Slf4j; import lombok.val; import org.redisson.api.RedissonClient; @@ -10,8 +11,6 @@ import org.springframework.boot.actuate.health.HealthIndicator; import org.springframework.stereotype.Component; -import java.util.concurrent.TimeUnit; - @Component @Slf4j public class PenRegBatchAPICustomHealthCheck implements HealthIndicator { diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/helpers/LogHelper.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/helpers/LogHelper.java index ffc812b2..7ba6ccfa 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/helpers/LogHelper.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/helpers/LogHelper.java @@ -3,6 +3,12 @@ import ca.bc.gov.educ.penreg.api.model.v1.Saga; import ca.bc.gov.educ.penreg.api.properties.ApplicationProperties; import com.fasterxml.jackson.databind.ObjectMapper; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; +import java.time.Instant; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import lombok.extern.slf4j.Slf4j; import lombok.val; import org.apache.commons.lang3.StringUtils; @@ -10,13 +16,6 @@ import org.springframework.http.HttpMethod; import org.springframework.lang.NonNull; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.time.Instant; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - @Slf4j public final class LogHelper { private static final ObjectMapper mapper = new ObjectMapper(); diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/helpers/PenRegBatchHelper.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/helpers/PenRegBatchHelper.java index af25bc0b..5088ec00 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/helpers/PenRegBatchHelper.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/helpers/PenRegBatchHelper.java @@ -8,16 +8,15 @@ import ca.bc.gov.educ.penreg.api.struct.PenRequestBatchStudentSagaData; import ca.bc.gov.educ.penreg.api.struct.Student; import ca.bc.gov.educ.penreg.api.struct.v1.PenRequestBatchStudent; +import java.util.HashSet; +import java.util.Set; +import java.util.stream.Collectors; import lombok.extern.slf4j.Slf4j; import lombok.val; import org.apache.commons.lang3.RegExUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.lang.NonNull; -import java.util.HashSet; -import java.util.Set; -import java.util.stream.Collectors; - /** * A helper class to provide some common methods that can be called from components, as a single source of truth for * easier maintainable code. diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/mappers/UUIDMapper.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/mappers/UUIDMapper.java index f4736281..a9894edb 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/mappers/UUIDMapper.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/mappers/UUIDMapper.java @@ -1,8 +1,7 @@ package ca.bc.gov.educ.penreg.api.mappers; -import org.apache.commons.lang3.StringUtils; - import java.util.UUID; +import org.apache.commons.lang3.StringUtils; /** * The type Uuid mapper. diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/mappers/v1/PenRequestBatchReportDataDecorator.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/mappers/v1/PenRequestBatchReportDataDecorator.java index f6780b46..17fad1ea 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/mappers/v1/PenRequestBatchReportDataDecorator.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/mappers/v1/PenRequestBatchReportDataDecorator.java @@ -1,7 +1,6 @@ package ca.bc.gov.educ.penreg.api.mappers.v1; import ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStudentStatusCodes; -import ca.bc.gov.educ.penreg.api.constants.StudentDemogCode; import ca.bc.gov.educ.penreg.api.helpers.PenRegBatchHelper; import ca.bc.gov.educ.penreg.api.struct.Student; import ca.bc.gov.educ.penreg.api.struct.v1.BasePenRequestBatchReturnFilesSagaData; @@ -10,16 +9,19 @@ import ca.bc.gov.educ.penreg.api.struct.v1.reportstructs.PenRequestBatchReportData; import ca.bc.gov.educ.penreg.api.struct.v1.reportstructs.ReportListItem; import ca.bc.gov.educ.penreg.api.struct.v1.reportstructs.ReportUserMatchedListItem; -import lombok.extern.slf4j.Slf4j; -import lombok.val; -import org.apache.commons.lang3.StringUtils; -import org.springframework.util.CollectionUtils; - import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.Map; +import java.util.Objects; import java.util.function.Function; import java.util.stream.Collectors; +import lombok.extern.slf4j.Slf4j; +import lombok.val; +import org.apache.commons.lang3.StringUtils; +import org.springframework.util.CollectionUtils; @Slf4j public abstract class PenRequestBatchReportDataDecorator implements PenRequestBatchReportDataMapper { diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/mappers/v1/PenWebBlobMapper.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/mappers/v1/PenWebBlobMapper.java index e6c81807..daad4ca1 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/mappers/v1/PenWebBlobMapper.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/mappers/v1/PenWebBlobMapper.java @@ -5,15 +5,14 @@ import ca.bc.gov.educ.penreg.api.model.v1.PENWebBlobEntity; import ca.bc.gov.educ.penreg.api.struct.v1.PENWebBlob; import ca.bc.gov.educ.penreg.api.struct.v1.PENWebBlobMetadata; -import org.mapstruct.Mapper; -import org.mapstruct.Mapping; -import org.mapstruct.Named; -import org.mapstruct.factory.Mappers; - import java.io.BufferedReader; import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStreamReader; +import org.mapstruct.Mapper; +import org.mapstruct.Mapping; +import org.mapstruct.Named; +import org.mapstruct.factory.Mappers; /** * The interface Pen web blob mapper. diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/mappers/v1/ReportListItemDecorator.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/mappers/v1/ReportListItemDecorator.java index cfd6a5f1..91e35c29 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/mappers/v1/ReportListItemDecorator.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/mappers/v1/ReportListItemDecorator.java @@ -1,16 +1,15 @@ package ca.bc.gov.educ.penreg.api.mappers.v1; +import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStudentStatusCodes.DUPLICATE; + import ca.bc.gov.educ.penreg.api.struct.Student; import ca.bc.gov.educ.penreg.api.struct.v1.PenRequestBatchStudent; import ca.bc.gov.educ.penreg.api.struct.v1.reportstructs.ReportListItem; import ca.bc.gov.educ.penreg.api.struct.v1.reportstructs.ReportUserMatchedListItem; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang3.StringUtils; - import java.time.LocalDate; import java.time.format.DateTimeParseException; - -import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStudentStatusCodes.DUPLICATE; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; @Slf4j public abstract class ReportListItemDecorator implements ReportListItemMapper { diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/mappers/v1/ReportListItemMapper.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/mappers/v1/ReportListItemMapper.java index a8b3a990..9e2b2117 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/mappers/v1/ReportListItemMapper.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/mappers/v1/ReportListItemMapper.java @@ -4,14 +4,13 @@ import ca.bc.gov.educ.penreg.api.struct.v1.PenRequestBatchStudent; import ca.bc.gov.educ.penreg.api.struct.v1.reportstructs.ReportListItem; import ca.bc.gov.educ.penreg.api.struct.v1.reportstructs.ReportUserMatchedListItem; +import java.util.stream.Stream; import org.apache.commons.lang3.StringUtils; import org.mapstruct.DecoratedWith; import org.mapstruct.Mapper; import org.mapstruct.Mapping; import org.mapstruct.factory.Mappers; -import java.util.stream.Stream; - @Mapper @DecoratedWith(ReportListItemDecorator.class) public interface ReportListItemMapper { diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/mappers/v1/external/PenRequestBatchResultDataDecorator.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/mappers/v1/external/PenRequestBatchResultDataDecorator.java index b2875537..3be875d9 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/mappers/v1/external/PenRequestBatchResultDataDecorator.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/mappers/v1/external/PenRequestBatchResultDataDecorator.java @@ -1,7 +1,6 @@ package ca.bc.gov.educ.penreg.api.mappers.v1.external; import ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStudentStatusCodes; -import ca.bc.gov.educ.penreg.api.constants.StudentDemogCode; import ca.bc.gov.educ.penreg.api.helpers.PenRegBatchHelper; import ca.bc.gov.educ.penreg.api.mappers.PenRequestBatchStudentValidationIssueMapper; import ca.bc.gov.educ.penreg.api.mappers.v1.PenRequestBatchStudentMapper; @@ -11,14 +10,13 @@ import ca.bc.gov.educ.penreg.api.struct.v1.external.ListItem; import ca.bc.gov.educ.penreg.api.struct.v1.external.PenRequestBatchSubmissionResult; import ca.bc.gov.educ.penreg.api.struct.v1.external.SchoolMinListItem; -import lombok.extern.slf4j.Slf4j; -import lombok.val; - import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Objects; import java.util.stream.Collectors; +import lombok.extern.slf4j.Slf4j; +import lombok.val; @Slf4j public abstract class PenRequestBatchResultDataDecorator implements PenRequestBatchResultDataMapper { diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/mappers/v1/external/PenRequestBatchResultDataMapper.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/mappers/v1/external/PenRequestBatchResultDataMapper.java index 10465c96..11c3d2d2 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/mappers/v1/external/PenRequestBatchResultDataMapper.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/mappers/v1/external/PenRequestBatchResultDataMapper.java @@ -3,13 +3,12 @@ import ca.bc.gov.educ.penreg.api.model.v1.PenRequestBatchEntity; import ca.bc.gov.educ.penreg.api.struct.Student; import ca.bc.gov.educ.penreg.api.struct.v1.external.PenRequestBatchSubmissionResult; +import java.util.Map; import org.mapstruct.DecoratedWith; import org.mapstruct.Mapper; import org.mapstruct.Mapping; import org.mapstruct.factory.Mappers; -import java.util.Map; - @Mapper @DecoratedWith(PenRequestBatchResultDataDecorator.class) public interface PenRequestBatchResultDataMapper { diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/messaging/MessagePublisher.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/messaging/MessagePublisher.java index e9185b9e..93d42467 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/messaging/MessagePublisher.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/messaging/MessagePublisher.java @@ -2,12 +2,11 @@ import io.nats.client.Connection; import io.nats.client.Message; +import java.util.concurrent.CompletableFuture; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; -import java.util.concurrent.CompletableFuture; - /** * The type Message publisher. */ diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/messaging/MessageSubscriber.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/messaging/MessageSubscriber.java index 95e016ca..b632df4f 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/messaging/MessageSubscriber.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/messaging/MessageSubscriber.java @@ -1,5 +1,7 @@ package ca.bc.gov.educ.penreg.api.messaging; +import static lombok.AccessLevel.PRIVATE; + import ca.bc.gov.educ.penreg.api.helpers.LogHelper; import ca.bc.gov.educ.penreg.api.orchestrator.base.EventHandler; import ca.bc.gov.educ.penreg.api.struct.Event; @@ -7,17 +9,14 @@ import io.nats.client.Connection; import io.nats.client.Message; import io.nats.client.MessageHandler; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import lombok.Getter; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import static lombok.AccessLevel.PRIVATE; - @Component @Slf4j public class MessageSubscriber { diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/messaging/NatsConnection.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/messaging/NatsConnection.java index 383476d5..c60ecd02 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/messaging/NatsConnection.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/messaging/NatsConnection.java @@ -5,6 +5,9 @@ import io.nats.client.Connection; import io.nats.client.ConnectionListener; import io.nats.client.Nats; +import java.io.Closeable; +import java.io.IOException; +import java.time.Duration; import lombok.Getter; import lombok.extern.slf4j.Slf4j; import org.jboss.threads.EnhancedQueueExecutor; @@ -12,10 +15,6 @@ import org.springframework.context.annotation.Bean; import org.springframework.stereotype.Component; -import java.io.Closeable; -import java.io.IOException; -import java.time.Duration; - /** * The type Nats connection. */ diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/model/v1/MinistryPRBSourceCodeEntity.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/model/v1/MinistryPRBSourceCodeEntity.java index 220867ed..3177ada5 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/model/v1/MinistryPRBSourceCodeEntity.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/model/v1/MinistryPRBSourceCodeEntity.java @@ -1,15 +1,14 @@ package ca.bc.gov.educ.penreg.api.model.v1; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import jakarta.persistence.Table; +import java.time.LocalDateTime; import lombok.Data; import org.hibernate.annotations.DynamicUpdate; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Id; -import javax.persistence.Table; -import java.time.LocalDateTime; - /** * The type Pen request batch source code entity. * diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/model/v1/PENWebBlobEntity.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/model/v1/PENWebBlobEntity.java index e68e5bbe..01a6052a 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/model/v1/PENWebBlobEntity.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/model/v1/PENWebBlobEntity.java @@ -6,15 +6,14 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer; import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer; +import jakarta.persistence.*; +import java.time.LocalDateTime; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; import org.hibernate.annotations.DynamicUpdate; -import javax.persistence.*; -import java.time.LocalDateTime; - /** * The type Pen web blob entity. */ diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/model/v1/PenRequestBatchEntity.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/model/v1/PenRequestBatchEntity.java index 42dfc4c8..e0e7e961 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/model/v1/PenRequestBatchEntity.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/model/v1/PenRequestBatchEntity.java @@ -1,6 +1,11 @@ package ca.bc.gov.educ.penreg.api.model.v1; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import jakarta.persistence.*; +import java.time.LocalDateTime; +import java.util.HashSet; +import java.util.Set; +import java.util.UUID; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -8,12 +13,6 @@ import org.hibernate.annotations.GenericGenerator; import org.hibernate.annotations.Parameter; -import javax.persistence.*; -import java.time.LocalDateTime; -import java.util.HashSet; -import java.util.Set; -import java.util.UUID; - /** * The type Pen request batch entity. * diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/model/v1/PenRequestBatchEvent.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/model/v1/PenRequestBatchEvent.java index 723431a6..e2d36dc3 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/model/v1/PenRequestBatchEvent.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/model/v1/PenRequestBatchEvent.java @@ -1,5 +1,11 @@ package ca.bc.gov.educ.penreg.api.model.v1; +import jakarta.persistence.*; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.PastOrPresent; +import java.nio.charset.StandardCharsets; +import java.time.LocalDateTime; +import java.util.UUID; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -8,13 +14,6 @@ import org.hibernate.annotations.GenericGenerator; import org.hibernate.annotations.Parameter; -import javax.persistence.*; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.PastOrPresent; -import java.nio.charset.StandardCharsets; -import java.time.LocalDateTime; -import java.util.UUID; - @AllArgsConstructor @NoArgsConstructor @Builder diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/model/v1/PenRequestBatchEventCodeEntity.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/model/v1/PenRequestBatchEventCodeEntity.java index 69fc02cb..f5dfd2f1 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/model/v1/PenRequestBatchEventCodeEntity.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/model/v1/PenRequestBatchEventCodeEntity.java @@ -1,12 +1,15 @@ package ca.bc.gov.educ.penreg.api.model.v1; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import jakarta.persistence.Basic; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import jakarta.persistence.Table; +import java.time.LocalDateTime; import lombok.Data; import org.hibernate.annotations.DynamicUpdate; -import javax.persistence.*; -import java.time.LocalDateTime; - /** * The type Pen request batch event code entity. */ diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/model/v1/PenRequestBatchHistoryEntity.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/model/v1/PenRequestBatchHistoryEntity.java index 67c1dbcd..467ef992 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/model/v1/PenRequestBatchHistoryEntity.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/model/v1/PenRequestBatchHistoryEntity.java @@ -1,16 +1,15 @@ package ca.bc.gov.educ.penreg.api.model.v1; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import jakarta.persistence.*; +import java.time.LocalDateTime; +import java.util.UUID; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.ToString; import org.hibernate.annotations.DynamicUpdate; import org.hibernate.annotations.GenericGenerator; -import javax.persistence.*; -import java.time.LocalDateTime; -import java.util.UUID; - /** * The type Pen request batch history entity. */ diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/model/v1/PenRequestBatchStatusCodeEntity.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/model/v1/PenRequestBatchStatusCodeEntity.java index cc884971..4399b6aa 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/model/v1/PenRequestBatchStatusCodeEntity.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/model/v1/PenRequestBatchStatusCodeEntity.java @@ -1,15 +1,14 @@ package ca.bc.gov.educ.penreg.api.model.v1; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import jakarta.persistence.Table; +import java.time.LocalDateTime; import lombok.Data; import org.hibernate.annotations.DynamicUpdate; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Id; -import javax.persistence.Table; -import java.time.LocalDateTime; - /** * The type Pen request batch status code entity. * diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/model/v1/PenRequestBatchStudentEntity.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/model/v1/PenRequestBatchStudentEntity.java index c4879b2c..de42b1d8 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/model/v1/PenRequestBatchStudentEntity.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/model/v1/PenRequestBatchStudentEntity.java @@ -7,6 +7,11 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer; import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer; +import jakarta.persistence.*; +import java.time.LocalDateTime; +import java.util.HashSet; +import java.util.Set; +import java.util.UUID; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.ToString; @@ -14,12 +19,6 @@ import org.hibernate.annotations.GenericGenerator; import org.hibernate.annotations.Parameter; -import javax.persistence.*; -import java.time.LocalDateTime; -import java.util.HashSet; -import java.util.Set; -import java.util.UUID; - /** * The type Pen request batch student entity. * diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/model/v1/PenRequestBatchStudentInfoRequestMacroEntity.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/model/v1/PenRequestBatchStudentInfoRequestMacroEntity.java index ccc35afc..f9eae465 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/model/v1/PenRequestBatchStudentInfoRequestMacroEntity.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/model/v1/PenRequestBatchStudentInfoRequestMacroEntity.java @@ -1,12 +1,15 @@ package ca.bc.gov.educ.penreg.api.model.v1; -import lombok.Data; -import org.hibernate.annotations.GenericGenerator; - -import javax.persistence.*; -import javax.validation.constraints.PastOrPresent; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.Id; +import jakarta.persistence.Table; +import jakarta.validation.constraints.PastOrPresent; import java.time.LocalDateTime; import java.util.UUID; +import lombok.Data; +import org.hibernate.annotations.GenericGenerator; @Data @Entity diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/model/v1/PenRequestBatchStudentStatusCodeEntity.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/model/v1/PenRequestBatchStudentStatusCodeEntity.java index 295d92c6..8cc4aff5 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/model/v1/PenRequestBatchStudentStatusCodeEntity.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/model/v1/PenRequestBatchStudentStatusCodeEntity.java @@ -1,15 +1,14 @@ package ca.bc.gov.educ.penreg.api.model.v1; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import jakarta.persistence.Table; +import java.time.LocalDateTime; import lombok.Data; import org.hibernate.annotations.DynamicUpdate; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Id; -import javax.persistence.Table; -import java.time.LocalDateTime; - /** * The type Pen request batch student status code entity. * diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/model/v1/PenRequestBatchStudentValidationIssueEntity.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/model/v1/PenRequestBatchStudentValidationIssueEntity.java index 56d4d859..bd705c4e 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/model/v1/PenRequestBatchStudentValidationIssueEntity.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/model/v1/PenRequestBatchStudentValidationIssueEntity.java @@ -1,11 +1,10 @@ package ca.bc.gov.educ.penreg.api.model.v1; +import jakarta.persistence.*; +import java.util.UUID; import lombok.*; import org.hibernate.annotations.GenericGenerator; -import javax.persistence.*; -import java.util.UUID; - /** * The type Pen request batch student validation issue entity. */ diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/model/v1/PenRequestBatchTypeCodeEntity.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/model/v1/PenRequestBatchTypeCodeEntity.java index db9f2335..b3cc7388 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/model/v1/PenRequestBatchTypeCodeEntity.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/model/v1/PenRequestBatchTypeCodeEntity.java @@ -1,15 +1,14 @@ package ca.bc.gov.educ.penreg.api.model.v1; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import jakarta.persistence.Table; +import java.time.LocalDateTime; import lombok.Data; import org.hibernate.annotations.DynamicUpdate; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Id; -import javax.persistence.Table; -import java.time.LocalDateTime; - /** * The type Pen request batch type code entity. * diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/model/v1/PenRequestBatchValidOneLetterGivenNameCodeEntity.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/model/v1/PenRequestBatchValidOneLetterGivenNameCodeEntity.java index 54b8ca82..1b9c9982 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/model/v1/PenRequestBatchValidOneLetterGivenNameCodeEntity.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/model/v1/PenRequestBatchValidOneLetterGivenNameCodeEntity.java @@ -1,12 +1,15 @@ package ca.bc.gov.educ.penreg.api.model.v1; +import jakarta.persistence.Basic; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import jakarta.persistence.Table; +import java.time.LocalDateTime; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; -import javax.persistence.*; -import java.time.LocalDateTime; - /** * The type Pen request batch valid one letter given name code entity. */ diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/model/v1/Saga.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/model/v1/Saga.java index d101654c..22a586e9 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/model/v1/Saga.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/model/v1/Saga.java @@ -1,5 +1,12 @@ package ca.bc.gov.educ.penreg.api.model.v1; +import jakarta.persistence.*; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.PastOrPresent; +import jakarta.validation.constraints.Size; +import java.nio.charset.StandardCharsets; +import java.time.LocalDateTime; +import java.util.UUID; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -7,14 +14,6 @@ import org.hibernate.annotations.DynamicUpdate; import org.hibernate.annotations.GenericGenerator; -import javax.persistence.*; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.PastOrPresent; -import javax.validation.constraints.Size; -import java.nio.charset.StandardCharsets; -import java.time.LocalDateTime; -import java.util.UUID; - /** * The type Saga. */ diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/model/v1/SagaEvent.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/model/v1/SagaEvent.java index ab2bc3a8..b540de83 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/model/v1/SagaEvent.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/model/v1/SagaEvent.java @@ -1,16 +1,15 @@ package ca.bc.gov.educ.penreg.api.model.v1; -import lombok.*; -import org.hibernate.annotations.DynamicUpdate; -import org.hibernate.annotations.GenericGenerator; - -import javax.persistence.*; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.PastOrPresent; -import javax.validation.constraints.Size; +import jakarta.persistence.*; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.PastOrPresent; +import jakarta.validation.constraints.Size; import java.nio.charset.StandardCharsets; import java.time.LocalDateTime; import java.util.UUID; +import lombok.*; +import org.hibernate.annotations.DynamicUpdate; +import org.hibernate.annotations.GenericGenerator; /** * The type Saga event. diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/model/v1/SchoolGroupCodeEntity.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/model/v1/SchoolGroupCodeEntity.java index cd5e4a27..bf320575 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/model/v1/SchoolGroupCodeEntity.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/model/v1/SchoolGroupCodeEntity.java @@ -1,15 +1,14 @@ package ca.bc.gov.educ.penreg.api.model.v1; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import jakarta.persistence.Table; +import java.time.LocalDateTime; import lombok.Data; import org.hibernate.annotations.DynamicUpdate; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Id; -import javax.persistence.Table; -import java.time.LocalDateTime; - /** * The type Pen request batch student status code entity. * diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/orchestrator/BaseReturnFilesOrchestrator.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/orchestrator/BaseReturnFilesOrchestrator.java index dfc6f51f..931a37a5 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/orchestrator/BaseReturnFilesOrchestrator.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/orchestrator/BaseReturnFilesOrchestrator.java @@ -1,6 +1,25 @@ package ca.bc.gov.educ.penreg.api.orchestrator; -import ca.bc.gov.educ.penreg.api.constants.*; +import static ca.bc.gov.educ.penreg.api.constants.EventOutcome.REPORTS_SAVED; +import static ca.bc.gov.educ.penreg.api.constants.EventOutcome.REPORT_DATA_GATHERED; +import static ca.bc.gov.educ.penreg.api.constants.EventOutcome.STUDENTS_FOUND; +import static ca.bc.gov.educ.penreg.api.constants.EventType.GATHER_REPORT_DATA; +import static ca.bc.gov.educ.penreg.api.constants.EventType.GET_STUDENTS; +import static ca.bc.gov.educ.penreg.api.constants.EventType.NOTIFY_PEN_REQUEST_BATCH_ARCHIVE_HAS_CONTACT; +import static ca.bc.gov.educ.penreg.api.constants.EventType.NOTIFY_PEN_REQUEST_BATCH_ARCHIVE_HAS_NO_SCHOOL_CONTACT; +import static ca.bc.gov.educ.penreg.api.constants.EventType.SAVE_REPORTS; +import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStudentStatusCodes.ERROR; +import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStudentStatusCodes.FIXABLE; +import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStudentStatusCodes.INFOREQ; +import static java.util.stream.Collectors.counting; +import static java.util.stream.Collectors.groupingBy; +import static lombok.AccessLevel.PROTECTED; + +import ca.bc.gov.educ.penreg.api.constants.EventOutcome; +import ca.bc.gov.educ.penreg.api.constants.EventType; +import ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStudentValidationIssueSeverityCode; +import ca.bc.gov.educ.penreg.api.constants.SagaTopicsEnum; +import ca.bc.gov.educ.penreg.api.constants.SchoolTypeCode; import ca.bc.gov.educ.penreg.api.exception.PenRegAPIRuntimeException; import ca.bc.gov.educ.penreg.api.helpers.PenRegBatchHelper; import ca.bc.gov.educ.penreg.api.mappers.v1.PenRequestBatchMapper; @@ -13,19 +32,18 @@ import ca.bc.gov.educ.penreg.api.orchestrator.base.BaseOrchestrator; import ca.bc.gov.educ.penreg.api.properties.PenCoordinatorProperties; import ca.bc.gov.educ.penreg.api.rest.RestUtils; -import ca.bc.gov.educ.penreg.api.service.*; +import ca.bc.gov.educ.penreg.api.service.PenCoordinatorService; +import ca.bc.gov.educ.penreg.api.service.PenRequestBatchService; +import ca.bc.gov.educ.penreg.api.service.PenRequestBatchStudentValidationIssueService; +import ca.bc.gov.educ.penreg.api.service.ResponseFileGeneratorService; +import ca.bc.gov.educ.penreg.api.service.SagaService; import ca.bc.gov.educ.penreg.api.struct.Event; import ca.bc.gov.educ.penreg.api.struct.Student; -import ca.bc.gov.educ.penreg.api.struct.v1.PenRequestBatchStudentValidationIssueTypeCode; import ca.bc.gov.educ.penreg.api.struct.v1.*; import ca.bc.gov.educ.penreg.api.util.JsonUtil; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; -import lombok.Getter; -import lombok.extern.slf4j.Slf4j; -import lombok.val; - import java.io.IOException; import java.util.HashMap; import java.util.List; @@ -33,13 +51,9 @@ import java.util.Objects; import java.util.concurrent.TimeoutException; import java.util.stream.Collectors; - -import static ca.bc.gov.educ.penreg.api.constants.EventOutcome.*; -import static ca.bc.gov.educ.penreg.api.constants.EventType.*; -import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStudentStatusCodes.*; -import static java.util.stream.Collectors.counting; -import static java.util.stream.Collectors.groupingBy; -import static lombok.AccessLevel.PROTECTED; +import lombok.Getter; +import lombok.extern.slf4j.Slf4j; +import lombok.val; @Slf4j public abstract class BaseReturnFilesOrchestrator extends BaseOrchestrator { diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/orchestrator/BaseUserActionsOrchestrator.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/orchestrator/BaseUserActionsOrchestrator.java index 4d5e5fac..1d9c67b4 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/orchestrator/BaseUserActionsOrchestrator.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/orchestrator/BaseUserActionsOrchestrator.java @@ -1,5 +1,8 @@ package ca.bc.gov.educ.penreg.api.orchestrator; +import static ca.bc.gov.educ.penreg.api.constants.EventType.UPDATE_PEN_REQUEST_BATCH_STUDENT; +import static ca.bc.gov.educ.penreg.api.constants.SagaTopicsEnum.PEN_REQUEST_BATCH_API_TOPIC; + import ca.bc.gov.educ.penreg.api.mappers.StudentMapper; import ca.bc.gov.educ.penreg.api.mappers.v1.PenRequestBatchStudentMapper; import ca.bc.gov.educ.penreg.api.messaging.MessagePublisher; @@ -14,9 +17,6 @@ import com.fasterxml.jackson.core.JsonProcessingException; import lombok.extern.slf4j.Slf4j; -import static ca.bc.gov.educ.penreg.api.constants.EventType.UPDATE_PEN_REQUEST_BATCH_STUDENT; -import static ca.bc.gov.educ.penreg.api.constants.SagaTopicsEnum.PEN_REQUEST_BATCH_API_TOPIC; - /** * The type Base user actions orchestrator. * diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/orchestrator/PenReqBatchNewPenOrchestrator.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/orchestrator/PenReqBatchNewPenOrchestrator.java index a6440887..57bb9982 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/orchestrator/PenReqBatchNewPenOrchestrator.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/orchestrator/PenReqBatchNewPenOrchestrator.java @@ -1,5 +1,24 @@ package ca.bc.gov.educ.penreg.api.orchestrator; +import static ca.bc.gov.educ.penreg.api.constants.EventOutcome.NEXT_PEN_NUMBER_RETRIEVED; +import static ca.bc.gov.educ.penreg.api.constants.EventOutcome.PEN_REQUEST_BATCH_STUDENT_NOT_FOUND; +import static ca.bc.gov.educ.penreg.api.constants.EventOutcome.PEN_REQUEST_BATCH_STUDENT_UPDATED; +import static ca.bc.gov.educ.penreg.api.constants.EventOutcome.POSSIBLE_MATCH_ADDED; +import static ca.bc.gov.educ.penreg.api.constants.EventOutcome.STUDENT_ALREADY_EXIST; +import static ca.bc.gov.educ.penreg.api.constants.EventOutcome.STUDENT_CREATED; +import static ca.bc.gov.educ.penreg.api.constants.EventType.ADD_POSSIBLE_MATCH; +import static ca.bc.gov.educ.penreg.api.constants.EventType.CREATE_STUDENT; +import static ca.bc.gov.educ.penreg.api.constants.EventType.GET_NEXT_PEN_NUMBER; +import static ca.bc.gov.educ.penreg.api.constants.EventType.UPDATE_PEN_REQUEST_BATCH_STUDENT; +import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStudentStatusCodes.USR_NEW_PEN; +import static ca.bc.gov.educ.penreg.api.constants.SagaEnum.PEN_REQUEST_BATCH_NEW_PEN_PROCESSING_SAGA; +import static ca.bc.gov.educ.penreg.api.constants.SagaTopicsEnum.PEN_MATCH_API_TOPIC; +import static ca.bc.gov.educ.penreg.api.constants.SagaTopicsEnum.PEN_REQUEST_BATCH_API_TOPIC; +import static ca.bc.gov.educ.penreg.api.constants.SagaTopicsEnum.PEN_REQUEST_BATCH_NEW_PEN_PROCESSING_TOPIC; +import static ca.bc.gov.educ.penreg.api.constants.SagaTopicsEnum.PEN_SERVICES_API_TOPIC; +import static ca.bc.gov.educ.penreg.api.constants.SagaTopicsEnum.STUDENT_API_TOPIC; +import static ca.bc.gov.educ.penreg.api.constants.StudentHistoryActivityCode.REQ_NEW; + import ca.bc.gov.educ.penreg.api.constants.TwinReasonCodes; import ca.bc.gov.educ.penreg.api.exception.PenRegAPIRuntimeException; import ca.bc.gov.educ.penreg.api.messaging.MessagePublisher; @@ -14,8 +33,9 @@ import ca.bc.gov.educ.penreg.api.struct.v1.PossibleMatch; import ca.bc.gov.educ.penreg.api.util.JsonUtil; import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; +import java.time.LocalDateTime; +import java.util.stream.Collectors; import lombok.extern.slf4j.Slf4j; import lombok.val; import org.apache.commons.lang3.StringUtils; @@ -23,17 +43,6 @@ import org.springframework.stereotype.Component; import org.springframework.util.CollectionUtils; -import java.time.LocalDateTime; -import java.util.List; -import java.util.stream.Collectors; - -import static ca.bc.gov.educ.penreg.api.constants.EventOutcome.*; -import static ca.bc.gov.educ.penreg.api.constants.EventType.*; -import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStudentStatusCodes.USR_NEW_PEN; -import static ca.bc.gov.educ.penreg.api.constants.SagaEnum.PEN_REQUEST_BATCH_NEW_PEN_PROCESSING_SAGA; -import static ca.bc.gov.educ.penreg.api.constants.SagaTopicsEnum.*; -import static ca.bc.gov.educ.penreg.api.constants.StudentHistoryActivityCode.REQ_NEW; - /** * The type Pen req batch student orchestrator. */ diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/orchestrator/PenReqBatchStudentOrchestrator.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/orchestrator/PenReqBatchStudentOrchestrator.java index a2042cbf..7444d49c 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/orchestrator/PenReqBatchStudentOrchestrator.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/orchestrator/PenReqBatchStudentOrchestrator.java @@ -1,5 +1,19 @@ package ca.bc.gov.educ.penreg.api.orchestrator; +import static ca.bc.gov.educ.penreg.api.constants.EventOutcome.PEN_MATCH_PROCESSED; +import static ca.bc.gov.educ.penreg.api.constants.EventOutcome.PEN_MATCH_RESULTS_PROCESSED; +import static ca.bc.gov.educ.penreg.api.constants.EventOutcome.VALIDATION_SUCCESS_NO_ERROR_WARNING; +import static ca.bc.gov.educ.penreg.api.constants.EventOutcome.VALIDATION_SUCCESS_WITH_ERROR; +import static ca.bc.gov.educ.penreg.api.constants.EventOutcome.VALIDATION_SUCCESS_WITH_ONLY_WARNING; +import static ca.bc.gov.educ.penreg.api.constants.EventType.PROCESS_PEN_MATCH; +import static ca.bc.gov.educ.penreg.api.constants.EventType.PROCESS_PEN_MATCH_RESULTS; +import static ca.bc.gov.educ.penreg.api.constants.EventType.VALIDATE_STUDENT_DEMOGRAPHICS; +import static ca.bc.gov.educ.penreg.api.constants.SagaEnum.PEN_REQUEST_BATCH_STUDENT_PROCESSING_SAGA; +import static ca.bc.gov.educ.penreg.api.constants.SagaTopicsEnum.PEN_MATCH_API_TOPIC; +import static ca.bc.gov.educ.penreg.api.constants.SagaTopicsEnum.PEN_REQUEST_BATCH_STUDENT_PROCESSING_TOPIC; +import static ca.bc.gov.educ.penreg.api.constants.SagaTopicsEnum.PEN_SERVICES_API_TOPIC; +import static lombok.AccessLevel.PRIVATE; + import ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStudentStatusCodes; import ca.bc.gov.educ.penreg.api.mappers.PenMatchSagaMapper; import ca.bc.gov.educ.penreg.api.mappers.PenStudentDemogValidationMapper; @@ -18,23 +32,16 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; -import lombok.Getter; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - import java.io.IOException; import java.util.List; import java.util.Optional; import java.util.concurrent.TimeoutException; import java.util.stream.Collectors; - -import static ca.bc.gov.educ.penreg.api.constants.EventOutcome.*; -import static ca.bc.gov.educ.penreg.api.constants.EventType.*; -import static ca.bc.gov.educ.penreg.api.constants.SagaEnum.PEN_REQUEST_BATCH_STUDENT_PROCESSING_SAGA; -import static ca.bc.gov.educ.penreg.api.constants.SagaTopicsEnum.*; -import static lombok.AccessLevel.PRIVATE; +import lombok.Getter; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; /** * The type Pen req batch student orchestrator. diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/orchestrator/PenReqBatchUserMatchOrchestrator.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/orchestrator/PenReqBatchUserMatchOrchestrator.java index 8a2d169c..c011b9f7 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/orchestrator/PenReqBatchUserMatchOrchestrator.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/orchestrator/PenReqBatchUserMatchOrchestrator.java @@ -1,5 +1,22 @@ package ca.bc.gov.educ.penreg.api.orchestrator; +import static ca.bc.gov.educ.penreg.api.constants.EventOutcome.PEN_REQUEST_BATCH_STUDENT_NOT_FOUND; +import static ca.bc.gov.educ.penreg.api.constants.EventOutcome.PEN_REQUEST_BATCH_STUDENT_UPDATED; +import static ca.bc.gov.educ.penreg.api.constants.EventOutcome.POSSIBLE_MATCH_ADDED; +import static ca.bc.gov.educ.penreg.api.constants.EventOutcome.STUDENT_FOUND; +import static ca.bc.gov.educ.penreg.api.constants.EventOutcome.STUDENT_UPDATED; +import static ca.bc.gov.educ.penreg.api.constants.EventType.ADD_POSSIBLE_MATCH; +import static ca.bc.gov.educ.penreg.api.constants.EventType.GET_STUDENT; +import static ca.bc.gov.educ.penreg.api.constants.EventType.UPDATE_PEN_REQUEST_BATCH_STUDENT; +import static ca.bc.gov.educ.penreg.api.constants.EventType.UPDATE_STUDENT; +import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStudentStatusCodes.USR_MATCHED; +import static ca.bc.gov.educ.penreg.api.constants.SagaEnum.PEN_REQUEST_BATCH_USER_MATCH_PROCESSING_SAGA; +import static ca.bc.gov.educ.penreg.api.constants.SagaStatusEnum.IN_PROGRESS; +import static ca.bc.gov.educ.penreg.api.constants.SagaTopicsEnum.PEN_MATCH_API_TOPIC; +import static ca.bc.gov.educ.penreg.api.constants.SagaTopicsEnum.PEN_REQUEST_BATCH_USER_MATCH_PROCESSING_TOPIC; +import static ca.bc.gov.educ.penreg.api.constants.SagaTopicsEnum.STUDENT_API_TOPIC; +import static ca.bc.gov.educ.penreg.api.constants.StudentHistoryActivityCode.REQ_MATCH; + import ca.bc.gov.educ.penreg.api.constants.TwinReasonCodes; import ca.bc.gov.educ.penreg.api.messaging.MessagePublisher; import ca.bc.gov.educ.penreg.api.model.v1.Saga; @@ -14,24 +31,15 @@ import ca.bc.gov.educ.penreg.api.struct.v1.PossibleMatch; import ca.bc.gov.educ.penreg.api.util.JsonUtil; import com.fasterxml.jackson.core.JsonProcessingException; +import java.time.LocalDateTime; +import java.util.List; +import java.util.stream.Collectors; import lombok.extern.slf4j.Slf4j; import lombok.val; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Component; import org.springframework.util.CollectionUtils; -import java.time.LocalDateTime; -import java.util.List; -import java.util.stream.Collectors; - -import static ca.bc.gov.educ.penreg.api.constants.EventOutcome.*; -import static ca.bc.gov.educ.penreg.api.constants.EventType.*; -import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStudentStatusCodes.USR_MATCHED; -import static ca.bc.gov.educ.penreg.api.constants.SagaEnum.PEN_REQUEST_BATCH_USER_MATCH_PROCESSING_SAGA; -import static ca.bc.gov.educ.penreg.api.constants.SagaStatusEnum.IN_PROGRESS; -import static ca.bc.gov.educ.penreg.api.constants.SagaTopicsEnum.*; -import static ca.bc.gov.educ.penreg.api.constants.StudentHistoryActivityCode.REQ_MATCH; - /** * The type Pen req batch user match orchestrator. */ diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/orchestrator/PenReqBatchUserUnmatchOrchestrator.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/orchestrator/PenReqBatchUserUnmatchOrchestrator.java index 8c3f6b2f..39a869cc 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/orchestrator/PenReqBatchUserUnmatchOrchestrator.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/orchestrator/PenReqBatchUserUnmatchOrchestrator.java @@ -1,5 +1,20 @@ package ca.bc.gov.educ.penreg.api.orchestrator; +import static ca.bc.gov.educ.penreg.api.constants.EventOutcome.PEN_REQUEST_BATCH_STUDENT_NOT_FOUND; +import static ca.bc.gov.educ.penreg.api.constants.EventOutcome.PEN_REQUEST_BATCH_STUDENT_UPDATED; +import static ca.bc.gov.educ.penreg.api.constants.EventOutcome.POSSIBLE_MATCH_DELETED; +import static ca.bc.gov.educ.penreg.api.constants.EventOutcome.STUDENT_HISTORY_FOUND; +import static ca.bc.gov.educ.penreg.api.constants.EventOutcome.STUDENT_UPDATED; +import static ca.bc.gov.educ.penreg.api.constants.EventType.DELETE_POSSIBLE_MATCH; +import static ca.bc.gov.educ.penreg.api.constants.EventType.GET_STUDENT_HISTORY; +import static ca.bc.gov.educ.penreg.api.constants.EventType.UPDATE_PEN_REQUEST_BATCH_STUDENT; +import static ca.bc.gov.educ.penreg.api.constants.EventType.UPDATE_STUDENT; +import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStudentStatusCodes.FIXABLE; +import static ca.bc.gov.educ.penreg.api.constants.SagaEnum.PEN_REQUEST_BATCH_USER_UNMATCH_PROCESSING_SAGA; +import static ca.bc.gov.educ.penreg.api.constants.SagaTopicsEnum.PEN_MATCH_API_TOPIC; +import static ca.bc.gov.educ.penreg.api.constants.SagaTopicsEnum.PEN_REQUEST_BATCH_USER_UNMATCH_PROCESSING_TOPIC; +import static ca.bc.gov.educ.penreg.api.constants.SagaTopicsEnum.STUDENT_API_TOPIC; + import ca.bc.gov.educ.penreg.api.compare.auditHistoryComparator; import ca.bc.gov.educ.penreg.api.constants.StudentHistoryActivityCode; import ca.bc.gov.educ.penreg.api.messaging.MessagePublisher; @@ -18,27 +33,15 @@ import com.fasterxml.jackson.databind.JavaType; import com.fasterxml.jackson.databind.ObjectMapper; import java.io.IOException; +import java.util.ArrayList; import java.util.Collections; +import java.util.List; import java.util.concurrent.TimeoutException; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Component; import org.springframework.util.CollectionUtils; -import java.util.ArrayList; -import java.util.List; - -import static ca.bc.gov.educ.penreg.api.constants.EventOutcome.*; -import static ca.bc.gov.educ.penreg.api.constants.EventType.DELETE_POSSIBLE_MATCH; -import static ca.bc.gov.educ.penreg.api.constants.EventType.UPDATE_PEN_REQUEST_BATCH_STUDENT; -import static ca.bc.gov.educ.penreg.api.constants.EventType.GET_STUDENT_HISTORY; -import static ca.bc.gov.educ.penreg.api.constants.EventType.UPDATE_STUDENT; -import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStudentStatusCodes.FIXABLE; -import static ca.bc.gov.educ.penreg.api.constants.SagaEnum.PEN_REQUEST_BATCH_USER_UNMATCH_PROCESSING_SAGA; -import static ca.bc.gov.educ.penreg.api.constants.SagaTopicsEnum.PEN_MATCH_API_TOPIC; -import static ca.bc.gov.educ.penreg.api.constants.SagaTopicsEnum.PEN_REQUEST_BATCH_USER_UNMATCH_PROCESSING_TOPIC; -import static ca.bc.gov.educ.penreg.api.constants.SagaTopicsEnum.STUDENT_API_TOPIC; - /** * The type Pen req batch user unmatch orchestrator. */ diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/orchestrator/PenRequestBatchArchiveAndReturnOrchestrator.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/orchestrator/PenRequestBatchArchiveAndReturnOrchestrator.java index e994b811..12f3e630 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/orchestrator/PenRequestBatchArchiveAndReturnOrchestrator.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/orchestrator/PenRequestBatchArchiveAndReturnOrchestrator.java @@ -1,5 +1,24 @@ package ca.bc.gov.educ.penreg.api.orchestrator; +import static ca.bc.gov.educ.penreg.api.constants.EventOutcome.ARCHIVE_EMAIL_SENT; +import static ca.bc.gov.educ.penreg.api.constants.EventOutcome.ARCHIVE_PEN_REQUEST_BATCH_REPORTS_GENERATED; +import static ca.bc.gov.educ.penreg.api.constants.EventOutcome.PEN_REQUEST_BATCH_NOT_FOUND; +import static ca.bc.gov.educ.penreg.api.constants.EventOutcome.PEN_REQUEST_BATCH_UPDATED; +import static ca.bc.gov.educ.penreg.api.constants.EventOutcome.REPORTS_SAVED; +import static ca.bc.gov.educ.penreg.api.constants.EventOutcome.REPORT_DATA_GATHERED; +import static ca.bc.gov.educ.penreg.api.constants.EventOutcome.STUDENTS_FOUND; +import static ca.bc.gov.educ.penreg.api.constants.EventOutcome.STUDENTS_NOT_FOUND; +import static ca.bc.gov.educ.penreg.api.constants.EventType.ARCHIVE_PEN_REQUEST_BATCH; +import static ca.bc.gov.educ.penreg.api.constants.EventType.GATHER_REPORT_DATA; +import static ca.bc.gov.educ.penreg.api.constants.EventType.GENERATE_PEN_REQUEST_BATCH_REPORTS; +import static ca.bc.gov.educ.penreg.api.constants.EventType.GET_STUDENTS; +import static ca.bc.gov.educ.penreg.api.constants.EventType.NOTIFY_PEN_REQUEST_BATCH_ARCHIVE_HAS_CONTACT; +import static ca.bc.gov.educ.penreg.api.constants.EventType.NOTIFY_PEN_REQUEST_BATCH_ARCHIVE_HAS_NO_SCHOOL_CONTACT; +import static ca.bc.gov.educ.penreg.api.constants.EventType.SAVE_REPORTS; +import static ca.bc.gov.educ.penreg.api.constants.SagaEnum.PEN_REQUEST_BATCH_ARCHIVE_AND_RETURN_SAGA; +import static ca.bc.gov.educ.penreg.api.constants.SagaTopicsEnum.PEN_REQUEST_BATCH_API_TOPIC; +import static ca.bc.gov.educ.penreg.api.constants.SagaTopicsEnum.PEN_REQUEST_BATCH_ARCHIVE_AND_RETURN_TOPIC; + import ca.bc.gov.educ.penreg.api.constants.EventType; import ca.bc.gov.educ.penreg.api.constants.SagaTopicsEnum; import ca.bc.gov.educ.penreg.api.exception.PenRegAPIRuntimeException; @@ -8,7 +27,11 @@ import ca.bc.gov.educ.penreg.api.model.v1.SagaEvent; import ca.bc.gov.educ.penreg.api.properties.PenCoordinatorProperties; import ca.bc.gov.educ.penreg.api.rest.RestUtils; -import ca.bc.gov.educ.penreg.api.service.*; +import ca.bc.gov.educ.penreg.api.service.PenCoordinatorService; +import ca.bc.gov.educ.penreg.api.service.PenRequestBatchService; +import ca.bc.gov.educ.penreg.api.service.PenRequestBatchStudentValidationIssueService; +import ca.bc.gov.educ.penreg.api.service.ResponseFileGeneratorService; +import ca.bc.gov.educ.penreg.api.service.SagaService; import ca.bc.gov.educ.penreg.api.struct.Event; import ca.bc.gov.educ.penreg.api.struct.Student; import ca.bc.gov.educ.penreg.api.struct.v1.PenRequestBatch; @@ -18,19 +41,12 @@ import ca.bc.gov.educ.penreg.api.util.JsonUtil; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.type.TypeReference; -import lombok.extern.slf4j.Slf4j; -import lombok.val; -import org.springframework.stereotype.Component; - import java.io.IOException; import java.util.List; import java.util.concurrent.TimeoutException; - -import static ca.bc.gov.educ.penreg.api.constants.EventOutcome.*; -import static ca.bc.gov.educ.penreg.api.constants.EventType.*; -import static ca.bc.gov.educ.penreg.api.constants.SagaEnum.PEN_REQUEST_BATCH_ARCHIVE_AND_RETURN_SAGA; -import static ca.bc.gov.educ.penreg.api.constants.SagaTopicsEnum.PEN_REQUEST_BATCH_API_TOPIC; -import static ca.bc.gov.educ.penreg.api.constants.SagaTopicsEnum.PEN_REQUEST_BATCH_ARCHIVE_AND_RETURN_TOPIC; +import lombok.extern.slf4j.Slf4j; +import lombok.val; +import org.springframework.stereotype.Component; @Slf4j @Component diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/orchestrator/PenRequestBatchRepostReportsOrchestrator.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/orchestrator/PenRequestBatchRepostReportsOrchestrator.java index e0b14d4b..0bfe4e23 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/orchestrator/PenRequestBatchRepostReportsOrchestrator.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/orchestrator/PenRequestBatchRepostReportsOrchestrator.java @@ -1,30 +1,44 @@ package ca.bc.gov.educ.penreg.api.orchestrator; +import static ca.bc.gov.educ.penreg.api.constants.EventOutcome.ARCHIVE_EMAIL_SENT; +import static ca.bc.gov.educ.penreg.api.constants.EventOutcome.ARCHIVE_PEN_REQUEST_BATCH_REPORTS_GENERATED; +import static ca.bc.gov.educ.penreg.api.constants.EventOutcome.PEN_REQUEST_BATCH_NOT_FOUND; +import static ca.bc.gov.educ.penreg.api.constants.EventOutcome.REPORTS_SAVED; +import static ca.bc.gov.educ.penreg.api.constants.EventOutcome.REPORT_DATA_GATHERED; +import static ca.bc.gov.educ.penreg.api.constants.EventOutcome.STUDENTS_FOUND; +import static ca.bc.gov.educ.penreg.api.constants.EventOutcome.STUDENTS_NOT_FOUND; +import static ca.bc.gov.educ.penreg.api.constants.EventType.GATHER_REPORT_DATA; +import static ca.bc.gov.educ.penreg.api.constants.EventType.GENERATE_PEN_REQUEST_BATCH_REPORTS; +import static ca.bc.gov.educ.penreg.api.constants.EventType.GET_STUDENTS; +import static ca.bc.gov.educ.penreg.api.constants.EventType.NOTIFY_PEN_REQUEST_BATCH_ARCHIVE_HAS_CONTACT; +import static ca.bc.gov.educ.penreg.api.constants.EventType.NOTIFY_PEN_REQUEST_BATCH_ARCHIVE_HAS_NO_SCHOOL_CONTACT; +import static ca.bc.gov.educ.penreg.api.constants.EventType.SAVE_REPORTS; +import static ca.bc.gov.educ.penreg.api.constants.SagaEnum.PEN_REQUEST_BATCH_REPOST_REPORTS_SAGA; +import static ca.bc.gov.educ.penreg.api.constants.SagaTopicsEnum.PEN_REQUEST_BATCH_REPOST_REPORTS_TOPIC; + import ca.bc.gov.educ.penreg.api.constants.SagaTopicsEnum; import ca.bc.gov.educ.penreg.api.messaging.MessagePublisher; import ca.bc.gov.educ.penreg.api.model.v1.Saga; import ca.bc.gov.educ.penreg.api.model.v1.SagaEvent; import ca.bc.gov.educ.penreg.api.properties.PenCoordinatorProperties; import ca.bc.gov.educ.penreg.api.rest.RestUtils; -import ca.bc.gov.educ.penreg.api.service.*; +import ca.bc.gov.educ.penreg.api.service.PenCoordinatorService; +import ca.bc.gov.educ.penreg.api.service.PenRequestBatchService; +import ca.bc.gov.educ.penreg.api.service.PenRequestBatchStudentValidationIssueService; +import ca.bc.gov.educ.penreg.api.service.ResponseFileGeneratorService; +import ca.bc.gov.educ.penreg.api.service.SagaService; import ca.bc.gov.educ.penreg.api.struct.Event; import ca.bc.gov.educ.penreg.api.struct.Student; import ca.bc.gov.educ.penreg.api.struct.v1.PenRequestBatchRepostReportsFilesSagaData; import ca.bc.gov.educ.penreg.api.struct.v1.reportstructs.ReportGenerationEventPayload; import ca.bc.gov.educ.penreg.api.util.JsonUtil; import com.fasterxml.jackson.core.type.TypeReference; -import lombok.extern.slf4j.Slf4j; -import lombok.val; -import org.springframework.stereotype.Component; - import java.io.IOException; import java.util.List; import java.util.concurrent.TimeoutException; - -import static ca.bc.gov.educ.penreg.api.constants.EventOutcome.*; -import static ca.bc.gov.educ.penreg.api.constants.EventType.*; -import static ca.bc.gov.educ.penreg.api.constants.SagaEnum.PEN_REQUEST_BATCH_REPOST_REPORTS_SAGA; -import static ca.bc.gov.educ.penreg.api.constants.SagaTopicsEnum.PEN_REQUEST_BATCH_REPOST_REPORTS_TOPIC; +import lombok.extern.slf4j.Slf4j; +import lombok.val; +import org.springframework.stereotype.Component; @Slf4j @Component diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/orchestrator/base/BaseOrchestrator.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/orchestrator/base/BaseOrchestrator.java index f7a2efbd..7e9bf08a 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/orchestrator/base/BaseOrchestrator.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/orchestrator/base/BaseOrchestrator.java @@ -1,5 +1,13 @@ package ca.bc.gov.educ.penreg.api.orchestrator.base; +import static ca.bc.gov.educ.penreg.api.constants.EventOutcome.INITIATE_SUCCESS; +import static ca.bc.gov.educ.penreg.api.constants.EventOutcome.SAGA_COMPLETED; +import static ca.bc.gov.educ.penreg.api.constants.EventType.INITIATED; +import static ca.bc.gov.educ.penreg.api.constants.EventType.MARK_SAGA_COMPLETE; +import static ca.bc.gov.educ.penreg.api.constants.SagaStatusEnum.COMPLETED; +import static lombok.AccessLevel.PROTECTED; +import static lombok.AccessLevel.PUBLIC; + import ca.bc.gov.educ.penreg.api.constants.EventOutcome; import ca.bc.gov.educ.penreg.api.constants.EventType; import ca.bc.gov.educ.penreg.api.mappers.PenRequestBatchStudentValidationIssueMapper; @@ -10,6 +18,12 @@ import ca.bc.gov.educ.penreg.api.struct.Event; import ca.bc.gov.educ.penreg.api.struct.NotificationEvent; import ca.bc.gov.educ.penreg.api.util.JsonUtil; +import jakarta.validation.constraints.NotNull; +import java.io.IOException; +import java.time.LocalDateTime; +import java.util.*; +import java.util.concurrent.TimeoutException; +import java.util.function.Predicate; import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; @@ -20,21 +34,6 @@ import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; -import javax.validation.constraints.NotNull; -import java.io.IOException; -import java.time.LocalDateTime; -import java.util.*; -import java.util.concurrent.TimeoutException; -import java.util.function.Predicate; - -import static ca.bc.gov.educ.penreg.api.constants.EventOutcome.INITIATE_SUCCESS; -import static ca.bc.gov.educ.penreg.api.constants.EventOutcome.SAGA_COMPLETED; -import static ca.bc.gov.educ.penreg.api.constants.EventType.INITIATED; -import static ca.bc.gov.educ.penreg.api.constants.EventType.MARK_SAGA_COMPLETE; -import static ca.bc.gov.educ.penreg.api.constants.SagaStatusEnum.COMPLETED; -import static lombok.AccessLevel.PROTECTED; -import static lombok.AccessLevel.PUBLIC; - /** * The type Base orchestrator. * diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/orchestrator/base/EventHandler.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/orchestrator/base/EventHandler.java index cdfa9e49..c8fb8c2e 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/orchestrator/base/EventHandler.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/orchestrator/base/EventHandler.java @@ -1,7 +1,6 @@ package ca.bc.gov.educ.penreg.api.orchestrator.base; import ca.bc.gov.educ.penreg.api.struct.Event; - import java.io.IOException; import java.util.concurrent.TimeoutException; diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/orchestrator/base/Orchestrator.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/orchestrator/base/Orchestrator.java index cc4423f9..e6bf281a 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/orchestrator/base/Orchestrator.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/orchestrator/base/Orchestrator.java @@ -1,12 +1,11 @@ package ca.bc.gov.educ.penreg.api.orchestrator.base; import ca.bc.gov.educ.penreg.api.model.v1.Saga; -import org.springframework.data.util.Pair; - import java.io.IOException; import java.util.List; import java.util.UUID; import java.util.concurrent.TimeoutException; +import org.springframework.data.util.Pair; /** * The interface Orchestrator. diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/orchestrator/base/SagaEventState.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/orchestrator/base/SagaEventState.java index 4d9a4a37..b194d562 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/orchestrator/base/SagaEventState.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/orchestrator/base/SagaEventState.java @@ -2,13 +2,12 @@ import ca.bc.gov.educ.penreg.api.constants.EventOutcome; import ca.bc.gov.educ.penreg.api.constants.EventType; +import java.util.function.Predicate; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; -import java.util.function.Predicate; - /** * The type Saga event state. * diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/orchestrator/base/SagaStep.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/orchestrator/base/SagaStep.java index 6acadb11..eca1b1d4 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/orchestrator/base/SagaStep.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/orchestrator/base/SagaStep.java @@ -3,7 +3,6 @@ import ca.bc.gov.educ.penreg.api.model.v1.Saga; import ca.bc.gov.educ.penreg.api.struct.Event; - import java.io.IOException; import java.util.concurrent.TimeoutException; diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/properties/ApplicationProperties.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/properties/ApplicationProperties.java index 0efd23c2..d053b659 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/properties/ApplicationProperties.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/properties/ApplicationProperties.java @@ -1,15 +1,14 @@ package ca.bc.gov.educ.penreg.api.properties; import com.google.common.util.concurrent.ThreadFactoryBuilder; +import java.time.Duration; +import java.util.concurrent.Executor; import lombok.Getter; import lombok.Setter; import org.jboss.threads.EnhancedQueueExecutor; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; -import java.time.Duration; -import java.util.concurrent.Executor; - /** * Class holds all application properties * diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/repository/PenRequestBatchEventRepository.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/repository/PenRequestBatchEventRepository.java index 0bd37432..f30babd6 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/repository/PenRequestBatchEventRepository.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/repository/PenRequestBatchEventRepository.java @@ -1,15 +1,14 @@ package ca.bc.gov.educ.penreg.api.repository; import ca.bc.gov.educ.penreg.api.model.v1.PenRequestBatchEvent; -import org.springframework.data.jpa.repository.Modifying; -import org.springframework.data.jpa.repository.Query; -import org.springframework.data.repository.CrudRepository; -import org.springframework.transaction.annotation.Transactional; - import java.time.LocalDateTime; import java.util.List; import java.util.Optional; import java.util.UUID; +import org.springframework.data.jpa.repository.Modifying; +import org.springframework.data.jpa.repository.Query; +import org.springframework.data.repository.CrudRepository; +import org.springframework.transaction.annotation.Transactional; public interface PenRequestBatchEventRepository extends CrudRepository { Optional findBySagaId(UUID sagaId); diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/repository/PenRequestBatchHistoryRepository.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/repository/PenRequestBatchHistoryRepository.java index eae81f72..55962081 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/repository/PenRequestBatchHistoryRepository.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/repository/PenRequestBatchHistoryRepository.java @@ -2,13 +2,12 @@ import ca.bc.gov.educ.penreg.api.model.v1.PenRequestBatchEntity; import ca.bc.gov.educ.penreg.api.model.v1.PenRequestBatchHistoryEntity; +import java.util.List; +import java.util.UUID; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaSpecificationExecutor; import org.springframework.stereotype.Repository; -import java.util.List; -import java.util.UUID; - /** * The interface Pen request batch repository. */ diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/repository/PenRequestBatchRepository.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/repository/PenRequestBatchRepository.java index 6ccd4174..f3259d9a 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/repository/PenRequestBatchRepository.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/repository/PenRequestBatchRepository.java @@ -1,16 +1,12 @@ package ca.bc.gov.educ.penreg.api.repository; import ca.bc.gov.educ.penreg.api.model.v1.PenRequestBatchEntity; -import ca.bc.gov.educ.penreg.api.model.v1.PenRequestBatchStudentEntity; -import org.springframework.data.jpa.repository.JpaRepository; -import org.springframework.data.jpa.repository.JpaSpecificationExecutor; -import org.springframework.data.jpa.repository.Query; -import org.springframework.data.repository.query.Param; -import org.springframework.stereotype.Repository; - import java.time.LocalDateTime; import java.util.List; import java.util.UUID; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.JpaSpecificationExecutor; +import org.springframework.stereotype.Repository; /** * The interface Pen request batch repository. diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/repository/PenRequestBatchSearchRepositoryImpl.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/repository/PenRequestBatchSearchRepositoryImpl.java index 5d310d6e..9d799c56 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/repository/PenRequestBatchSearchRepositoryImpl.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/repository/PenRequestBatchSearchRepositoryImpl.java @@ -1,6 +1,16 @@ package ca.bc.gov.educ.penreg.api.repository; import ca.bc.gov.educ.penreg.api.model.v1.PenRequestBatchEntity; +import jakarta.persistence.EntityManager; +import jakarta.persistence.NoResultException; +import jakarta.persistence.PersistenceContext; +import jakarta.persistence.Tuple; +import jakarta.persistence.criteria.*; +import java.util.List; +import java.util.Map; +import java.util.UUID; +import java.util.function.Function; +import java.util.stream.Collectors; import lombok.NonNull; import lombok.extern.slf4j.Slf4j; import org.springframework.data.domain.Page; @@ -11,17 +21,6 @@ import org.springframework.data.util.Pair; import org.springframework.stereotype.Repository; -import javax.persistence.EntityManager; -import javax.persistence.NoResultException; -import javax.persistence.PersistenceContext; -import javax.persistence.Tuple; -import javax.persistence.criteria.*; -import java.util.List; -import java.util.Map; -import java.util.UUID; -import java.util.function.Function; -import java.util.stream.Collectors; - @Repository @Slf4j public class PenRequestBatchSearchRepositoryImpl implements PenRequestBatchSearchRepository { diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/repository/PenRequestBatchStudentInfoRequestMacroRepository.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/repository/PenRequestBatchStudentInfoRequestMacroRepository.java index 4ed337b0..ffba2ade 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/repository/PenRequestBatchStudentInfoRequestMacroRepository.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/repository/PenRequestBatchStudentInfoRequestMacroRepository.java @@ -1,10 +1,9 @@ package ca.bc.gov.educ.penreg.api.repository; import ca.bc.gov.educ.penreg.api.model.v1.PenRequestBatchStudentInfoRequestMacroEntity; -import org.springframework.data.repository.CrudRepository; - import java.util.List; import java.util.UUID; +import org.springframework.data.repository.CrudRepository; public interface PenRequestBatchStudentInfoRequestMacroRepository extends CrudRepository { @Override diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/repository/PenRequestBatchStudentRepository.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/repository/PenRequestBatchStudentRepository.java index 4c3dbc31..d533e703 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/repository/PenRequestBatchStudentRepository.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/repository/PenRequestBatchStudentRepository.java @@ -3,15 +3,14 @@ import ca.bc.gov.educ.penreg.api.model.v1.PenRequestBatchEntity; import ca.bc.gov.educ.penreg.api.model.v1.PenRequestBatchMultiplePen; import ca.bc.gov.educ.penreg.api.model.v1.PenRequestBatchStudentEntity; +import java.time.LocalDateTime; +import java.util.List; +import java.util.UUID; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaSpecificationExecutor; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.query.Param; -import java.time.LocalDateTime; -import java.util.List; -import java.util.UUID; - /** * The interface Pen request batch student repository. */ diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/repository/PenRequestBatchStudentRepositoryCustom.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/repository/PenRequestBatchStudentRepositoryCustom.java index b0cb7918..a30424f2 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/repository/PenRequestBatchStudentRepositoryCustom.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/repository/PenRequestBatchStudentRepositoryCustom.java @@ -1,7 +1,6 @@ package ca.bc.gov.educ.penreg.api.repository; import ca.bc.gov.educ.penreg.api.struct.v1.PenRequestIDs; - import java.util.List; import java.util.Map; import java.util.UUID; diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/repository/PenRequestBatchStudentStatusCodeRepository.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/repository/PenRequestBatchStudentStatusCodeRepository.java index 1934d7cd..1550ecad 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/repository/PenRequestBatchStudentStatusCodeRepository.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/repository/PenRequestBatchStudentStatusCodeRepository.java @@ -1,11 +1,10 @@ package ca.bc.gov.educ.penreg.api.repository; import ca.bc.gov.educ.penreg.api.model.v1.PenRequestBatchStudentStatusCodeEntity; +import java.util.List; import org.springframework.data.repository.CrudRepository; import org.springframework.stereotype.Repository; -import java.util.List; - /** * The interface Pen request batch student status code repository. */ diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/repository/PenRequestBatchStudentValidationIssueRepository.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/repository/PenRequestBatchStudentValidationIssueRepository.java index 50e5e992..ac6c4eff 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/repository/PenRequestBatchStudentValidationIssueRepository.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/repository/PenRequestBatchStudentValidationIssueRepository.java @@ -3,11 +3,10 @@ import ca.bc.gov.educ.penreg.api.model.v1.PenRequestBatchEntity; import ca.bc.gov.educ.penreg.api.model.v1.PenRequestBatchStudentEntity; import ca.bc.gov.educ.penreg.api.model.v1.PenRequestBatchStudentValidationIssueEntity; -import org.springframework.data.repository.CrudRepository; -import org.springframework.stereotype.Repository; - import java.util.List; import java.util.UUID; +import org.springframework.data.repository.CrudRepository; +import org.springframework.stereotype.Repository; /** * The interface Pen request batch student validation issue repository. diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/repository/PenRequestBatchValidOneLetterGivenNameCodeRepository.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/repository/PenRequestBatchValidOneLetterGivenNameCodeRepository.java index 55fad418..13822506 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/repository/PenRequestBatchValidOneLetterGivenNameCodeRepository.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/repository/PenRequestBatchValidOneLetterGivenNameCodeRepository.java @@ -1,11 +1,10 @@ package ca.bc.gov.educ.penreg.api.repository; import ca.bc.gov.educ.penreg.api.model.v1.PenRequestBatchValidOneLetterGivenNameCodeEntity; +import java.util.List; import org.springframework.data.repository.CrudRepository; import org.springframework.stereotype.Repository; -import java.util.List; - /** * The interface Pen request batch valid one letter given name code repository. */ diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/repository/PenWebBlobRepository.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/repository/PenWebBlobRepository.java index b57daff0..87a708da 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/repository/PenWebBlobRepository.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/repository/PenWebBlobRepository.java @@ -1,11 +1,10 @@ package ca.bc.gov.educ.penreg.api.repository; import ca.bc.gov.educ.penreg.api.model.v1.PENWebBlobEntity; -import org.springframework.data.jpa.repository.JpaRepository; -import org.springframework.stereotype.Repository; - import java.time.LocalDateTime; import java.util.List; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; /** * The interface Pen web blob repository. diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/repository/SagaEventRepository.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/repository/SagaEventRepository.java index 037874dc..7ccfda8f 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/repository/SagaEventRepository.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/repository/SagaEventRepository.java @@ -2,17 +2,16 @@ import ca.bc.gov.educ.penreg.api.model.v1.Saga; import ca.bc.gov.educ.penreg.api.model.v1.SagaEvent; +import java.time.LocalDateTime; +import java.util.List; +import java.util.Optional; +import java.util.UUID; import org.springframework.data.jpa.repository.Modifying; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.CrudRepository; import org.springframework.stereotype.Repository; import org.springframework.transaction.annotation.Transactional; -import java.time.LocalDateTime; -import java.util.List; -import java.util.Optional; -import java.util.UUID; - /** * The interface Saga event repository. */ diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/repository/SagaRepository.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/repository/SagaRepository.java index f51dad2e..c38e6e41 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/repository/SagaRepository.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/repository/SagaRepository.java @@ -1,6 +1,9 @@ package ca.bc.gov.educ.penreg.api.repository; import ca.bc.gov.educ.penreg.api.model.v1.Saga; +import java.time.LocalDateTime; +import java.util.List; +import java.util.UUID; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaSpecificationExecutor; import org.springframework.data.jpa.repository.Modifying; @@ -8,10 +11,6 @@ import org.springframework.stereotype.Repository; import org.springframework.transaction.annotation.Transactional; -import java.time.LocalDateTime; -import java.util.List; -import java.util.UUID; - /** * The interface Saga repository. */ diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/repository/impl/PenRequestBatchStudentRepositoryImpl.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/repository/impl/PenRequestBatchStudentRepositoryImpl.java index 3e40bb44..d3efe545 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/repository/impl/PenRequestBatchStudentRepositoryImpl.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/repository/impl/PenRequestBatchStudentRepositoryImpl.java @@ -2,19 +2,17 @@ import ca.bc.gov.educ.penreg.api.repository.PenRequestBatchStudentRepositoryCustom; import ca.bc.gov.educ.penreg.api.struct.v1.PenRequestIDs; +import jakarta.persistence.EntityManager; +import jakarta.persistence.Query; +import java.util.List; +import java.util.Map; +import java.util.UUID; import lombok.AccessLevel; import lombok.Getter; import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Repository; -import javax.persistence.EntityManager; -import javax.persistence.Query; -import java.util.List; -import java.util.Map; -import java.util.UUID; - @Slf4j @Repository public class PenRequestBatchStudentRepositoryImpl implements PenRequestBatchStudentRepositoryCustom { diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/rest/RestPageImpl.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/rest/RestPageImpl.java index 2b1b02f6..ff1a5d53 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/rest/RestPageImpl.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/rest/RestPageImpl.java @@ -3,13 +3,12 @@ import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.databind.JsonNode; +import java.util.ArrayList; +import java.util.List; import org.springframework.data.domain.PageImpl; import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Pageable; -import java.util.ArrayList; -import java.util.List; - /** * The type Rest page. * diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/rest/RestUtils.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/rest/RestUtils.java index ba8b6c94..e99d01d5 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/rest/RestUtils.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/rest/RestUtils.java @@ -1,5 +1,9 @@ package ca.bc.gov.educ.penreg.api.rest; +import static ca.bc.gov.educ.penreg.api.constants.SagaTopicsEnum.PEN_MATCH_API_TOPIC; +import static ca.bc.gov.educ.penreg.api.constants.SagaTopicsEnum.PEN_SERVICES_API_TOPIC; +import static ca.bc.gov.educ.penreg.api.constants.SagaTopicsEnum.STUDENT_API_TOPIC; + import ca.bc.gov.educ.penreg.api.constants.EventOutcome; import ca.bc.gov.educ.penreg.api.constants.EventType; import ca.bc.gov.educ.penreg.api.constants.SagaTopicsEnum; @@ -16,6 +20,22 @@ import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; import com.google.common.collect.Sets; +import jakarta.annotation.PostConstruct; +import java.io.IOException; +import java.nio.charset.StandardCharsets; +import java.util.Collections; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.UUID; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.TimeoutException; +import java.util.concurrent.locks.ReadWriteLock; +import java.util.concurrent.locks.ReentrantReadWriteLock; +import java.util.function.Function; +import java.util.stream.Collectors; import lombok.Getter; import lombok.extern.slf4j.Slf4j; import lombok.val; @@ -29,21 +49,6 @@ import org.springframework.web.reactive.function.client.WebClientResponseException; import reactor.core.publisher.Mono; -import javax.annotation.PostConstruct; -import java.io.IOException; -import java.nio.charset.StandardCharsets; -import java.util.*; -import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.ExecutionException; -import java.util.concurrent.TimeUnit; -import java.util.concurrent.TimeoutException; -import java.util.concurrent.locks.ReadWriteLock; -import java.util.concurrent.locks.ReentrantReadWriteLock; -import java.util.function.Function; -import java.util.stream.Collectors; - -import static ca.bc.gov.educ.penreg.api.constants.SagaTopicsEnum.*; - /** * This class is used for REST calls * diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/schedulers/EventTaskScheduler.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/schedulers/EventTaskScheduler.java index acc24a30..2987c3cb 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/schedulers/EventTaskScheduler.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/schedulers/EventTaskScheduler.java @@ -1,5 +1,7 @@ package ca.bc.gov.educ.penreg.api.schedulers; +import static lombok.AccessLevel.PRIVATE; + import ca.bc.gov.educ.penreg.api.service.EventTaskSchedulerAsyncService; import lombok.Getter; import lombok.extern.slf4j.Slf4j; @@ -10,8 +12,6 @@ import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import static lombok.AccessLevel.PRIVATE; - /** * The type Event task scheduler. */ diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/schedulers/PurgeOldSagaRecordsScheduler.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/schedulers/PurgeOldSagaRecordsScheduler.java index f3dc7e43..71dc8051 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/schedulers/PurgeOldSagaRecordsScheduler.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/schedulers/PurgeOldSagaRecordsScheduler.java @@ -1,8 +1,12 @@ package ca.bc.gov.educ.penreg.api.schedulers; +import static lombok.AccessLevel.PRIVATE; + import ca.bc.gov.educ.penreg.api.repository.PenRequestBatchEventRepository; import ca.bc.gov.educ.penreg.api.repository.SagaEventRepository; import ca.bc.gov.educ.penreg.api.repository.SagaRepository; +import jakarta.transaction.Transactional; +import java.time.LocalDateTime; import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; @@ -12,11 +16,6 @@ import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; -import javax.transaction.Transactional; -import java.time.LocalDateTime; - -import static lombok.AccessLevel.PRIVATE; - @Component @Slf4j public class PurgeOldSagaRecordsScheduler { diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/schedulers/PurgeSoftDeletedBatchRecordsScheduler.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/schedulers/PurgeSoftDeletedBatchRecordsScheduler.java index 268d0a30..ab172936 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/schedulers/PurgeSoftDeletedBatchRecordsScheduler.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/schedulers/PurgeSoftDeletedBatchRecordsScheduler.java @@ -1,7 +1,11 @@ package ca.bc.gov.educ.penreg.api.schedulers; +import static lombok.AccessLevel.PRIVATE; + import ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStatusCodes; import ca.bc.gov.educ.penreg.api.repository.PenRequestBatchRepository; +import jakarta.transaction.Transactional; +import java.time.LocalDateTime; import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; @@ -11,11 +15,6 @@ import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; -import javax.transaction.Transactional; -import java.time.LocalDateTime; - -import static lombok.AccessLevel.PRIVATE; - @Component @Slf4j public class PurgeSoftDeletedBatchRecordsScheduler { diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/service/BaseBatchStudentPenMatchResultProcessingService.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/service/BaseBatchStudentPenMatchResultProcessingService.java index 0882e24c..cc89772f 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/service/BaseBatchStudentPenMatchResultProcessingService.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/service/BaseBatchStudentPenMatchResultProcessingService.java @@ -1,5 +1,13 @@ package ca.bc.gov.educ.penreg.api.service; +import static ca.bc.gov.educ.penreg.api.constants.EventOutcome.PEN_MATCH_RESULTS_PROCESSED; +import static ca.bc.gov.educ.penreg.api.constants.EventType.PROCESS_PEN_MATCH_RESULTS; +import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStudentStatusCodes.FIXABLE; +import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStudentStatusCodes.SYS_MATCHED; +import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStudentStatusCodes.SYS_NEW_PEN; +import static ca.bc.gov.educ.penreg.api.constants.StudentHistoryActivityCode.REQ_NEW; +import static lombok.AccessLevel.PRIVATE; + import ca.bc.gov.educ.penreg.api.constants.MatchAlgorithmStatusCode; import ca.bc.gov.educ.penreg.api.constants.StudentHistoryActivityCode; import ca.bc.gov.educ.penreg.api.exception.PenRegAPIRuntimeException; @@ -16,22 +24,15 @@ import ca.bc.gov.educ.penreg.api.util.JsonUtil; import ca.bc.gov.educ.penreg.api.util.LocalIDUtil; import com.fasterxml.jackson.core.JsonProcessingException; +import java.time.LocalDateTime; +import java.util.Optional; +import java.util.UUID; import lombok.Getter; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import lombok.val; import org.apache.commons.lang3.StringUtils; -import java.time.LocalDateTime; -import java.util.Optional; -import java.util.UUID; - -import static ca.bc.gov.educ.penreg.api.constants.EventOutcome.PEN_MATCH_RESULTS_PROCESSED; -import static ca.bc.gov.educ.penreg.api.constants.EventType.PROCESS_PEN_MATCH_RESULTS; -import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStudentStatusCodes.*; -import static ca.bc.gov.educ.penreg.api.constants.StudentHistoryActivityCode.REQ_NEW; -import static lombok.AccessLevel.PRIVATE; - @Slf4j public abstract class BaseBatchStudentPenMatchResultProcessingService extends BasePenMatchResultProcessingService> { /** diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/service/BasePenMatchResultProcessingService.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/service/BasePenMatchResultProcessingService.java index 8403eae2..d3305936 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/service/BasePenMatchResultProcessingService.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/service/BasePenMatchResultProcessingService.java @@ -1,17 +1,16 @@ package ca.bc.gov.educ.penreg.api.service; +import static lombok.AccessLevel.PROTECTED; + import ca.bc.gov.educ.penreg.api.constants.MatchAlgorithmStatusCode; import ca.bc.gov.educ.penreg.api.model.v1.PenRequestBatchStudentValidationIssueEntity; import ca.bc.gov.educ.penreg.api.rest.RestUtils; import ca.bc.gov.educ.penreg.api.service.interfaces.PenMatchResultProcessingService; import ca.bc.gov.educ.penreg.api.struct.PenRequestValidationIssue; -import lombok.Getter; -import lombok.extern.slf4j.Slf4j; - import java.util.List; import java.util.Set; - -import static lombok.AccessLevel.PROTECTED; +import lombok.Getter; +import lombok.extern.slf4j.Slf4j; @Slf4j public abstract class BasePenMatchResultProcessingService implements PenMatchResultProcessingService { diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/service/EventHandlerService.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/service/EventHandlerService.java index 98d6b16d..3e8daf22 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/service/EventHandlerService.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/service/EventHandlerService.java @@ -1,6 +1,11 @@ package ca.bc.gov.educ.penreg.api.service; +import static ca.bc.gov.educ.penreg.api.constants.SagaEnum.PEN_REQUEST_BATCH_STUDENT_PROCESSING_SAGA; +import static ca.bc.gov.educ.penreg.api.constants.SagaTopicsEnum.PEN_REQUEST_BATCH_API_TOPIC; +import static lombok.AccessLevel.PRIVATE; +import static lombok.AccessLevel.PROTECTED; + import ca.bc.gov.educ.penreg.api.constants.EventOutcome; import ca.bc.gov.educ.penreg.api.model.v1.PenRequestBatchEvent; import ca.bc.gov.educ.penreg.api.orchestrator.PenReqBatchStudentOrchestrator; @@ -11,20 +16,14 @@ import ca.bc.gov.educ.penreg.api.struct.PenRequestBatchStudentSagaData; import ca.bc.gov.educ.penreg.api.util.JsonUtil; import com.fasterxml.jackson.core.JsonProcessingException; +import java.io.IOException; +import java.util.concurrent.TimeoutException; import lombok.Getter; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; -import java.io.IOException; -import java.util.concurrent.TimeoutException; - -import static ca.bc.gov.educ.penreg.api.constants.SagaEnum.PEN_REQUEST_BATCH_STUDENT_PROCESSING_SAGA; -import static ca.bc.gov.educ.penreg.api.constants.SagaTopicsEnum.PEN_REQUEST_BATCH_API_TOPIC; -import static lombok.AccessLevel.PRIVATE; -import static lombok.AccessLevel.PROTECTED; - /** * The type Event handler service. */ diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/service/EventPublisherService.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/service/EventPublisherService.java index 6dd1d984..5f206810 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/service/EventPublisherService.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/service/EventPublisherService.java @@ -1,6 +1,8 @@ package ca.bc.gov.educ.penreg.api.service; +import static lombok.AccessLevel.PRIVATE; + import ca.bc.gov.educ.penreg.api.constants.EventOutcome; import ca.bc.gov.educ.penreg.api.constants.EventType; import ca.bc.gov.educ.penreg.api.messaging.MessagePublisher; @@ -15,8 +17,6 @@ import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; -import static lombok.AccessLevel.PRIVATE; - @Service @Slf4j public class EventPublisherService { diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/service/EventTaskSchedulerAsyncService.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/service/EventTaskSchedulerAsyncService.java index fcd2bf55..4348b33c 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/service/EventTaskSchedulerAsyncService.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/service/EventTaskSchedulerAsyncService.java @@ -1,5 +1,13 @@ package ca.bc.gov.educ.penreg.api.service; +import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStatusCodes.LOADED; +import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStatusCodes.REPEATS_CHECKED; +import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStudentStatusCodes.DUPLICATE; +import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStudentStatusCodes.REPEAT; +import static ca.bc.gov.educ.penreg.api.constants.SagaEnum.PEN_REQUEST_BATCH_ARCHIVE_AND_RETURN_SAGA; +import static ca.bc.gov.educ.penreg.api.constants.SagaEnum.PEN_REQUEST_BATCH_STUDENT_PROCESSING_SAGA; +import static lombok.AccessLevel.PRIVATE; + import ca.bc.gov.educ.penreg.api.batch.processor.PenRegBatchStudentRecordsProcessor; import ca.bc.gov.educ.penreg.api.constants.PenRequestBatchEventCodes; import ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStatusCodes; @@ -23,6 +31,11 @@ import ca.bc.gov.educ.penreg.api.struct.v1.PenRequestBatchArchiveAndReturnSagaData; import ca.bc.gov.educ.penreg.api.util.JsonUtil; import com.fasterxml.jackson.core.JsonProcessingException; +import java.io.IOException; +import java.time.LocalDateTime; +import java.util.*; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.TimeoutException; import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; @@ -34,20 +47,6 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.io.IOException; -import java.time.LocalDateTime; -import java.util.*; -import java.util.concurrent.TimeUnit; -import java.util.concurrent.TimeoutException; - -import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStatusCodes.LOADED; -import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStatusCodes.REPEATS_CHECKED; -import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStudentStatusCodes.DUPLICATE; -import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStudentStatusCodes.REPEAT; -import static ca.bc.gov.educ.penreg.api.constants.SagaEnum.PEN_REQUEST_BATCH_ARCHIVE_AND_RETURN_SAGA; -import static ca.bc.gov.educ.penreg.api.constants.SagaEnum.PEN_REQUEST_BATCH_STUDENT_PROCESSING_SAGA; -import static lombok.AccessLevel.PRIVATE; - /** * The type Event task scheduler async service. */ diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/service/NotificationService.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/service/NotificationService.java index e1f59bb9..2b335081 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/service/NotificationService.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/service/NotificationService.java @@ -1,23 +1,22 @@ package ca.bc.gov.educ.penreg.api.service; +import static ca.bc.gov.educ.penreg.api.constants.SagaTopicsEnum.PROFILE_REQUEST_EMAIL_API_TOPIC; + import ca.bc.gov.educ.penreg.api.constants.EventType; import ca.bc.gov.educ.penreg.api.messaging.MessagePublisher; import ca.bc.gov.educ.penreg.api.properties.PenCoordinatorProperties; import ca.bc.gov.educ.penreg.api.struct.Event; import ca.bc.gov.educ.penreg.api.struct.v1.notification.PenRequestBatchSchoolErrorNotificationEntity; import ca.bc.gov.educ.penreg.api.util.JsonUtil; -import lombok.extern.slf4j.Slf4j; -import lombok.val; -import org.springframework.stereotype.Service; - import java.nio.charset.StandardCharsets; import java.time.LocalDateTime; import java.time.format.TextStyle; import java.util.Locale; import java.util.UUID; import java.util.concurrent.CompletableFuture; - -import static ca.bc.gov.educ.penreg.api.constants.SagaTopicsEnum.PROFILE_REQUEST_EMAIL_API_TOPIC; +import lombok.extern.slf4j.Slf4j; +import lombok.val; +import org.springframework.stereotype.Service; /** * This class is responsible for different type of notification to be sent out from batch api. diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/service/PenCoordinatorService.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/service/PenCoordinatorService.java index 8e7d7019..da2bf33a 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/service/PenCoordinatorService.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/service/PenCoordinatorService.java @@ -2,13 +2,12 @@ import ca.bc.gov.educ.penreg.api.rest.RestUtils; import ca.bc.gov.educ.penreg.api.struct.v1.PenCoordinator; +import java.util.Optional; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.Optional; - @Service @Slf4j public class PenCoordinatorService { diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/service/PenRequestBatchEventService.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/service/PenRequestBatchEventService.java index 474b8329..a098f444 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/service/PenRequestBatchEventService.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/service/PenRequestBatchEventService.java @@ -1,6 +1,11 @@ package ca.bc.gov.educ.penreg.api.service; +import static ca.bc.gov.educ.penreg.api.constants.EventStatus.MESSAGE_PUBLISHED; +import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStatusCodes.ARCHIVED; +import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStatusCodes.REARCHIVED; +import static lombok.AccessLevel.PRIVATE; + import ca.bc.gov.educ.penreg.api.constants.EventOutcome; import ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStatusCodes; import ca.bc.gov.educ.penreg.api.exception.EntityNotFoundException; @@ -15,6 +20,8 @@ import ca.bc.gov.educ.penreg.api.struct.v1.PenRequestBatchStudent; import ca.bc.gov.educ.penreg.api.util.JsonUtil; import com.fasterxml.jackson.core.JsonProcessingException; +import java.time.LocalDateTime; +import java.util.UUID; import lombok.Getter; import lombok.extern.slf4j.Slf4j; import lombok.val; @@ -24,14 +31,6 @@ import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; -import java.time.LocalDateTime; -import java.util.UUID; - -import static ca.bc.gov.educ.penreg.api.constants.EventStatus.MESSAGE_PUBLISHED; -import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStatusCodes.ARCHIVED; -import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStatusCodes.REARCHIVED; -import static lombok.AccessLevel.PRIVATE; - @Service @Slf4j public class PenRequestBatchEventService { diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/service/PenRequestBatchHistoryService.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/service/PenRequestBatchHistoryService.java index 8ebeaed9..d43ec189 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/service/PenRequestBatchHistoryService.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/service/PenRequestBatchHistoryService.java @@ -1,7 +1,12 @@ package ca.bc.gov.educ.penreg.api.service; +import static lombok.AccessLevel.PRIVATE; + import ca.bc.gov.educ.penreg.api.model.v1.PenRequestBatchHistoryEntity; import ca.bc.gov.educ.penreg.api.repository.PenRequestBatchHistoryRepository; +import java.util.List; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.CompletionException; import lombok.Getter; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -14,12 +19,6 @@ import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; -import java.util.List; -import java.util.concurrent.CompletableFuture; -import java.util.concurrent.CompletionException; - -import static lombok.AccessLevel.PRIVATE; - /** * The type Pen reg batch service. * diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/service/PenRequestBatchService.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/service/PenRequestBatchService.java index 7717d1ad..0b54180c 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/service/PenRequestBatchService.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/service/PenRequestBatchService.java @@ -1,5 +1,10 @@ package ca.bc.gov.educ.penreg.api.service; +import static ca.bc.gov.educ.penreg.api.constants.EventOutcome.VALIDATION_SUCCESS_WITH_ERROR; +import static ca.bc.gov.educ.penreg.api.constants.EventOutcome.VALIDATION_SUCCESS_WITH_ONLY_WARNING; +import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStatusCodes.REARCHIVED; +import static lombok.AccessLevel.PRIVATE; + import ca.bc.gov.educ.penreg.api.constants.EventType; import ca.bc.gov.educ.penreg.api.constants.PenRequestBatchEventCodes; import ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStatusCodes; @@ -17,7 +22,11 @@ import ca.bc.gov.educ.penreg.api.repository.PenWebBlobRepository; import ca.bc.gov.educ.penreg.api.rest.RestUtils; import ca.bc.gov.educ.penreg.api.service.interfaces.PenMatchResultProcessingService; -import ca.bc.gov.educ.penreg.api.struct.*; +import ca.bc.gov.educ.penreg.api.struct.Event; +import ca.bc.gov.educ.penreg.api.struct.PenMatchResult; +import ca.bc.gov.educ.penreg.api.struct.PenRequestBatchStats; +import ca.bc.gov.educ.penreg.api.struct.PenRequestValidationIssue; +import ca.bc.gov.educ.penreg.api.struct.Student; import ca.bc.gov.educ.penreg.api.struct.v1.PenRequestBatchStat; import ca.bc.gov.educ.penreg.api.struct.v1.PenRequestIDs; import ca.bc.gov.educ.penreg.api.struct.v1.PenRequestPenMatchProcessingPayload; @@ -27,6 +36,15 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; +import jakarta.persistence.EntityNotFoundException; +import java.io.IOException; +import java.util.*; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.CompletionException; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.TimeoutException; +import java.util.function.Function; +import java.util.stream.Collectors; import lombok.Getter; import lombok.NonNull; import lombok.SneakyThrows; @@ -47,21 +65,6 @@ import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; -import javax.persistence.EntityNotFoundException; -import java.io.IOException; -import java.util.*; -import java.util.concurrent.CompletableFuture; -import java.util.concurrent.CompletionException; -import java.util.concurrent.ExecutionException; -import java.util.concurrent.TimeoutException; -import java.util.function.Function; -import java.util.stream.Collectors; - -import static ca.bc.gov.educ.penreg.api.constants.EventOutcome.VALIDATION_SUCCESS_WITH_ERROR; -import static ca.bc.gov.educ.penreg.api.constants.EventOutcome.VALIDATION_SUCCESS_WITH_ONLY_WARNING; -import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStatusCodes.REARCHIVED; -import static lombok.AccessLevel.PRIVATE; - /** * The type Pen reg batch service. * diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/service/PenRequestBatchStudentInfoRequestMacroService.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/service/PenRequestBatchStudentInfoRequestMacroService.java index 287bdac2..381446fd 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/service/PenRequestBatchStudentInfoRequestMacroService.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/service/PenRequestBatchStudentInfoRequestMacroService.java @@ -1,19 +1,18 @@ package ca.bc.gov.educ.penreg.api.service; +import static lombok.AccessLevel.PRIVATE; + import ca.bc.gov.educ.penreg.api.exception.EntityNotFoundException; import ca.bc.gov.educ.penreg.api.model.v1.PenRequestBatchStudentInfoRequestMacroEntity; import ca.bc.gov.educ.penreg.api.repository.PenRequestBatchStudentInfoRequestMacroRepository; +import java.util.List; +import java.util.Optional; +import java.util.UUID; import lombok.Getter; import lombok.val; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.List; -import java.util.Optional; -import java.util.UUID; - -import static lombok.AccessLevel.PRIVATE; - @Service public class PenRequestBatchStudentInfoRequestMacroService { diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/service/PenRequestBatchStudentOrchestratorService.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/service/PenRequestBatchStudentOrchestratorService.java index 259478ab..addc5faf 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/service/PenRequestBatchStudentOrchestratorService.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/service/PenRequestBatchStudentOrchestratorService.java @@ -1,5 +1,7 @@ package ca.bc.gov.educ.penreg.api.service; +import static lombok.AccessLevel.PRIVATE; + import ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStudentStatusCodes; import ca.bc.gov.educ.penreg.api.constants.SchoolTypeCode; import ca.bc.gov.educ.penreg.api.helpers.PenRegBatchHelper; @@ -13,6 +15,14 @@ import ca.bc.gov.educ.penreg.api.struct.v1.BatchStudentPenMatchProcessingPayload; import ca.bc.gov.educ.penreg.api.util.JsonUtil; import com.fasterxml.jackson.core.JsonProcessingException; +import java.time.LocalDateTime; +import java.util.Collection; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.UUID; +import java.util.function.Function; +import java.util.stream.Collectors; import lombok.Getter; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; @@ -20,13 +30,6 @@ import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; -import java.time.LocalDateTime; -import java.util.*; -import java.util.function.Function; -import java.util.stream.Collectors; - -import static lombok.AccessLevel.PRIVATE; - /** * The type Pen request batch student orchestrator service. */ diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/service/PenRequestBatchStudentSFASPenMatchResultProcessingService.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/service/PenRequestBatchStudentSFASPenMatchResultProcessingService.java index 77b1fe03..a3e2b655 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/service/PenRequestBatchStudentSFASPenMatchResultProcessingService.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/service/PenRequestBatchStudentSFASPenMatchResultProcessingService.java @@ -7,11 +7,10 @@ import ca.bc.gov.educ.penreg.api.struct.Event; import ca.bc.gov.educ.penreg.api.struct.PenRequestBatchStudentSagaData; import ca.bc.gov.educ.penreg.api.struct.v1.BatchStudentPenMatchProcessingPayload; +import java.util.Optional; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; -import java.util.Optional; - /** * The type Pen request batch student pen match result processing service. * this is SFAS specific implementation. diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/service/PenRequestBatchStudentService.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/service/PenRequestBatchStudentService.java index 0e52d8cf..2f8d1925 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/service/PenRequestBatchStudentService.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/service/PenRequestBatchStudentService.java @@ -1,5 +1,16 @@ package ca.bc.gov.educ.penreg.api.service; +import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStudentStatusCodes.ERROR; +import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStudentStatusCodes.FIXABLE; +import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStudentStatusCodes.INFOREQ; +import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStudentStatusCodes.LOADED; +import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStudentStatusCodes.SYS_MATCHED; +import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStudentStatusCodes.SYS_NEW_PEN; +import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStudentStatusCodes.USR_MATCHED; +import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStudentStatusCodes.USR_NEW_PEN; +import static java.util.stream.Collectors.toList; +import static lombok.AccessLevel.PRIVATE; + import ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStatusCodes; import ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStudentStatusCodes; import ca.bc.gov.educ.penreg.api.constants.SchoolGroupCodes; @@ -13,6 +24,12 @@ import ca.bc.gov.educ.penreg.api.repository.PenRequestBatchRepository; import ca.bc.gov.educ.penreg.api.repository.PenRequestBatchStudentRepository; import ca.bc.gov.educ.penreg.api.repository.PenRequestBatchStudentStatusCodeRepository; +import java.time.Duration; +import java.time.LocalDateTime; +import java.util.*; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.CompletionException; +import java.util.concurrent.TimeUnit; import lombok.Getter; import lombok.extern.slf4j.Slf4j; import lombok.val; @@ -34,17 +51,6 @@ import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; -import java.time.Duration; -import java.time.LocalDateTime; -import java.util.*; -import java.util.concurrent.CompletableFuture; -import java.util.concurrent.CompletionException; -import java.util.concurrent.TimeUnit; - -import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStudentStatusCodes.*; -import static java.util.stream.Collectors.toList; -import static lombok.AccessLevel.PRIVATE; - /** * The type Pen request batch student service. */ diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/service/PenRequestBatchStudentSummerSchoolPenMatchResultProcessingService.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/service/PenRequestBatchStudentSummerSchoolPenMatchResultProcessingService.java index fcb1f976..d22f064e 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/service/PenRequestBatchStudentSummerSchoolPenMatchResultProcessingService.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/service/PenRequestBatchStudentSummerSchoolPenMatchResultProcessingService.java @@ -10,12 +10,11 @@ import ca.bc.gov.educ.penreg.api.struct.Student; import ca.bc.gov.educ.penreg.api.struct.v1.BatchStudentPenMatchProcessingPayload; import ca.bc.gov.educ.penreg.api.util.LocalIDUtil; +import java.util.Optional; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; -import java.util.Optional; - /** * The type Pen request batch student pen match result processing service. * this is summer school specific implementation. diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/service/PenRequestBatchStudentValidationIssueService.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/service/PenRequestBatchStudentValidationIssueService.java index 83f33263..a648b776 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/service/PenRequestBatchStudentValidationIssueService.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/service/PenRequestBatchStudentValidationIssueService.java @@ -1,9 +1,13 @@ package ca.bc.gov.educ.penreg.api.service; +import static lombok.AccessLevel.PRIVATE; + import ca.bc.gov.educ.penreg.api.model.v1.PenRequestBatchEntity; import ca.bc.gov.educ.penreg.api.model.v1.PenRequestBatchStudentEntity; import ca.bc.gov.educ.penreg.api.model.v1.PenRequestBatchStudentValidationIssueEntity; import ca.bc.gov.educ.penreg.api.repository.PenRequestBatchStudentValidationIssueRepository; +import java.util.List; +import java.util.UUID; import lombok.Getter; import lombok.extern.slf4j.Slf4j; import lombok.val; @@ -12,11 +16,6 @@ import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; -import java.util.List; -import java.util.UUID; - -import static lombok.AccessLevel.PRIVATE; - /** * The type Pen request batch student validation issue service. * diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/service/PenRequestPenMatchResultProcessingService.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/service/PenRequestPenMatchResultProcessingService.java index 66005915..5278126d 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/service/PenRequestPenMatchResultProcessingService.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/service/PenRequestPenMatchResultProcessingService.java @@ -1,6 +1,10 @@ package ca.bc.gov.educ.penreg.api.service; -import ca.bc.gov.educ.penreg.api.constants.*; +import ca.bc.gov.educ.penreg.api.constants.EventOutcome; +import ca.bc.gov.educ.penreg.api.constants.EventType; +import ca.bc.gov.educ.penreg.api.constants.MatchAlgorithmStatusCode; +import ca.bc.gov.educ.penreg.api.constants.SchoolTypeCode; +import ca.bc.gov.educ.penreg.api.constants.StudentHistoryActivityCode; import ca.bc.gov.educ.penreg.api.mappers.v1.PenRequestBatchMapper; import ca.bc.gov.educ.penreg.api.rest.RestUtils; import ca.bc.gov.educ.penreg.api.struct.Event; @@ -10,6 +14,9 @@ import ca.bc.gov.educ.penreg.api.util.JsonUtil; import ca.bc.gov.educ.penreg.api.util.LocalIDUtil; import com.fasterxml.jackson.core.JsonProcessingException; +import java.time.LocalDateTime; +import java.util.Optional; +import java.util.UUID; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import lombok.val; @@ -19,10 +26,6 @@ import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; -import java.time.LocalDateTime; -import java.util.Optional; -import java.util.UUID; - /** * this is MyEd specific implementation. */ diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/service/PenService.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/service/PenService.java index 5c4fe146..769dc47b 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/service/PenService.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/service/PenService.java @@ -1,13 +1,13 @@ package ca.bc.gov.educ.penreg.api.service; +import static lombok.AccessLevel.PRIVATE; + import ca.bc.gov.educ.penreg.api.rest.RestUtils; import lombok.Getter; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import static lombok.AccessLevel.PRIVATE; - /** * The type Pen service. */ diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/service/ResponseFileGeneratorService.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/service/ResponseFileGeneratorService.java index cd106048..a29bb7fb 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/service/ResponseFileGeneratorService.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/service/ResponseFileGeneratorService.java @@ -1,5 +1,7 @@ package ca.bc.gov.educ.penreg.api.service; +import static lombok.AccessLevel.PRIVATE; + import ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStudentStatusCodes; import ca.bc.gov.educ.penreg.api.constants.SchoolGroupCodes; import ca.bc.gov.educ.penreg.api.exception.PenRegAPIRuntimeException; @@ -12,6 +14,11 @@ import ca.bc.gov.educ.penreg.api.struct.v1.PenCoordinator; import ca.bc.gov.educ.penreg.api.struct.v1.PenRequestBatchStudent; import ca.bc.gov.educ.penreg.api.struct.v1.reportstructs.PenRequestBatchReportData; +import java.nio.charset.StandardCharsets; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.*; +import java.util.stream.Collectors; import lombok.Getter; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; @@ -20,15 +27,7 @@ import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import org.thymeleaf.context.Context; -import org.thymeleaf.spring5.SpringTemplateEngine; - -import java.nio.charset.StandardCharsets; -import java.time.LocalDateTime; -import java.time.format.DateTimeFormatter; -import java.util.*; -import java.util.stream.Collectors; - -import static lombok.AccessLevel.PRIVATE; +import org.thymeleaf.spring6.SpringTemplateEngine; /** * The type Response file generator service. diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/service/SagaService.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/service/SagaService.java index dcc6d99d..2bc04d94 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/service/SagaService.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/service/SagaService.java @@ -1,6 +1,9 @@ package ca.bc.gov.educ.penreg.api.service; -import ca.bc.gov.educ.penreg.api.model.v1.PenRequestBatchMultipleLocalID; +import static ca.bc.gov.educ.penreg.api.constants.EventType.INITIATED; +import static ca.bc.gov.educ.penreg.api.constants.SagaStatusEnum.STARTED; +import static lombok.AccessLevel.PRIVATE; + import ca.bc.gov.educ.penreg.api.model.v1.PenRequestBatchMultiplePen; import ca.bc.gov.educ.penreg.api.model.v1.Saga; import ca.bc.gov.educ.penreg.api.model.v1.SagaEvent; @@ -9,12 +12,23 @@ import ca.bc.gov.educ.penreg.api.repository.SagaRepository; import ca.bc.gov.educ.penreg.api.struct.v1.PenRequestBatchArchiveAndReturnAllSagaData; import ca.bc.gov.educ.penreg.api.struct.v1.PenRequestBatchArchiveAndReturnSagaData; +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.List; +import java.util.Optional; +import java.util.UUID; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.CompletionException; +import java.util.stream.Collectors; import lombok.AccessLevel; import lombok.Getter; import lombok.extern.slf4j.Slf4j; import lombok.val; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.data.domain.*; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.PageRequest; +import org.springframework.data.domain.Pageable; +import org.springframework.data.domain.Sort; import org.springframework.data.jpa.domain.Specification; import org.springframework.data.util.Pair; import org.springframework.retry.annotation.Backoff; @@ -23,19 +37,6 @@ import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; -import java.time.LocalDateTime; -import java.util.ArrayList; -import java.util.List; -import java.util.Optional; -import java.util.UUID; -import java.util.concurrent.CompletableFuture; -import java.util.concurrent.CompletionException; -import java.util.stream.Collectors; - -import static ca.bc.gov.educ.penreg.api.constants.EventType.INITIATED; -import static ca.bc.gov.educ.penreg.api.constants.SagaStatusEnum.STARTED; -import static lombok.AccessLevel.PRIVATE; - /** * The type Saga service. */ diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/BasePenRequestBatchStudentSagaData.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/BasePenRequestBatchStudentSagaData.java index c9d24eae..86826229 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/BasePenRequestBatchStudentSagaData.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/BasePenRequestBatchStudentSagaData.java @@ -1,13 +1,12 @@ package ca.bc.gov.educ.penreg.api.struct; +import jakarta.validation.constraints.NotNull; +import java.util.UUID; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import lombok.experimental.SuperBuilder; -import javax.validation.constraints.NotNull; -import java.util.UUID; - /** * The base pen request batch saga data. */ diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/Event.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/Event.java index ff5beb3e..23daf3bd 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/Event.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/Event.java @@ -3,13 +3,12 @@ import ca.bc.gov.educ.penreg.api.constants.EventOutcome; import ca.bc.gov.educ.penreg.api.constants.EventType; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import java.util.UUID; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; -import java.util.UUID; - /** * The type Event. */ diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/PenMatchRecord.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/PenMatchRecord.java index bd1e67e1..4fb06b73 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/PenMatchRecord.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/PenMatchRecord.java @@ -1,6 +1,10 @@ package ca.bc.gov.educ.penreg.api.struct; -import lombok.*; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; /** * The type Pen match record. diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/PenMatchResult.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/PenMatchResult.java index b53656c8..4da5cb7f 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/PenMatchResult.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/PenMatchResult.java @@ -1,12 +1,11 @@ package ca.bc.gov.educ.penreg.api.struct; +import java.util.List; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; -import java.util.List; - /** * The type Pen match result. */ diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/PenRequestBatchStats.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/PenRequestBatchStats.java index 53b38f19..9580de85 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/PenRequestBatchStats.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/PenRequestBatchStats.java @@ -1,13 +1,12 @@ package ca.bc.gov.educ.penreg.api.struct; import ca.bc.gov.educ.penreg.api.struct.v1.PenRequestBatchStat; +import java.util.List; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; -import java.util.List; - @Data @AllArgsConstructor @NoArgsConstructor diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/PenRequestBatchStudentSagaData.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/PenRequestBatchStudentSagaData.java index 7bd7fdd0..d1266a61 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/PenRequestBatchStudentSagaData.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/PenRequestBatchStudentSagaData.java @@ -1,14 +1,13 @@ package ca.bc.gov.educ.penreg.api.struct; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import jakarta.validation.constraints.NotNull; +import java.util.UUID; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import lombok.experimental.SuperBuilder; -import javax.validation.constraints.NotNull; -import java.util.UUID; - /** * The type Pen request batch student saga data. */ diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/PenRequestBatchStudentValidationPayload.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/PenRequestBatchStudentValidationPayload.java index d8c9b9a7..cef0ec3f 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/PenRequestBatchStudentValidationPayload.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/PenRequestBatchStudentValidationPayload.java @@ -1,13 +1,12 @@ package ca.bc.gov.educ.penreg.api.struct; +import java.util.LinkedList; +import java.util.List; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; -import java.util.LinkedList; -import java.util.List; - /** * The type Pen request batch student validation payload. */ diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/PenRequestBatchUnmatchSagaData.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/PenRequestBatchUnmatchSagaData.java index d776d42b..2eb0dc61 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/PenRequestBatchUnmatchSagaData.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/PenRequestBatchUnmatchSagaData.java @@ -1,13 +1,12 @@ package ca.bc.gov.educ.penreg.api.struct; +import java.util.List; import lombok.AllArgsConstructor; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; import lombok.experimental.SuperBuilder; -import java.util.List; - /** * The type Pen request batch student unmatch saga data. */ diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/PenRequestBatchUserActionsSagaData.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/PenRequestBatchUserActionsSagaData.java index 6807499f..31f2b412 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/PenRequestBatchUserActionsSagaData.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/PenRequestBatchUserActionsSagaData.java @@ -1,10 +1,13 @@ package ca.bc.gov.educ.penreg.api.struct; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import lombok.*; -import lombok.experimental.SuperBuilder; - import java.util.List; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.ToString; +import lombok.experimental.SuperBuilder; /** * The type Pen request batch student saga data. diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/PenRequestValidationIssue.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/PenRequestValidationIssue.java index aeff7547..07d16184 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/PenRequestValidationIssue.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/PenRequestValidationIssue.java @@ -1,7 +1,6 @@ package ca.bc.gov.educ.penreg.api.struct; import lombok.AllArgsConstructor; -import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; import lombok.experimental.SuperBuilder; diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/Student.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/Student.java index cfa021c5..b913d0d4 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/Student.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/Student.java @@ -1,17 +1,16 @@ package ca.bc.gov.educ.penreg.api.struct; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import jakarta.validation.constraints.Email; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Pattern; +import jakarta.validation.constraints.Size; +import java.io.Serializable; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import lombok.experimental.SuperBuilder; -import javax.validation.constraints.Email; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Pattern; -import javax.validation.constraints.Size; -import java.io.Serializable; - /** * The type Student. */ diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/StudentTwin.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/StudentTwin.java index fbc647a3..6ee6cd6b 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/StudentTwin.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/StudentTwin.java @@ -1,13 +1,12 @@ package ca.bc.gov.educ.penreg.api.struct; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import java.io.Serializable; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; -import java.io.Serializable; - @Data @Builder @AllArgsConstructor diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/StudentTwinAssociation.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/StudentTwinAssociation.java index a424cdb9..36d20995 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/StudentTwinAssociation.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/StudentTwinAssociation.java @@ -2,14 +2,13 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import jakarta.validation.constraints.NotNull; +import java.io.Serializable; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; -import javax.validation.constraints.NotNull; -import java.io.Serializable; - @Data @Builder @AllArgsConstructor diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/ArchiveAndReturnSagaResponse.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/ArchiveAndReturnSagaResponse.java index 806c24ff..c438a08d 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/ArchiveAndReturnSagaResponse.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/ArchiveAndReturnSagaResponse.java @@ -1,13 +1,12 @@ package ca.bc.gov.educ.penreg.api.struct.v1; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import java.util.UUID; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; -import java.util.UUID; - @Data @Builder @AllArgsConstructor diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/BasePenRequestBatchReturnFilesSagaData.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/BasePenRequestBatchReturnFilesSagaData.java index 5257219d..b3eab4e3 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/BasePenRequestBatchReturnFilesSagaData.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/BasePenRequestBatchReturnFilesSagaData.java @@ -2,14 +2,13 @@ import ca.bc.gov.educ.penreg.api.struct.Event; import ca.bc.gov.educ.penreg.api.struct.Student; -import lombok.*; -import lombok.experimental.SuperBuilder; -import lombok.extern.slf4j.Slf4j; - -import javax.validation.constraints.NotNull; +import jakarta.validation.constraints.NotNull; import java.util.List; import java.util.Map; import java.util.UUID; +import lombok.*; +import lombok.experimental.SuperBuilder; +import lombok.extern.slf4j.Slf4j; @Data @SuperBuilder diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/BaseRequest.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/BaseRequest.java index 0f7fada9..1cd98e41 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/BaseRequest.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/BaseRequest.java @@ -1,13 +1,12 @@ package ca.bc.gov.educ.penreg.api.struct.v1; +import jakarta.validation.constraints.Null; +import jakarta.validation.constraints.Size; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import lombok.experimental.SuperBuilder; -import javax.validation.constraints.Null; -import javax.validation.constraints.Size; - @Data @SuperBuilder @NoArgsConstructor diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/GradeCode.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/GradeCode.java index fcf31fbf..1ecb2aa9 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/GradeCode.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/GradeCode.java @@ -4,14 +4,13 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer; import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer; +import java.io.Serializable; +import java.time.LocalDateTime; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; -import java.io.Serializable; -import java.time.LocalDateTime; - /** * The type Grade code. */ diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/PenRequestBatchArchive.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/PenRequestBatchArchive.java index 134e9a89..df9bc632 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/PenRequestBatchArchive.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/PenRequestBatchArchive.java @@ -1,16 +1,13 @@ package ca.bc.gov.educ.penreg.api.struct.v1; -import ca.bc.gov.educ.penreg.api.struct.Student; +import jakarta.validation.constraints.NotNull; +import java.util.UUID; import lombok.AllArgsConstructor; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; import lombok.experimental.SuperBuilder; -import javax.validation.constraints.NotNull; -import java.util.List; -import java.util.UUID; - @Data @SuperBuilder @NoArgsConstructor diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/PenRequestBatchArchiveAndReturnAllSagaData.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/PenRequestBatchArchiveAndReturnAllSagaData.java index 9b621388..554cea4f 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/PenRequestBatchArchiveAndReturnAllSagaData.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/PenRequestBatchArchiveAndReturnAllSagaData.java @@ -1,9 +1,12 @@ package ca.bc.gov.educ.penreg.api.struct.v1; -import lombok.*; - -import javax.validation.constraints.NotNull; +import jakarta.validation.constraints.NotNull; import java.util.List; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.ToString; @Data @NoArgsConstructor diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/PenRequestBatchRepostReportsFilesSagaData.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/PenRequestBatchRepostReportsFilesSagaData.java index 11b51dae..098c224d 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/PenRequestBatchRepostReportsFilesSagaData.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/PenRequestBatchRepostReportsFilesSagaData.java @@ -1,6 +1,8 @@ package ca.bc.gov.educ.penreg.api.struct.v1; -import lombok.*; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; import lombok.experimental.SuperBuilder; @Data diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/PenRequestBatchStudent.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/PenRequestBatchStudent.java index b09f0179..5bf51214 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/PenRequestBatchStudent.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/PenRequestBatchStudent.java @@ -1,12 +1,11 @@ package ca.bc.gov.educ.penreg.api.struct.v1; +import java.util.UUID; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; -import java.util.UUID; - /** * The type Pen request batch student. * diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/PenRequestBatchStudentInfoRequestMacro.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/PenRequestBatchStudentInfoRequestMacro.java index 01875a87..357e6378 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/PenRequestBatchStudentInfoRequestMacro.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/PenRequestBatchStudentInfoRequestMacro.java @@ -1,12 +1,11 @@ package ca.bc.gov.educ.penreg.api.struct.v1; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; import lombok.Data; import lombok.EqualsAndHashCode; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Size; - @Data @EqualsAndHashCode(callSuper = true) @JsonIgnoreProperties(ignoreUnknown = true) diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/PenRequestBatchStudentValidationIssue.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/PenRequestBatchStudentValidationIssue.java index 5fc04239..e49c9b16 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/PenRequestBatchStudentValidationIssue.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/PenRequestBatchStudentValidationIssue.java @@ -1,7 +1,11 @@ package ca.bc.gov.educ.penreg.api.struct.v1; import ca.bc.gov.educ.penreg.api.struct.PenRequestValidationIssue; -import lombok.*; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.ToString; import lombok.experimental.SuperBuilder; /** diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/PenRequestIDs.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/PenRequestIDs.java index c1ebc62b..3e4ddc4e 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/PenRequestIDs.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/PenRequestIDs.java @@ -1,12 +1,11 @@ package ca.bc.gov.educ.penreg.api.struct.v1; +import java.util.UUID; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; -import java.util.UUID; - @Builder @Data @NoArgsConstructor diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/PenRequestPenMatchProcessingPayload.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/PenRequestPenMatchProcessingPayload.java index 55e32535..eafef63c 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/PenRequestPenMatchProcessingPayload.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/PenRequestPenMatchProcessingPayload.java @@ -3,13 +3,12 @@ import ca.bc.gov.educ.penreg.api.struct.PenMatchResult; import ca.bc.gov.educ.penreg.api.struct.v1.external.PenRequest; import ca.bc.gov.educ.penreg.api.struct.v1.external.PenRequestResult; +import java.util.UUID; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; -import java.util.UUID; - /** * Place holder for objects during one of pen request from external clients. */ diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/Saga.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/Saga.java index 96016866..727387fa 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/Saga.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/Saga.java @@ -1,12 +1,11 @@ package ca.bc.gov.educ.penreg.api.struct.v1; +import java.util.UUID; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; -import java.util.UUID; - /** * The type Saga. */ diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/SagaEvent.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/SagaEvent.java index 3d894aaa..36a839fa 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/SagaEvent.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/SagaEvent.java @@ -1,13 +1,12 @@ package ca.bc.gov.educ.penreg.api.struct.v1; +import java.util.UUID; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; -import java.util.UUID; - @Builder @AllArgsConstructor @NoArgsConstructor diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/Search.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/Search.java index f4ef1188..a8e9e806 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/Search.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/Search.java @@ -1,12 +1,11 @@ package ca.bc.gov.educ.penreg.api.struct.v1; +import java.util.List; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; -import java.util.List; - /** * The type Search. */ diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/SearchCriteria.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/SearchCriteria.java index 9f931fc5..a26a90a0 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/SearchCriteria.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/SearchCriteria.java @@ -1,13 +1,12 @@ package ca.bc.gov.educ.penreg.api.struct.v1; import ca.bc.gov.educ.penreg.api.filter.FilterOperation; +import jakarta.validation.constraints.NotNull; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; -import javax.validation.constraints.NotNull; - /** * The type Search criteria. * diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/StudentHistory.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/StudentHistory.java index 2f5b7c38..a43ab8f7 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/StudentHistory.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/StudentHistory.java @@ -2,11 +2,10 @@ import ca.bc.gov.educ.penreg.api.struct.Student; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import java.io.Serializable; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; - -import java.io.Serializable; import lombok.ToString; import lombok.experimental.SuperBuilder; diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/external/ListItem.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/external/ListItem.java index 4297dbe4..c3113c42 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/external/ListItem.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/external/ListItem.java @@ -1,9 +1,8 @@ package ca.bc.gov.educ.penreg.api.struct.v1.external; import ca.bc.gov.educ.penreg.api.struct.PenRequestValidationIssue; -import lombok.Data; - import java.util.List; +import lombok.Data; @Data public class ListItem { diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/external/PenRequestBatchSubmission.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/external/PenRequestBatchSubmission.java index bf72ce94..f7215260 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/external/PenRequestBatchSubmission.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/external/PenRequestBatchSubmission.java @@ -2,12 +2,11 @@ import ca.bc.gov.educ.penreg.api.struct.v1.BasePenRequestBatch; import ca.bc.gov.educ.penreg.api.struct.v1.PenRequestBatchStudent; +import java.util.List; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.ToString; -import java.util.List; - @EqualsAndHashCode(callSuper = true) @Data diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/external/PenRequestBatchSubmissionResult.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/external/PenRequestBatchSubmissionResult.java index a2a04724..40822a0b 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/external/PenRequestBatchSubmissionResult.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/external/PenRequestBatchSubmissionResult.java @@ -1,8 +1,7 @@ package ca.bc.gov.educ.penreg.api.struct.v1.external; -import lombok.Data; - import java.util.List; +import lombok.Data; @Data public class PenRequestBatchSubmissionResult { diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/external/PenRequestResult.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/external/PenRequestResult.java index 3c18938f..6ec7e9bd 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/external/PenRequestResult.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/external/PenRequestResult.java @@ -1,13 +1,12 @@ package ca.bc.gov.educ.penreg.api.struct.v1.external; import ca.bc.gov.educ.penreg.api.struct.PenRequestValidationIssue; +import java.util.List; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; -import java.util.List; - /** * The type Pen request result. */ diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/reportstructs/PenRequestBatchReportData.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/reportstructs/PenRequestBatchReportData.java index 8ec32352..6059264a 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/reportstructs/PenRequestBatchReportData.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/struct/v1/reportstructs/PenRequestBatchReportData.java @@ -1,12 +1,11 @@ package ca.bc.gov.educ.penreg.api.struct.v1.reportstructs; +import java.util.List; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; -import java.util.List; - @Data @Builder @AllArgsConstructor diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/util/JsonUtil.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/util/JsonUtil.java index 180c3622..f906ecb0 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/util/JsonUtil.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/util/JsonUtil.java @@ -2,10 +2,9 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; -import lombok.extern.slf4j.Slf4j; - import java.io.IOException; import java.util.Optional; +import lombok.extern.slf4j.Slf4j; /** * The type Json util. diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/util/LocalDateTimeUtil.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/util/LocalDateTimeUtil.java index 24776844..d5b64496 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/util/LocalDateTimeUtil.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/util/LocalDateTimeUtil.java @@ -1,13 +1,15 @@ package ca.bc.gov.educ.penreg.api.util; +import static java.time.temporal.ChronoField.DAY_OF_MONTH; +import static java.time.temporal.ChronoField.MONTH_OF_YEAR; +import static java.time.temporal.ChronoField.YEAR; + import java.time.LocalDate; import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatterBuilder; import java.time.format.SignStyle; import java.util.Optional; -import static java.time.temporal.ChronoField.*; - /** * The type Local date time util. */ diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/util/LocalIDUtil.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/util/LocalIDUtil.java index c01ec8bf..e1ad8c9d 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/util/LocalIDUtil.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/util/LocalIDUtil.java @@ -1,7 +1,6 @@ package ca.bc.gov.educ.penreg.api.util; import ca.bc.gov.educ.penreg.api.constants.BadLocalID; - import java.util.EnumSet; diff --git a/api/src/main/java/ca/bc/gov/educ/penreg/api/validator/PenRequestBatchStudentInfoRequestMacroPayloadValidator.java b/api/src/main/java/ca/bc/gov/educ/penreg/api/validator/PenRequestBatchStudentInfoRequestMacroPayloadValidator.java index ead15b2b..004ec86f 100644 --- a/api/src/main/java/ca/bc/gov/educ/penreg/api/validator/PenRequestBatchStudentInfoRequestMacroPayloadValidator.java +++ b/api/src/main/java/ca/bc/gov/educ/penreg/api/validator/PenRequestBatchStudentInfoRequestMacroPayloadValidator.java @@ -1,16 +1,15 @@ package ca.bc.gov.educ.penreg.api.validator; +import static lombok.AccessLevel.PRIVATE; + import ca.bc.gov.educ.penreg.api.service.PenRequestBatchStudentInfoRequestMacroService; import ca.bc.gov.educ.penreg.api.struct.v1.PenRequestBatchStudentInfoRequestMacro; +import java.util.ArrayList; +import java.util.List; import lombok.Getter; import org.springframework.stereotype.Component; import org.springframework.validation.FieldError; -import java.util.ArrayList; -import java.util.List; - -import static lombok.AccessLevel.PRIVATE; - @Component public class PenRequestBatchStudentInfoRequestMacroPayloadValidator { @Getter(PRIVATE) diff --git a/api/src/main/resources/application.properties b/api/src/main/resources/application.properties index 31c3cc62..09bec2a7 100644 --- a/api/src/main/resources/application.properties +++ b/api/src/main/resources/application.properties @@ -19,7 +19,7 @@ spring.security.oauth2.resourceserver.jwt.jwk-set-uri=${TOKEN_ISSUER_URL}/protoc management.endpoint.metrics.enabled=true management.endpoints.web.exposure.include=* management.endpoint.prometheus.enabled=true -management.metrics.export.prometheus.enabled=true +management.prometheus.metrics.export.enabled=true spring.jpa.properties.hibernate.generate_statistics=false spring.datasource.hikari.max-lifetime=120000 spring.jmx.enabled=false @@ -105,9 +105,9 @@ pen.coordinator.email=${PEN_COORDINATOR_EMAIL} pen.coordinator.mailing.address=${PEN_COORDINATOR_MAILING_ADDRESS} pen.coordinator.telephone=${PEN_COORDINATOR_TELEPHONE} pen.coordinator.facsimile=${PEN_COORDINATOR_FACSIMILE} -spring.redis.client-name=PEN-REG-BATCH-API +spring.data.redis.client-name=PEN-REG-BATCH-API spring.data.redis.repositories.enabled=false -spring.redis.client-type=lettuce +spring.data.redis.client-type=lettuce initialization.background.enabled=true #The below needs to be a comma separated list. schedule.jobs.load.school.cron=0 0 0/12 * * * diff --git a/api/src/test/java/ca/bc/gov/educ/penreg/api/batch/processor/PenRegBatchProcessorTest.java b/api/src/test/java/ca/bc/gov/educ/penreg/api/batch/processor/PenRegBatchProcessorTest.java index 217b31fe..a9c3465e 100644 --- a/api/src/test/java/ca/bc/gov/educ/penreg/api/batch/processor/PenRegBatchProcessorTest.java +++ b/api/src/test/java/ca/bc/gov/educ/penreg/api/batch/processor/PenRegBatchProcessorTest.java @@ -1,9 +1,20 @@ package ca.bc.gov.educ.penreg.api.batch.processor; +import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchEventCodes.STATUS_CHANGED; +import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStatusCodes.HOLD_FOR_REVIEW; +import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStatusCodes.LOAD_FAIL; +import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStatusCodes.REPEATS_CHECKED; +import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStudentStatusCodes.DUPLICATE; +import static ca.bc.gov.educ.penreg.api.constants.SchoolGroupCodes.K12; +import static ca.bc.gov.educ.penreg.api.constants.SchoolGroupCodes.PSI; +import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.anyString; +import static org.mockito.Mockito.when; + import ca.bc.gov.educ.penreg.api.BasePenRegAPITest; import ca.bc.gov.educ.penreg.api.compare.PenRequestBatchHistoryComparator; import ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStudentStatusCodes; -import ca.bc.gov.educ.penreg.api.constants.SchoolGroupCodes; import ca.bc.gov.educ.penreg.api.messaging.MessagePublisher; import ca.bc.gov.educ.penreg.api.model.v1.PENWebBlobEntity; import ca.bc.gov.educ.penreg.api.model.v1.PenRequestBatchHistoryEntity; @@ -14,7 +25,6 @@ import ca.bc.gov.educ.penreg.api.rest.RestUtils; import ca.bc.gov.educ.penreg.api.struct.School; import ca.bc.gov.educ.penreg.api.struct.v1.PenCoordinator; -import ca.bc.gov.educ.penreg.api.struct.v1.SchoolGroupCode; import ca.bc.gov.educ.penreg.api.support.PenRequestBatchTestUtils; import ca.bc.gov.educ.penreg.api.util.JsonUtil; import com.github.javafaker.Faker; @@ -24,12 +34,6 @@ import io.nats.client.impl.Headers; import io.nats.client.impl.NatsJetStreamMetaData; import io.nats.client.support.Status; -import lombok.extern.slf4j.Slf4j; -import org.junit.Before; -import org.junit.Test; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.transaction.annotation.Transactional; - import java.io.File; import java.io.IOException; import java.nio.file.Files; @@ -40,16 +44,11 @@ import java.util.Optional; import java.util.Random; import java.util.concurrent.CompletableFuture; - -import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchEventCodes.STATUS_CHANGED; -import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStatusCodes.*; -import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStudentStatusCodes.DUPLICATE; -import static ca.bc.gov.educ.penreg.api.constants.SchoolGroupCodes.K12; -import static ca.bc.gov.educ.penreg.api.constants.SchoolGroupCodes.PSI; -import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.ArgumentMatchers.anyString; -import static org.mockito.Mockito.when; +import lombok.extern.slf4j.Slf4j; +import org.junit.Before; +import org.junit.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.transaction.annotation.Transactional; /** * The type Pen reg batch processor test. diff --git a/api/src/test/java/ca/bc/gov/educ/penreg/api/batch/schedulers/PenRegBatchSchedulerTest.java b/api/src/test/java/ca/bc/gov/educ/penreg/api/batch/schedulers/PenRegBatchSchedulerTest.java index a5dcab70..ddd8f3c2 100644 --- a/api/src/test/java/ca/bc/gov/educ/penreg/api/batch/schedulers/PenRegBatchSchedulerTest.java +++ b/api/src/test/java/ca/bc/gov/educ/penreg/api/batch/schedulers/PenRegBatchSchedulerTest.java @@ -1,5 +1,10 @@ package ca.bc.gov.educ.penreg.api.batch.schedulers; +import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStatusCodes.DUPLICATE; +import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.ArgumentMatchers.anyString; +import static org.mockito.Mockito.when; + import ca.bc.gov.educ.penreg.api.BasePenRegAPITest; import ca.bc.gov.educ.penreg.api.constants.SchoolGroupCodes; import ca.bc.gov.educ.penreg.api.model.v1.PENWebBlobEntity; @@ -10,6 +15,16 @@ import ca.bc.gov.educ.penreg.api.rest.RestUtils; import ca.bc.gov.educ.penreg.api.struct.School; import ca.bc.gov.educ.penreg.api.support.PenRequestBatchTestUtils; +import java.io.File; +import java.io.IOException; +import java.nio.file.Files; +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import java.util.Random; +import java.util.concurrent.TimeUnit; import lombok.val; import org.junit.After; import org.junit.Before; @@ -17,18 +32,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; -import java.io.File; -import java.io.IOException; -import java.nio.file.Files; -import java.time.LocalDateTime; -import java.util.*; -import java.util.concurrent.TimeUnit; - -import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStatusCodes.DUPLICATE; -import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.ArgumentMatchers.anyString; -import static org.mockito.Mockito.when; - /** * The type Pen reg batch scheduler test. */ diff --git a/api/src/test/java/ca/bc/gov/educ/penreg/api/batch/service/PenRequestBatchFileServiceTest.java b/api/src/test/java/ca/bc/gov/educ/penreg/api/batch/service/PenRequestBatchFileServiceTest.java index fb88f8b0..97aabe7f 100644 --- a/api/src/test/java/ca/bc/gov/educ/penreg/api/batch/service/PenRequestBatchFileServiceTest.java +++ b/api/src/test/java/ca/bc/gov/educ/penreg/api/batch/service/PenRequestBatchFileServiceTest.java @@ -1,26 +1,25 @@ package ca.bc.gov.educ.penreg.api.batch.service; +import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStatusCodes.ARCHIVED; +import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStatusCodes.LOADED; +import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.ArgumentMatchers.anyString; +import static org.mockito.Mockito.when; + import ca.bc.gov.educ.penreg.api.BasePenRegAPITest; import ca.bc.gov.educ.penreg.api.batch.exception.FileUnProcessableException; import ca.bc.gov.educ.penreg.api.repository.PenRequestBatchRepository; import ca.bc.gov.educ.penreg.api.rest.RestUtils; import ca.bc.gov.educ.penreg.api.struct.School; import ca.bc.gov.educ.penreg.api.support.PenRequestBatchTestUtils; -import lombok.val; -import org.junit.Before; -import org.junit.Test; -import org.springframework.beans.factory.annotation.Autowired; - import java.io.IOException; import java.time.LocalDateTime; import java.util.Optional; import java.util.UUID; - -import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStatusCodes.ARCHIVED; -import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStatusCodes.LOADED; -import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.ArgumentMatchers.anyString; -import static org.mockito.Mockito.when; +import lombok.val; +import org.junit.Before; +import org.junit.Test; +import org.springframework.beans.factory.annotation.Autowired; public class PenRequestBatchFileServiceTest extends BasePenRegAPITest { @Autowired diff --git a/api/src/test/java/ca/bc/gov/educ/penreg/api/batch/validator/PenRequestBatchFileValidatorTest.java b/api/src/test/java/ca/bc/gov/educ/penreg/api/batch/validator/PenRequestBatchFileValidatorTest.java index 72c4c7a2..04d88513 100644 --- a/api/src/test/java/ca/bc/gov/educ/penreg/api/batch/validator/PenRequestBatchFileValidatorTest.java +++ b/api/src/test/java/ca/bc/gov/educ/penreg/api/batch/validator/PenRequestBatchFileValidatorTest.java @@ -1,7 +1,14 @@ package ca.bc.gov.educ.penreg.api.batch.validator; +import static org.assertj.core.api.Assertions.assertThat; + import ca.bc.gov.educ.penreg.api.BasePenRegAPITest; import ca.bc.gov.educ.penreg.api.batch.exception.FileUnProcessableException; +import java.io.*; +import java.nio.file.Files; +import java.util.Objects; +import java.util.Optional; +import java.util.UUID; import lombok.extern.slf4j.Slf4j; import lombok.val; import net.sf.flatpack.DataSet; @@ -10,14 +17,6 @@ import org.junit.jupiter.api.Assertions; import org.springframework.beans.factory.annotation.Autowired; -import java.io.*; -import java.nio.file.Files; -import java.util.Objects; -import java.util.Optional; -import java.util.UUID; - -import static org.assertj.core.api.Assertions.assertThat; - @Slf4j public class PenRequestBatchFileValidatorTest extends BasePenRegAPITest { @Autowired diff --git a/api/src/test/java/ca/bc/gov/educ/penreg/api/compare/PenRequestBatchHistoryComparator.java b/api/src/test/java/ca/bc/gov/educ/penreg/api/compare/PenRequestBatchHistoryComparator.java index 7cd2bc97..df57c623 100644 --- a/api/src/test/java/ca/bc/gov/educ/penreg/api/compare/PenRequestBatchHistoryComparator.java +++ b/api/src/test/java/ca/bc/gov/educ/penreg/api/compare/PenRequestBatchHistoryComparator.java @@ -1,7 +1,6 @@ package ca.bc.gov.educ.penreg.api.compare; import ca.bc.gov.educ.penreg.api.model.v1.PenRequestBatchHistoryEntity; - import java.util.Comparator; /** diff --git a/api/src/test/java/ca/bc/gov/educ/penreg/api/constants/PenRequestBatchStudentStatusCodesTest.java b/api/src/test/java/ca/bc/gov/educ/penreg/api/constants/PenRequestBatchStudentStatusCodesTest.java index 0e2bc102..b6b5a603 100644 --- a/api/src/test/java/ca/bc/gov/educ/penreg/api/constants/PenRequestBatchStudentStatusCodesTest.java +++ b/api/src/test/java/ca/bc/gov/educ/penreg/api/constants/PenRequestBatchStudentStatusCodesTest.java @@ -1,9 +1,9 @@ package ca.bc.gov.educ.penreg.api.constants; -import org.junit.Test; - import static org.assertj.core.api.Assertions.assertThat; +import org.junit.Test; + public class PenRequestBatchStudentStatusCodesTest { @Test diff --git a/api/src/test/java/ca/bc/gov/educ/penreg/api/controller/v1/PenRequestBatchAPIControllerTest.java b/api/src/test/java/ca/bc/gov/educ/penreg/api/controller/v1/PenRequestBatchAPIControllerTest.java index cc7ff400..fca5766f 100644 --- a/api/src/test/java/ca/bc/gov/educ/penreg/api/controller/v1/PenRequestBatchAPIControllerTest.java +++ b/api/src/test/java/ca/bc/gov/educ/penreg/api/controller/v1/PenRequestBatchAPIControllerTest.java @@ -1,5 +1,24 @@ package ca.bc.gov.educ.penreg.api.controller.v1; +import static ca.bc.gov.educ.penreg.api.constants.SagaEnum.PEN_REQUEST_BATCH_USER_MATCH_PROCESSING_SAGA; +import static ca.bc.gov.educ.penreg.api.struct.v1.Condition.AND; +import static ca.bc.gov.educ.penreg.api.struct.v1.Condition.OR; +import static java.util.stream.Collectors.toList; +import static org.hamcrest.Matchers.emptyOrNullString; +import static org.hamcrest.Matchers.greaterThan; +import static org.hamcrest.Matchers.hasSize; +import static org.hamcrest.Matchers.is; +import static org.hamcrest.Matchers.isA; +import static org.springframework.http.MediaType.APPLICATION_JSON; +import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.jwt; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.asyncDispatch; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.put; +import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; + import ca.bc.gov.educ.penreg.api.BasePenRegAPITest; import ca.bc.gov.educ.penreg.api.constants.EventOutcome; import ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStudentStatusCodes; @@ -11,7 +30,11 @@ import ca.bc.gov.educ.penreg.api.model.v1.PenRequestBatchEntity; import ca.bc.gov.educ.penreg.api.model.v1.PenRequestBatchStudentEntity; import ca.bc.gov.educ.penreg.api.model.v1.PenRequestBatchStudentValidationIssueEntity; -import ca.bc.gov.educ.penreg.api.repository.*; +import ca.bc.gov.educ.penreg.api.repository.PenRequestBatchHistoryRepository; +import ca.bc.gov.educ.penreg.api.repository.PenRequestBatchRepository; +import ca.bc.gov.educ.penreg.api.repository.PenRequestBatchStudentRepository; +import ca.bc.gov.educ.penreg.api.repository.PenRequestBatchStudentValidationIssueRepository; +import ca.bc.gov.educ.penreg.api.repository.PenWebBlobRepository; import ca.bc.gov.educ.penreg.api.rest.RestUtils; import ca.bc.gov.educ.penreg.api.service.SagaService; import ca.bc.gov.educ.penreg.api.struct.Event; @@ -29,6 +52,11 @@ import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.ObjectMapper; +import java.io.File; +import java.io.IOException; +import java.time.LocalDateTime; +import java.util.*; +import java.util.stream.Collectors; import lombok.val; import org.junit.Before; import org.junit.Test; @@ -39,24 +67,6 @@ import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.MvcResult; -import java.io.File; -import java.io.IOException; -import java.time.LocalDateTime; -import java.util.*; -import java.util.stream.Collectors; - -import static ca.bc.gov.educ.penreg.api.constants.SagaEnum.PEN_REQUEST_BATCH_USER_MATCH_PROCESSING_SAGA; -import static ca.bc.gov.educ.penreg.api.struct.v1.Condition.AND; -import static ca.bc.gov.educ.penreg.api.struct.v1.Condition.OR; -import static java.util.stream.Collectors.toList; -import static org.hamcrest.Matchers.*; -import static org.springframework.http.MediaType.APPLICATION_JSON; -import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.jwt; -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*; -import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print; -import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath; -import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; - /** * The type Pen request batch api controller test. */ diff --git a/api/src/test/java/ca/bc/gov/educ/penreg/api/controller/v1/PenRequestBatchHistoryAPIControllerTest.java b/api/src/test/java/ca/bc/gov/educ/penreg/api/controller/v1/PenRequestBatchHistoryAPIControllerTest.java index fabbabaa..09f951a8 100644 --- a/api/src/test/java/ca/bc/gov/educ/penreg/api/controller/v1/PenRequestBatchHistoryAPIControllerTest.java +++ b/api/src/test/java/ca/bc/gov/educ/penreg/api/controller/v1/PenRequestBatchHistoryAPIControllerTest.java @@ -1,5 +1,16 @@ package ca.bc.gov.educ.penreg.api.controller.v1; +import static ca.bc.gov.educ.penreg.api.struct.v1.Condition.AND; +import static ca.bc.gov.educ.penreg.api.struct.v1.Condition.OR; +import static org.hamcrest.Matchers.hasSize; +import static org.springframework.http.MediaType.APPLICATION_JSON; +import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.jwt; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.asyncDispatch; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; +import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; + import ca.bc.gov.educ.penreg.api.BasePenRegAPITest; import ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStatusCodes; import ca.bc.gov.educ.penreg.api.constants.SchoolGroupCodes; @@ -16,6 +27,9 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; +import java.io.File; +import java.util.*; +import java.util.stream.Collectors; import org.junit.Before; import org.junit.Test; import org.mockito.MockitoAnnotations; @@ -23,21 +37,6 @@ import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.MvcResult; -import java.io.File; -import java.util.*; -import java.util.stream.Collectors; - -import static ca.bc.gov.educ.penreg.api.struct.v1.Condition.AND; -import static ca.bc.gov.educ.penreg.api.struct.v1.Condition.OR; -import static org.hamcrest.Matchers.hasSize; -import static org.springframework.http.MediaType.APPLICATION_JSON; -import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.jwt; -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.asyncDispatch; -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; -import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print; -import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath; -import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; - /** * The type Pen request batch api controller test. */ diff --git a/api/src/test/java/ca/bc/gov/educ/penreg/api/controller/v1/PenRequestBatchSagaControllerTest.java b/api/src/test/java/ca/bc/gov/educ/penreg/api/controller/v1/PenRequestBatchSagaControllerTest.java index 7be86713..9aff62b1 100644 --- a/api/src/test/java/ca/bc/gov/educ/penreg/api/controller/v1/PenRequestBatchSagaControllerTest.java +++ b/api/src/test/java/ca/bc/gov/educ/penreg/api/controller/v1/PenRequestBatchSagaControllerTest.java @@ -1,5 +1,21 @@ package ca.bc.gov.educ.penreg.api.controller.v1; +import static ca.bc.gov.educ.penreg.api.constants.SagaEnum.PEN_REQUEST_BATCH_NEW_PEN_PROCESSING_SAGA; +import static ca.bc.gov.educ.penreg.api.constants.SagaEnum.PEN_REQUEST_BATCH_REPOST_REPORTS_SAGA; +import static ca.bc.gov.educ.penreg.api.constants.SagaEnum.PEN_REQUEST_BATCH_USER_MATCH_PROCESSING_SAGA; +import static ca.bc.gov.educ.penreg.api.struct.v1.Condition.AND; +import static org.hamcrest.Matchers.hasSize; +import static org.hamcrest.Matchers.is; +import static org.springframework.http.MediaType.APPLICATION_JSON; +import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.jwt; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.asyncDispatch; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.put; +import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; + import ca.bc.gov.educ.penreg.api.BasePenRegAPITest; import ca.bc.gov.educ.penreg.api.filter.FilterOperation; import ca.bc.gov.educ.penreg.api.mappers.v1.SagaMapper; @@ -16,6 +32,10 @@ import ca.bc.gov.educ.penreg.api.util.JsonUtil; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; +import java.io.File; +import java.time.LocalDateTime; +import java.util.*; +import java.util.stream.Collectors; import lombok.val; import org.junit.Before; import org.junit.Test; @@ -25,22 +45,6 @@ import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.MvcResult; -import java.io.File; -import java.time.LocalDateTime; -import java.util.*; -import java.util.stream.Collectors; - -import static ca.bc.gov.educ.penreg.api.constants.SagaEnum.*; -import static ca.bc.gov.educ.penreg.api.struct.v1.Condition.AND; -import static org.hamcrest.Matchers.hasSize; -import static org.hamcrest.Matchers.is; -import static org.springframework.http.MediaType.APPLICATION_JSON; -import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.jwt; -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*; -import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print; -import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath; -import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; - /** * The type Pen request batch saga controller test. */ diff --git a/api/src/test/java/ca/bc/gov/educ/penreg/api/controller/v1/PenRequestBatchStudentInfoRequestMacroControllerTest.java b/api/src/test/java/ca/bc/gov/educ/penreg/api/controller/v1/PenRequestBatchStudentInfoRequestMacroControllerTest.java index 10357b4e..052ef76a 100644 --- a/api/src/test/java/ca/bc/gov/educ/penreg/api/controller/v1/PenRequestBatchStudentInfoRequestMacroControllerTest.java +++ b/api/src/test/java/ca/bc/gov/educ/penreg/api/controller/v1/PenRequestBatchStudentInfoRequestMacroControllerTest.java @@ -1,11 +1,21 @@ package ca.bc.gov.educ.penreg.api.controller.v1; +import static org.assertj.core.api.Assertions.assertThat; +import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.jwt; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.put; +import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; + import ca.bc.gov.educ.penreg.api.BasePenRegAPITest; import ca.bc.gov.educ.penreg.api.mappers.v1.PenRequestBatchStudentInfoRequestMacroMapper; import ca.bc.gov.educ.penreg.api.repository.PenRequestBatchStudentInfoRequestMacroRepository; import ca.bc.gov.educ.penreg.api.service.PenRequestBatchStudentInfoRequestMacroService; import ca.bc.gov.educ.penreg.api.struct.v1.PenRequestBatchStudentInfoRequestMacro; import com.fasterxml.jackson.databind.ObjectMapper; +import java.time.LocalDateTime; +import java.util.UUID; import lombok.val; import org.junit.Before; import org.junit.Test; @@ -15,15 +25,6 @@ import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.result.MockMvcResultMatchers; -import java.time.LocalDateTime; -import java.util.UUID; - -import static org.assertj.core.api.Assertions.assertThat; -import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.jwt; -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*; -import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print; -import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; - /** * The type Pen request batch api controller test. */ diff --git a/api/src/test/java/ca/bc/gov/educ/penreg/api/health/PenRegBatchAPICustomHealthCheckTest.java b/api/src/test/java/ca/bc/gov/educ/penreg/api/health/PenRegBatchAPICustomHealthCheckTest.java index cebc5c16..7d1ae59b 100644 --- a/api/src/test/java/ca/bc/gov/educ/penreg/api/health/PenRegBatchAPICustomHealthCheckTest.java +++ b/api/src/test/java/ca/bc/gov/educ/penreg/api/health/PenRegBatchAPICustomHealthCheckTest.java @@ -1,6 +1,12 @@ package ca.bc.gov.educ.penreg.api.health; +import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.Mockito.when; + import io.nats.client.Connection; +import java.util.Collection; +import java.util.Collections; +import java.util.concurrent.TimeUnit; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; @@ -17,13 +23,6 @@ import org.springframework.test.context.ActiveProfiles; import org.springframework.test.context.junit4.SpringRunner; -import java.util.Collection; -import java.util.Collections; -import java.util.concurrent.TimeUnit; - -import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Mockito.when; - @SpringBootTest @ActiveProfiles("test") @RunWith(SpringRunner.class) diff --git a/api/src/test/java/ca/bc/gov/educ/penreg/api/helpers/PenRegBatchHelperTest.java b/api/src/test/java/ca/bc/gov/educ/penreg/api/helpers/PenRegBatchHelperTest.java index 60cc4473..8307b8b3 100644 --- a/api/src/test/java/ca/bc/gov/educ/penreg/api/helpers/PenRegBatchHelperTest.java +++ b/api/src/test/java/ca/bc/gov/educ/penreg/api/helpers/PenRegBatchHelperTest.java @@ -1,13 +1,13 @@ package ca.bc.gov.educ.penreg.api.helpers; +import static org.assertj.core.api.Assertions.assertThat; + import ca.bc.gov.educ.penreg.api.struct.Student; import ca.bc.gov.educ.penreg.api.struct.v1.PenRequestBatchStudent; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.test.context.junit4.SpringRunner; -import static org.assertj.core.api.Assertions.assertThat; - @RunWith(SpringRunner.class) public class PenRegBatchHelperTest { diff --git a/api/src/test/java/ca/bc/gov/educ/penreg/api/mapper/v1/PenRequestBatchFileMapperTest.java b/api/src/test/java/ca/bc/gov/educ/penreg/api/mapper/v1/PenRequestBatchFileMapperTest.java index c60d1f7f..8ffa8011 100644 --- a/api/src/test/java/ca/bc/gov/educ/penreg/api/mapper/v1/PenRequestBatchFileMapperTest.java +++ b/api/src/test/java/ca/bc/gov/educ/penreg/api/mapper/v1/PenRequestBatchFileMapperTest.java @@ -1,14 +1,13 @@ package ca.bc.gov.educ.penreg.api.mapper.v1; +import static org.assertj.core.api.Assertions.assertThat; + import ca.bc.gov.educ.penreg.api.BasePenRegAPITest; import ca.bc.gov.educ.penreg.api.batch.mappers.PenRequestBatchFileMapper; import ca.bc.gov.educ.penreg.api.batch.struct.StudentDetails; import ca.bc.gov.educ.penreg.api.model.v1.PenRequestBatchEntity; -import org.junit.Test; - import java.io.IOException; - -import static org.assertj.core.api.Assertions.assertThat; +import org.junit.Test; public class PenRequestBatchFileMapperTest extends BasePenRegAPITest { diff --git a/api/src/test/java/ca/bc/gov/educ/penreg/api/mapper/v1/PenRequestBatchReportDataMapperTest.java b/api/src/test/java/ca/bc/gov/educ/penreg/api/mapper/v1/PenRequestBatchReportDataMapperTest.java index 7c3d384a..82ced788 100644 --- a/api/src/test/java/ca/bc/gov/educ/penreg/api/mapper/v1/PenRequestBatchReportDataMapperTest.java +++ b/api/src/test/java/ca/bc/gov/educ/penreg/api/mapper/v1/PenRequestBatchReportDataMapperTest.java @@ -1,5 +1,7 @@ package ca.bc.gov.educ.penreg.api.mapper.v1; +import static org.assertj.core.api.Assertions.assertThat; + import ca.bc.gov.educ.penreg.api.BasePenRegAPITest; import ca.bc.gov.educ.penreg.api.mappers.v1.PenRequestBatchMapper; import ca.bc.gov.educ.penreg.api.mappers.v1.PenRequestBatchReportDataMapper; @@ -10,17 +12,14 @@ import ca.bc.gov.educ.penreg.api.struct.v1.PenRequestBatchArchiveAndReturnSagaData; import ca.bc.gov.educ.penreg.api.struct.v1.reportstructs.PenRequestBatchReportData; import ca.bc.gov.educ.penreg.api.support.PenRequestBatchTestUtils; -import org.junit.Test; -import org.springframework.beans.factory.annotation.Autowired; - import java.io.IOException; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.stream.Collectors; - -import static org.assertj.core.api.Assertions.assertThat; +import org.junit.Test; +import org.springframework.beans.factory.annotation.Autowired; public class PenRequestBatchReportDataMapperTest extends BasePenRegAPITest { diff --git a/api/src/test/java/ca/bc/gov/educ/penreg/api/mapper/v1/StudentMapperTest.java b/api/src/test/java/ca/bc/gov/educ/penreg/api/mapper/v1/StudentMapperTest.java index 43ba5dd1..606d4bf2 100644 --- a/api/src/test/java/ca/bc/gov/educ/penreg/api/mapper/v1/StudentMapperTest.java +++ b/api/src/test/java/ca/bc/gov/educ/penreg/api/mapper/v1/StudentMapperTest.java @@ -1,14 +1,13 @@ package ca.bc.gov.educ.penreg.api.mapper.v1; +import static org.assertj.core.api.Assertions.assertThat; + import ca.bc.gov.educ.penreg.api.BasePenRegAPITest; import ca.bc.gov.educ.penreg.api.mappers.StudentMapper; import ca.bc.gov.educ.penreg.api.struct.BasePenRequestBatchStudentSagaData; -import org.junit.Test; - import java.io.IOException; import java.util.UUID; - -import static org.assertj.core.api.Assertions.assertThat; +import org.junit.Test; public class StudentMapperTest extends BasePenRegAPITest { diff --git a/api/src/test/java/ca/bc/gov/educ/penreg/api/orchestrator/BaseOrchestratorTest.java b/api/src/test/java/ca/bc/gov/educ/penreg/api/orchestrator/BaseOrchestratorTest.java index babfa4fa..927d1a53 100644 --- a/api/src/test/java/ca/bc/gov/educ/penreg/api/orchestrator/BaseOrchestratorTest.java +++ b/api/src/test/java/ca/bc/gov/educ/penreg/api/orchestrator/BaseOrchestratorTest.java @@ -3,7 +3,6 @@ import ca.bc.gov.educ.penreg.api.BasePenRegAPITest; import ca.bc.gov.educ.penreg.api.struct.PenRequestBatchUserActionsSagaData; import ca.bc.gov.educ.penreg.api.util.JsonUtil; - import java.util.UUID; public abstract class BaseOrchestratorTest extends BasePenRegAPITest { diff --git a/api/src/test/java/ca/bc/gov/educ/penreg/api/orchestrator/PenReqBatchNewPenOrchestratorTest.java b/api/src/test/java/ca/bc/gov/educ/penreg/api/orchestrator/PenReqBatchNewPenOrchestratorTest.java index d908cc90..a3f80af0 100644 --- a/api/src/test/java/ca/bc/gov/educ/penreg/api/orchestrator/PenReqBatchNewPenOrchestratorTest.java +++ b/api/src/test/java/ca/bc/gov/educ/penreg/api/orchestrator/PenReqBatchNewPenOrchestratorTest.java @@ -1,5 +1,22 @@ package ca.bc.gov.educ.penreg.api.orchestrator; +import static ca.bc.gov.educ.penreg.api.constants.EventOutcome.STUDENT_ALREADY_EXIST; +import static ca.bc.gov.educ.penreg.api.constants.EventOutcome.STUDENT_CREATED; +import static ca.bc.gov.educ.penreg.api.constants.EventType.ADD_POSSIBLE_MATCH; +import static ca.bc.gov.educ.penreg.api.constants.EventType.CREATE_STUDENT; +import static ca.bc.gov.educ.penreg.api.constants.EventType.GET_NEXT_PEN_NUMBER; +import static ca.bc.gov.educ.penreg.api.constants.EventType.UPDATE_PEN_REQUEST_BATCH_STUDENT; +import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStudentStatusCodes.USR_NEW_PEN; +import static ca.bc.gov.educ.penreg.api.constants.SagaEnum.PEN_REQUEST_BATCH_NEW_PEN_PROCESSING_SAGA; +import static ca.bc.gov.educ.penreg.api.constants.SagaTopicsEnum.PEN_REQUEST_BATCH_API_TOPIC; +import static ca.bc.gov.educ.penreg.api.constants.SagaTopicsEnum.PEN_SERVICES_API_TOPIC; +import static ca.bc.gov.educ.penreg.api.constants.SagaTopicsEnum.STUDENT_API_TOPIC; +import static org.assertj.core.api.Assertions.assertThat; +import static org.junit.Assert.assertThrows; +import static org.mockito.Mockito.atMostOnce; +import static org.mockito.Mockito.eq; +import static org.mockito.Mockito.verify; + import ca.bc.gov.educ.penreg.api.constants.EventOutcome; import ca.bc.gov.educ.penreg.api.constants.EventType; import ca.bc.gov.educ.penreg.api.exception.PenRegAPIRuntimeException; @@ -17,6 +34,8 @@ import ca.bc.gov.educ.penreg.api.util.JsonUtil; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; +import java.time.LocalDateTime; +import java.util.UUID; import org.junit.Before; import org.junit.Test; import org.mockito.ArgumentCaptor; @@ -25,19 +44,6 @@ import org.mockito.MockitoAnnotations; import org.springframework.beans.factory.annotation.Autowired; -import java.time.LocalDateTime; -import java.util.UUID; - -import static ca.bc.gov.educ.penreg.api.constants.EventOutcome.STUDENT_ALREADY_EXIST; -import static ca.bc.gov.educ.penreg.api.constants.EventOutcome.STUDENT_CREATED; -import static ca.bc.gov.educ.penreg.api.constants.EventType.*; -import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStudentStatusCodes.USR_NEW_PEN; -import static ca.bc.gov.educ.penreg.api.constants.SagaEnum.PEN_REQUEST_BATCH_NEW_PEN_PROCESSING_SAGA; -import static ca.bc.gov.educ.penreg.api.constants.SagaTopicsEnum.*; -import static org.assertj.core.api.Assertions.assertThat; -import static org.junit.Assert.assertThrows; -import static org.mockito.Mockito.*; - /** * The type Message publisher test. */ diff --git a/api/src/test/java/ca/bc/gov/educ/penreg/api/orchestrator/PenReqBatchStudentOrchestratorTest.java b/api/src/test/java/ca/bc/gov/educ/penreg/api/orchestrator/PenReqBatchStudentOrchestratorTest.java index 8910b34a..527db4f9 100644 --- a/api/src/test/java/ca/bc/gov/educ/penreg/api/orchestrator/PenReqBatchStudentOrchestratorTest.java +++ b/api/src/test/java/ca/bc/gov/educ/penreg/api/orchestrator/PenReqBatchStudentOrchestratorTest.java @@ -1,5 +1,23 @@ package ca.bc.gov.educ.penreg.api.orchestrator; +import static ca.bc.gov.educ.penreg.api.constants.EventType.PROCESS_PEN_MATCH; +import static ca.bc.gov.educ.penreg.api.constants.EventType.VALIDATE_STUDENT_DEMOGRAPHICS; +import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStatusCodes.LOADED; +import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStudentStatusCodes.FIXABLE; +import static ca.bc.gov.educ.penreg.api.constants.SagaEnum.PEN_REQUEST_BATCH_STUDENT_PROCESSING_SAGA; +import static ca.bc.gov.educ.penreg.api.constants.SagaStatusEnum.COMPLETED; +import static ca.bc.gov.educ.penreg.api.constants.SagaTopicsEnum.PEN_MATCH_API_TOPIC; +import static ca.bc.gov.educ.penreg.api.constants.SagaTopicsEnum.PEN_SERVICES_API_TOPIC; +import static ca.bc.gov.educ.penreg.api.constants.StudentHistoryActivityCode.REQ_MATCH; +import static ca.bc.gov.educ.penreg.api.constants.StudentHistoryActivityCode.REQ_NEW; +import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.Mockito.atMost; +import static org.mockito.Mockito.doNothing; +import static org.mockito.Mockito.mockingDetails; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; + import ca.bc.gov.educ.penreg.api.constants.EventOutcome; import ca.bc.gov.educ.penreg.api.constants.EventType; import ca.bc.gov.educ.penreg.api.constants.PenRequestBatchProcessTypeCodes; @@ -14,18 +32,12 @@ import ca.bc.gov.educ.penreg.api.repository.SagaRepository; import ca.bc.gov.educ.penreg.api.rest.RestUtils; import ca.bc.gov.educ.penreg.api.service.SagaService; -import ca.bc.gov.educ.penreg.api.struct.*; +import ca.bc.gov.educ.penreg.api.struct.Event; +import ca.bc.gov.educ.penreg.api.struct.PenMatchRecord; +import ca.bc.gov.educ.penreg.api.struct.PenMatchResult; +import ca.bc.gov.educ.penreg.api.struct.PenRequestBatchStudentSagaData; +import ca.bc.gov.educ.penreg.api.struct.Student; import ca.bc.gov.educ.penreg.api.util.JsonUtil; -import com.fasterxml.jackson.core.JsonProcessingException; -import lombok.val; -import org.junit.Before; -import org.junit.Test; -import org.mockito.ArgumentCaptor; -import org.mockito.Captor; -import org.mockito.MockitoAnnotations; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.client.RestTemplate; - import java.io.IOException; import java.time.LocalDateTime; import java.util.ArrayList; @@ -33,20 +45,13 @@ import java.util.Optional; import java.util.UUID; import java.util.concurrent.TimeoutException; - -import static ca.bc.gov.educ.penreg.api.constants.EventType.PROCESS_PEN_MATCH; -import static ca.bc.gov.educ.penreg.api.constants.EventType.VALIDATE_STUDENT_DEMOGRAPHICS; -import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStatusCodes.LOADED; -import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStudentStatusCodes.FIXABLE; -import static ca.bc.gov.educ.penreg.api.constants.SagaEnum.PEN_REQUEST_BATCH_STUDENT_PROCESSING_SAGA; -import static ca.bc.gov.educ.penreg.api.constants.SagaStatusEnum.COMPLETED; -import static ca.bc.gov.educ.penreg.api.constants.SagaTopicsEnum.PEN_MATCH_API_TOPIC; -import static ca.bc.gov.educ.penreg.api.constants.SagaTopicsEnum.PEN_SERVICES_API_TOPIC; -import static ca.bc.gov.educ.penreg.api.constants.StudentHistoryActivityCode.REQ_MATCH; -import static ca.bc.gov.educ.penreg.api.constants.StudentHistoryActivityCode.REQ_NEW; -import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.ArgumentMatchers.eq; -import static org.mockito.Mockito.*; +import org.junit.Before; +import org.junit.Test; +import org.mockito.ArgumentCaptor; +import org.mockito.Captor; +import org.mockito.MockitoAnnotations; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.client.RestTemplate; public class PenReqBatchStudentOrchestratorTest extends BaseOrchestratorTest { /** diff --git a/api/src/test/java/ca/bc/gov/educ/penreg/api/orchestrator/PenReqBatchUserMatchOrchestratorTest.java b/api/src/test/java/ca/bc/gov/educ/penreg/api/orchestrator/PenReqBatchUserMatchOrchestratorTest.java index 8130a90a..8fbb4546 100644 --- a/api/src/test/java/ca/bc/gov/educ/penreg/api/orchestrator/PenReqBatchUserMatchOrchestratorTest.java +++ b/api/src/test/java/ca/bc/gov/educ/penreg/api/orchestrator/PenReqBatchUserMatchOrchestratorTest.java @@ -1,5 +1,21 @@ package ca.bc.gov.educ.penreg.api.orchestrator; +import static ca.bc.gov.educ.penreg.api.constants.EventType.ADD_POSSIBLE_MATCH; +import static ca.bc.gov.educ.penreg.api.constants.EventType.GET_STUDENT; +import static ca.bc.gov.educ.penreg.api.constants.EventType.UPDATE_PEN_REQUEST_BATCH_STUDENT; +import static ca.bc.gov.educ.penreg.api.constants.EventType.UPDATE_STUDENT; +import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStudentStatusCodes.USR_MATCHED; +import static ca.bc.gov.educ.penreg.api.constants.SagaEnum.PEN_REQUEST_BATCH_USER_MATCH_PROCESSING_SAGA; +import static ca.bc.gov.educ.penreg.api.constants.SagaTopicsEnum.PEN_MATCH_API_TOPIC; +import static ca.bc.gov.educ.penreg.api.constants.SagaTopicsEnum.PEN_REQUEST_BATCH_API_TOPIC; +import static ca.bc.gov.educ.penreg.api.constants.SagaTopicsEnum.STUDENT_API_TOPIC; +import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.Mockito.atMost; +import static org.mockito.Mockito.mockingDetails; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; + import ca.bc.gov.educ.penreg.api.constants.EventOutcome; import ca.bc.gov.educ.penreg.api.constants.EventType; import ca.bc.gov.educ.penreg.api.constants.TwinReasonCodes; @@ -19,27 +35,18 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; -import org.junit.Before; -import org.junit.Test; -import org.mockito.ArgumentCaptor; -import org.mockito.Captor; -import org.mockito.MockitoAnnotations; -import org.springframework.beans.factory.annotation.Autowired; - import java.io.IOException; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List; import java.util.UUID; import java.util.concurrent.TimeoutException; - -import static ca.bc.gov.educ.penreg.api.constants.EventType.*; -import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStudentStatusCodes.USR_MATCHED; -import static ca.bc.gov.educ.penreg.api.constants.SagaEnum.PEN_REQUEST_BATCH_USER_MATCH_PROCESSING_SAGA; -import static ca.bc.gov.educ.penreg.api.constants.SagaTopicsEnum.*; -import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.ArgumentMatchers.eq; -import static org.mockito.Mockito.*; +import org.junit.Before; +import org.junit.Test; +import org.mockito.ArgumentCaptor; +import org.mockito.Captor; +import org.mockito.MockitoAnnotations; +import org.springframework.beans.factory.annotation.Autowired; public class PenReqBatchUserMatchOrchestratorTest extends BaseOrchestratorTest { diff --git a/api/src/test/java/ca/bc/gov/educ/penreg/api/orchestrator/PenReqBatchUserUnmatchOrchestratorTest.java b/api/src/test/java/ca/bc/gov/educ/penreg/api/orchestrator/PenReqBatchUserUnmatchOrchestratorTest.java index e332f503..85a674f0 100644 --- a/api/src/test/java/ca/bc/gov/educ/penreg/api/orchestrator/PenReqBatchUserUnmatchOrchestratorTest.java +++ b/api/src/test/java/ca/bc/gov/educ/penreg/api/orchestrator/PenReqBatchUserUnmatchOrchestratorTest.java @@ -1,6 +1,28 @@ package ca.bc.gov.educ.penreg.api.orchestrator; -import ca.bc.gov.educ.penreg.api.compare.auditHistoryComparator; +import static ca.bc.gov.educ.penreg.api.constants.EventOutcome.STUDENT_HISTORY_FOUND; +import static ca.bc.gov.educ.penreg.api.constants.EventOutcome.STUDENT_UPDATED; +import static ca.bc.gov.educ.penreg.api.constants.EventType.DELETE_POSSIBLE_MATCH; +import static ca.bc.gov.educ.penreg.api.constants.EventType.GET_STUDENT_HISTORY; +import static ca.bc.gov.educ.penreg.api.constants.EventType.INITIATED; +import static ca.bc.gov.educ.penreg.api.constants.EventType.UPDATE_PEN_REQUEST_BATCH_STUDENT; +import static ca.bc.gov.educ.penreg.api.constants.EventType.UPDATE_STUDENT; +import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStudentStatusCodes.FIXABLE; +import static ca.bc.gov.educ.penreg.api.constants.SagaEnum.PEN_REQUEST_BATCH_USER_UNMATCH_PROCESSING_SAGA; +import static ca.bc.gov.educ.penreg.api.constants.SagaTopicsEnum.PEN_MATCH_API_TOPIC; +import static ca.bc.gov.educ.penreg.api.constants.SagaTopicsEnum.PEN_REQUEST_BATCH_API_TOPIC; +import static ca.bc.gov.educ.penreg.api.constants.SagaTopicsEnum.STUDENT_API_TOPIC; +import static ca.bc.gov.educ.penreg.api.constants.StudentHistoryActivityCode.REQ_MATCH; +import static ca.bc.gov.educ.penreg.api.constants.StudentHistoryActivityCode.REQ_NEW; +import static ca.bc.gov.educ.penreg.api.constants.StudentHistoryActivityCode.REQ_UNMATCH; +import static ca.bc.gov.educ.penreg.api.constants.StudentHistoryActivityCode.USER_NEW; +import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.Mockito.atMost; +import static org.mockito.Mockito.mockingDetails; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; + import ca.bc.gov.educ.penreg.api.constants.EventOutcome; import ca.bc.gov.educ.penreg.api.messaging.MessagePublisher; import ca.bc.gov.educ.penreg.api.model.v1.Saga; @@ -18,8 +40,12 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; +import java.io.IOException; import java.util.ArrayList; -import java.util.Collections; +import java.util.List; +import java.util.Optional; +import java.util.UUID; +import java.util.concurrent.TimeoutException; import org.junit.Before; import org.junit.Test; import org.mockito.ArgumentCaptor; @@ -27,25 +53,6 @@ import org.mockito.MockitoAnnotations; import org.springframework.beans.factory.annotation.Autowired; -import java.io.IOException; -import java.util.List; -import java.util.Optional; -import java.util.UUID; -import java.util.concurrent.TimeoutException; - -import static ca.bc.gov.educ.penreg.api.constants.EventOutcome.STUDENT_HISTORY_FOUND; -import static ca.bc.gov.educ.penreg.api.constants.EventOutcome.STUDENT_UPDATED; -import static ca.bc.gov.educ.penreg.api.constants.EventType.*; -import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStudentStatusCodes.FIXABLE; -import static ca.bc.gov.educ.penreg.api.constants.SagaEnum.PEN_REQUEST_BATCH_USER_UNMATCH_PROCESSING_SAGA; -import static ca.bc.gov.educ.penreg.api.constants.SagaTopicsEnum.PEN_MATCH_API_TOPIC; -import static ca.bc.gov.educ.penreg.api.constants.SagaTopicsEnum.PEN_REQUEST_BATCH_API_TOPIC; -import static ca.bc.gov.educ.penreg.api.constants.SagaTopicsEnum.STUDENT_API_TOPIC; -import static ca.bc.gov.educ.penreg.api.constants.StudentHistoryActivityCode.*; -import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.ArgumentMatchers.eq; -import static org.mockito.Mockito.*; - public class PenReqBatchUserUnmatchOrchestratorTest extends BaseOrchestratorTest { diff --git a/api/src/test/java/ca/bc/gov/educ/penreg/api/orchestrator/PenRequestBatchArchiveAndReturnOrchestratorTest.java b/api/src/test/java/ca/bc/gov/educ/penreg/api/orchestrator/PenRequestBatchArchiveAndReturnOrchestratorTest.java index 6e860d9b..fccadcce 100644 --- a/api/src/test/java/ca/bc/gov/educ/penreg/api/orchestrator/PenRequestBatchArchiveAndReturnOrchestratorTest.java +++ b/api/src/test/java/ca/bc/gov/educ/penreg/api/orchestrator/PenRequestBatchArchiveAndReturnOrchestratorTest.java @@ -1,6 +1,26 @@ package ca.bc.gov.educ.penreg.api.orchestrator; -import ca.bc.gov.educ.penreg.api.constants.*; +import static ca.bc.gov.educ.penreg.api.constants.EventType.ARCHIVE_PEN_REQUEST_BATCH; +import static ca.bc.gov.educ.penreg.api.constants.EventType.GATHER_REPORT_DATA; +import static ca.bc.gov.educ.penreg.api.constants.EventType.GENERATE_PEN_REQUEST_BATCH_REPORTS; +import static ca.bc.gov.educ.penreg.api.constants.EventType.GET_STUDENTS; +import static ca.bc.gov.educ.penreg.api.constants.EventType.INITIATED; +import static ca.bc.gov.educ.penreg.api.constants.EventType.NOTIFY_PEN_REQUEST_BATCH_ARCHIVE_HAS_CONTACT; +import static ca.bc.gov.educ.penreg.api.constants.EventType.NOTIFY_PEN_REQUEST_BATCH_ARCHIVE_HAS_NO_SCHOOL_CONTACT; +import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStatusCodes.LOADED; +import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.Mockito.anyString; +import static org.mockito.Mockito.atMost; +import static org.mockito.Mockito.mockingDetails; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; + +import ca.bc.gov.educ.penreg.api.constants.EventOutcome; +import ca.bc.gov.educ.penreg.api.constants.EventType; +import ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStudentStatusCodes; +import ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStudentValidationFieldCode; +import ca.bc.gov.educ.penreg.api.constants.SagaTopicsEnum; import ca.bc.gov.educ.penreg.api.mappers.v1.PenRequestBatchMapper; import ca.bc.gov.educ.penreg.api.mappers.v1.PenRequestBatchStudentMapper; import ca.bc.gov.educ.penreg.api.messaging.MessagePublisher; @@ -23,14 +43,6 @@ import ca.bc.gov.educ.penreg.api.util.JsonUtil; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; -import org.junit.Before; -import org.junit.Test; -import org.mockito.ArgumentCaptor; -import org.mockito.Captor; -import org.mockito.MockitoAnnotations; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.client.RestTemplate; - import java.io.File; import java.io.IOException; import java.util.Base64; @@ -39,12 +51,13 @@ import java.util.Optional; import java.util.concurrent.TimeoutException; import java.util.stream.Collectors; - -import static ca.bc.gov.educ.penreg.api.constants.EventType.*; -import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStatusCodes.LOADED; -import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.ArgumentMatchers.eq; -import static org.mockito.Mockito.*; +import org.junit.Before; +import org.junit.Test; +import org.mockito.ArgumentCaptor; +import org.mockito.Captor; +import org.mockito.MockitoAnnotations; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.client.RestTemplate; public class PenRequestBatchArchiveAndReturnOrchestratorTest extends BaseOrchestratorTest { /** diff --git a/api/src/test/java/ca/bc/gov/educ/penreg/api/orchestrator/PenRequestBatchRepostReportsOrchestratorTest.java b/api/src/test/java/ca/bc/gov/educ/penreg/api/orchestrator/PenRequestBatchRepostReportsOrchestratorTest.java index c7d7349b..bb8041f6 100644 --- a/api/src/test/java/ca/bc/gov/educ/penreg/api/orchestrator/PenRequestBatchRepostReportsOrchestratorTest.java +++ b/api/src/test/java/ca/bc/gov/educ/penreg/api/orchestrator/PenRequestBatchRepostReportsOrchestratorTest.java @@ -1,5 +1,16 @@ package ca.bc.gov.educ.penreg.api.orchestrator; +import static ca.bc.gov.educ.penreg.api.constants.EventType.GENERATE_PEN_REQUEST_BATCH_REPORTS; +import static ca.bc.gov.educ.penreg.api.constants.EventType.GET_STUDENTS; +import static ca.bc.gov.educ.penreg.api.constants.EventType.NOTIFY_PEN_REQUEST_BATCH_ARCHIVE_HAS_CONTACT; +import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStatusCodes.LOADED; +import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.Mockito.atMost; +import static org.mockito.Mockito.mockingDetails; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; + import ca.bc.gov.educ.penreg.api.constants.EventOutcome; import ca.bc.gov.educ.penreg.api.constants.EventType; import ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStudentStatusCodes; @@ -23,14 +34,6 @@ import ca.bc.gov.educ.penreg.api.util.JsonUtil; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; -import org.junit.Before; -import org.junit.Test; -import org.mockito.ArgumentCaptor; -import org.mockito.Captor; -import org.mockito.MockitoAnnotations; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.client.RestTemplate; - import java.io.File; import java.io.IOException; import java.util.Base64; @@ -39,12 +42,13 @@ import java.util.Optional; import java.util.concurrent.TimeoutException; import java.util.stream.Collectors; - -import static ca.bc.gov.educ.penreg.api.constants.EventType.*; -import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStatusCodes.LOADED; -import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.ArgumentMatchers.eq; -import static org.mockito.Mockito.*; +import org.junit.Before; +import org.junit.Test; +import org.mockito.ArgumentCaptor; +import org.mockito.Captor; +import org.mockito.MockitoAnnotations; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.client.RestTemplate; public class PenRequestBatchRepostReportsOrchestratorTest extends BaseOrchestratorTest { /** diff --git a/api/src/test/java/ca/bc/gov/educ/penreg/api/rest/RestUtilsTest.java b/api/src/test/java/ca/bc/gov/educ/penreg/api/rest/RestUtilsTest.java index cf6deae0..d28bd6a2 100644 --- a/api/src/test/java/ca/bc/gov/educ/penreg/api/rest/RestUtilsTest.java +++ b/api/src/test/java/ca/bc/gov/educ/penreg/api/rest/RestUtilsTest.java @@ -1,5 +1,17 @@ package ca.bc.gov.educ.penreg.api.rest; +import static ca.bc.gov.educ.penreg.api.constants.EventOutcome.NEXT_PEN_NUMBER_RETRIEVED; +import static ca.bc.gov.educ.penreg.api.constants.SagaTopicsEnum.PEN_SERVICES_API_TOPIC; +import static ca.bc.gov.educ.penreg.api.constants.SagaTopicsEnum.STUDENT_API_TOPIC; +import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.Mockito.atMost; +import static org.mockito.Mockito.mockingDetails; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; +import static org.mockito.MockitoAnnotations.openMocks; + import ca.bc.gov.educ.penreg.api.constants.EventType; import ca.bc.gov.educ.penreg.api.messaging.MessagePublisher; import ca.bc.gov.educ.penreg.api.properties.ApplicationProperties; @@ -11,6 +23,9 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import io.nats.client.Message; +import java.util.UUID; +import java.util.concurrent.CompletableFuture; +import java.util.function.Function; import lombok.val; import org.junit.Before; import org.junit.Test; @@ -24,19 +39,6 @@ import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; -import java.util.UUID; -import java.util.concurrent.CompletableFuture; -import java.util.function.Function; - -import static ca.bc.gov.educ.penreg.api.constants.EventOutcome.NEXT_PEN_NUMBER_RETRIEVED; -import static ca.bc.gov.educ.penreg.api.constants.SagaTopicsEnum.PEN_SERVICES_API_TOPIC; -import static ca.bc.gov.educ.penreg.api.constants.SagaTopicsEnum.STUDENT_API_TOPIC; -import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.ArgumentMatchers.eq; -import static org.mockito.Mockito.*; -import static org.mockito.MockitoAnnotations.openMocks; - @RunWith(SpringRunner.class) @SpringBootTest @ActiveProfiles("testWebclient") diff --git a/api/src/test/java/ca/bc/gov/educ/penreg/api/schedulers/PurgeOldSagaRecordsSchedulerTest.java b/api/src/test/java/ca/bc/gov/educ/penreg/api/schedulers/PurgeOldSagaRecordsSchedulerTest.java index 2144e422..0b4ea853 100644 --- a/api/src/test/java/ca/bc/gov/educ/penreg/api/schedulers/PurgeOldSagaRecordsSchedulerTest.java +++ b/api/src/test/java/ca/bc/gov/educ/penreg/api/schedulers/PurgeOldSagaRecordsSchedulerTest.java @@ -1,5 +1,8 @@ package ca.bc.gov.educ.penreg.api.schedulers; +import static ca.bc.gov.educ.penreg.api.constants.SagaStatusEnum.COMPLETED; +import static org.assertj.core.api.Assertions.assertThat; + import ca.bc.gov.educ.penreg.api.BasePenRegAPITest; import ca.bc.gov.educ.penreg.api.constants.EventStatus; import ca.bc.gov.educ.penreg.api.model.v1.PenRequestBatchEvent; @@ -8,16 +11,11 @@ import ca.bc.gov.educ.penreg.api.repository.PenRequestBatchEventRepository; import ca.bc.gov.educ.penreg.api.repository.SagaEventRepository; import ca.bc.gov.educ.penreg.api.repository.SagaRepository; -import org.junit.After; +import java.time.LocalDateTime; import org.junit.Before; import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; -import java.time.LocalDateTime; - -import static ca.bc.gov.educ.penreg.api.constants.SagaStatusEnum.COMPLETED; -import static org.assertj.core.api.Assertions.assertThat; - public class PurgeOldSagaRecordsSchedulerTest extends BasePenRegAPITest { @Autowired diff --git a/api/src/test/java/ca/bc/gov/educ/penreg/api/schedulers/PurgeSoftDeletedBatchRecordsSchedulerTest.java b/api/src/test/java/ca/bc/gov/educ/penreg/api/schedulers/PurgeSoftDeletedBatchRecordsSchedulerTest.java index 7d494a03..cffc6139 100644 --- a/api/src/test/java/ca/bc/gov/educ/penreg/api/schedulers/PurgeSoftDeletedBatchRecordsSchedulerTest.java +++ b/api/src/test/java/ca/bc/gov/educ/penreg/api/schedulers/PurgeSoftDeletedBatchRecordsSchedulerTest.java @@ -1,5 +1,7 @@ package ca.bc.gov.educ.penreg.api.schedulers; +import static org.assertj.core.api.Assertions.assertThat; + import ca.bc.gov.educ.penreg.api.BasePenRegAPITest; import ca.bc.gov.educ.penreg.api.constants.PenRequestBatchEventCodes; import ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStatusCodes; @@ -10,14 +12,11 @@ import ca.bc.gov.educ.penreg.api.repository.PenRequestBatchRepository; import ca.bc.gov.educ.penreg.api.repository.PenRequestBatchStudentRepository; import ca.bc.gov.educ.penreg.api.support.PenRequestBatchTestUtils; -import org.junit.Test; -import org.springframework.beans.factory.annotation.Autowired; - import java.io.IOException; import java.time.LocalDateTime; import java.util.List; - -import static org.assertj.core.api.Assertions.assertThat; +import org.junit.Test; +import org.springframework.beans.factory.annotation.Autowired; public class PurgeSoftDeletedBatchRecordsSchedulerTest extends BasePenRegAPITest { diff --git a/api/src/test/java/ca/bc/gov/educ/penreg/api/service/EventHandlerServiceTest.java b/api/src/test/java/ca/bc/gov/educ/penreg/api/service/EventHandlerServiceTest.java index 7a5a7e7b..73cd2b7e 100644 --- a/api/src/test/java/ca/bc/gov/educ/penreg/api/service/EventHandlerServiceTest.java +++ b/api/src/test/java/ca/bc/gov/educ/penreg/api/service/EventHandlerServiceTest.java @@ -1,5 +1,27 @@ package ca.bc.gov.educ.penreg.api.service; +import static ca.bc.gov.educ.penreg.api.constants.EventOutcome.PEN_REQUEST_BATCH_STUDENT_UPDATED; +import static ca.bc.gov.educ.penreg.api.constants.EventOutcome.PEN_REQUEST_BATCH_UPDATED; +import static ca.bc.gov.educ.penreg.api.constants.EventType.ARCHIVE_PEN_REQUEST_BATCH; +import static ca.bc.gov.educ.penreg.api.constants.EventType.READ_FROM_TOPIC; +import static ca.bc.gov.educ.penreg.api.constants.EventType.UPDATE_PEN_REQUEST_BATCH_STUDENT; +import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStatusCodes.ARCHIVED; +import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStatusCodes.REARCHIVED; +import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStudentStatusCodes.FIXABLE; +import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStudentStatusCodes.USR_NEW_PEN; +import static ca.bc.gov.educ.penreg.api.constants.SagaEnum.PEN_REQUEST_BATCH_STUDENT_PROCESSING_SAGA; +import static ca.bc.gov.educ.penreg.api.constants.SagaTopicsEnum.PEN_REQUEST_BATCH_API_TOPIC; +import static ca.bc.gov.educ.penreg.api.constants.SagaTopicsEnum.PEN_REQUEST_BATCH_ARCHIVE_AND_RETURN_TOPIC; +import static ca.bc.gov.educ.penreg.api.constants.SagaTopicsEnum.PEN_REQUEST_BATCH_NEW_PEN_PROCESSING_TOPIC; +import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.Mockito.any; +import static org.mockito.Mockito.anyString; +import static org.mockito.Mockito.atMostOnce; +import static org.mockito.Mockito.doThrow; +import static org.mockito.Mockito.eq; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.verifyNoMoreInteractions; + import ca.bc.gov.educ.penreg.api.BasePenRegAPITest; import ca.bc.gov.educ.penreg.api.messaging.MessagePublisher; import ca.bc.gov.educ.penreg.api.orchestrator.PenReqBatchStudentOrchestrator; @@ -11,6 +33,9 @@ import ca.bc.gov.educ.penreg.api.struct.Event; import ca.bc.gov.educ.penreg.api.support.PenRequestBatchTestUtils; import ca.bc.gov.educ.penreg.api.util.JsonUtil; +import java.io.IOException; +import java.util.UUID; +import java.util.concurrent.TimeoutException; import org.junit.Before; import org.junit.Test; import org.mockito.ArgumentCaptor; @@ -19,21 +44,6 @@ import org.mockito.MockitoAnnotations; import org.springframework.beans.factory.annotation.Autowired; -import java.io.IOException; -import java.util.UUID; -import java.util.concurrent.TimeoutException; - -import static ca.bc.gov.educ.penreg.api.constants.EventOutcome.PEN_REQUEST_BATCH_STUDENT_UPDATED; -import static ca.bc.gov.educ.penreg.api.constants.EventOutcome.PEN_REQUEST_BATCH_UPDATED; -import static ca.bc.gov.educ.penreg.api.constants.EventType.*; -import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStatusCodes.*; -import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStudentStatusCodes.FIXABLE; -import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStudentStatusCodes.USR_NEW_PEN; -import static ca.bc.gov.educ.penreg.api.constants.SagaEnum.PEN_REQUEST_BATCH_STUDENT_PROCESSING_SAGA; -import static ca.bc.gov.educ.penreg.api.constants.SagaTopicsEnum.*; -import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Mockito.*; - /** * The type Message publisher test. */ diff --git a/api/src/test/java/ca/bc/gov/educ/penreg/api/service/EventTaskSchedulerAsyncServiceTest.java b/api/src/test/java/ca/bc/gov/educ/penreg/api/service/EventTaskSchedulerAsyncServiceTest.java index ba1ed063..59e108c4 100644 --- a/api/src/test/java/ca/bc/gov/educ/penreg/api/service/EventTaskSchedulerAsyncServiceTest.java +++ b/api/src/test/java/ca/bc/gov/educ/penreg/api/service/EventTaskSchedulerAsyncServiceTest.java @@ -1,23 +1,22 @@ package ca.bc.gov.educ.penreg.api.service; +import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStatusCodes.REPEATS_CHECKED; +import static ca.bc.gov.educ.penreg.api.constants.SagaEnum.PEN_REQUEST_BATCH_ARCHIVE_AND_RETURN_SAGA; +import static ca.bc.gov.educ.penreg.api.support.PenRequestBatchTestUtils.createBatchStudents; +import static ca.bc.gov.educ.penreg.api.support.PenRequestBatchTestUtils.createSagaRecords; +import static org.assertj.core.api.Assertions.assertThat; + import ca.bc.gov.educ.penreg.api.BasePenRegAPITest; import ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStatusCodes; import ca.bc.gov.educ.penreg.api.repository.PenRequestBatchHistoryRepository; import ca.bc.gov.educ.penreg.api.repository.PenRequestBatchRepository; import ca.bc.gov.educ.penreg.api.repository.SagaRepository; +import java.io.IOException; import lombok.extern.slf4j.Slf4j; import lombok.val; import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; -import java.io.IOException; - -import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStatusCodes.REPEATS_CHECKED; -import static ca.bc.gov.educ.penreg.api.constants.SagaEnum.PEN_REQUEST_BATCH_ARCHIVE_AND_RETURN_SAGA; -import static ca.bc.gov.educ.penreg.api.support.PenRequestBatchTestUtils.createBatchStudents; -import static ca.bc.gov.educ.penreg.api.support.PenRequestBatchTestUtils.createSagaRecords; -import static org.assertj.core.api.Assertions.assertThat; - @Slf4j public class EventTaskSchedulerAsyncServiceTest extends BasePenRegAPITest { @Autowired diff --git a/api/src/test/java/ca/bc/gov/educ/penreg/api/service/NotificationServiceTest.java b/api/src/test/java/ca/bc/gov/educ/penreg/api/service/NotificationServiceTest.java index db791994..39ec3198 100644 --- a/api/src/test/java/ca/bc/gov/educ/penreg/api/service/NotificationServiceTest.java +++ b/api/src/test/java/ca/bc/gov/educ/penreg/api/service/NotificationServiceTest.java @@ -1,5 +1,10 @@ package ca.bc.gov.educ.penreg.api.service; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.atLeastOnce; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; + import ca.bc.gov.educ.penreg.api.BasePenRegAPITest; import ca.bc.gov.educ.penreg.api.messaging.MessagePublisher; import ca.bc.gov.educ.penreg.api.struct.v1.PenCoordinator; @@ -11,10 +16,6 @@ import io.nats.client.impl.Headers; import io.nats.client.impl.NatsJetStreamMetaData; import io.nats.client.support.Status; -import org.junit.Before; -import org.junit.Test; -import org.springframework.beans.factory.annotation.Autowired; - import java.io.File; import java.nio.charset.StandardCharsets; import java.time.Duration; @@ -24,9 +25,9 @@ import java.util.concurrent.CompletableFuture; import java.util.concurrent.ExecutionException; import java.util.concurrent.TimeoutException; - -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.Mockito.*; +import org.junit.Before; +import org.junit.Test; +import org.springframework.beans.factory.annotation.Autowired; public class NotificationServiceTest extends BasePenRegAPITest { diff --git a/api/src/test/java/ca/bc/gov/educ/penreg/api/service/PenCoordinatorServiceTest.java b/api/src/test/java/ca/bc/gov/educ/penreg/api/service/PenCoordinatorServiceTest.java index 0bbfbc40..83c2f3c9 100644 --- a/api/src/test/java/ca/bc/gov/educ/penreg/api/service/PenCoordinatorServiceTest.java +++ b/api/src/test/java/ca/bc/gov/educ/penreg/api/service/PenCoordinatorServiceTest.java @@ -1,16 +1,13 @@ package ca.bc.gov.educ.penreg.api.service; +import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.Mockito.when; + import ca.bc.gov.educ.penreg.api.BasePenRegAPITest; import ca.bc.gov.educ.penreg.api.rest.RestUtils; import ca.bc.gov.educ.penreg.api.struct.v1.PenCoordinator; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; -import lombok.val; -import org.junit.Before; -import org.junit.Test; -import org.mockito.Mockito; -import org.springframework.beans.factory.annotation.Autowired; - import java.io.File; import java.io.IOException; import java.util.List; @@ -20,9 +17,11 @@ import java.util.concurrent.ConcurrentHashMap; import java.util.function.Function; import java.util.stream.Collectors; - -import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Mockito.when; +import lombok.val; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mockito; +import org.springframework.beans.factory.annotation.Autowired; public class PenCoordinatorServiceTest extends BasePenRegAPITest { diff --git a/api/src/test/java/ca/bc/gov/educ/penreg/api/service/PenRequestBatchEventServiceTest.java b/api/src/test/java/ca/bc/gov/educ/penreg/api/service/PenRequestBatchEventServiceTest.java index d46ce988..aa289793 100644 --- a/api/src/test/java/ca/bc/gov/educ/penreg/api/service/PenRequestBatchEventServiceTest.java +++ b/api/src/test/java/ca/bc/gov/educ/penreg/api/service/PenRequestBatchEventServiceTest.java @@ -1,5 +1,14 @@ package ca.bc.gov.educ.penreg.api.service; +import static ca.bc.gov.educ.penreg.api.constants.EventOutcome.PEN_REQUEST_BATCH_STUDENT_NOT_FOUND; +import static ca.bc.gov.educ.penreg.api.constants.EventOutcome.PEN_REQUEST_BATCH_STUDENT_UPDATED; +import static ca.bc.gov.educ.penreg.api.constants.EventStatus.MESSAGE_PUBLISHED; +import static ca.bc.gov.educ.penreg.api.constants.EventType.UPDATE_PEN_REQUEST_BATCH_STUDENT; +import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStudentStatusCodes.FIXABLE; +import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStudentStatusCodes.USR_NEW_PEN; +import static ca.bc.gov.educ.penreg.api.constants.SagaTopicsEnum.PEN_REQUEST_BATCH_NEW_PEN_PROCESSING_TOPIC; +import static org.assertj.core.api.Assertions.assertThat; + import ca.bc.gov.educ.penreg.api.BasePenRegAPITest; import ca.bc.gov.educ.penreg.api.model.v1.PenRequestBatchEvent; import ca.bc.gov.educ.penreg.api.repository.PenRequestBatchEventRepository; @@ -8,22 +17,12 @@ import ca.bc.gov.educ.penreg.api.struct.v1.PenRequestBatchStudent; import ca.bc.gov.educ.penreg.api.support.PenRequestBatchTestUtils; import ca.bc.gov.educ.penreg.api.util.JsonUtil; +import java.io.IOException; +import java.util.UUID; import org.junit.Before; import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; -import java.io.IOException; -import java.util.UUID; - -import static ca.bc.gov.educ.penreg.api.constants.EventOutcome.PEN_REQUEST_BATCH_STUDENT_NOT_FOUND; -import static ca.bc.gov.educ.penreg.api.constants.EventOutcome.PEN_REQUEST_BATCH_STUDENT_UPDATED; -import static ca.bc.gov.educ.penreg.api.constants.EventStatus.MESSAGE_PUBLISHED; -import static ca.bc.gov.educ.penreg.api.constants.EventType.UPDATE_PEN_REQUEST_BATCH_STUDENT; -import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStudentStatusCodes.FIXABLE; -import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStudentStatusCodes.USR_NEW_PEN; -import static ca.bc.gov.educ.penreg.api.constants.SagaTopicsEnum.PEN_REQUEST_BATCH_NEW_PEN_PROCESSING_TOPIC; -import static org.assertj.core.api.Assertions.assertThat; - /** * The type Message publisher test. */ diff --git a/api/src/test/java/ca/bc/gov/educ/penreg/api/service/PenRequestBatchServiceTest.java b/api/src/test/java/ca/bc/gov/educ/penreg/api/service/PenRequestBatchServiceTest.java index 7d56b31d..802c491f 100644 --- a/api/src/test/java/ca/bc/gov/educ/penreg/api/service/PenRequestBatchServiceTest.java +++ b/api/src/test/java/ca/bc/gov/educ/penreg/api/service/PenRequestBatchServiceTest.java @@ -1,38 +1,38 @@ package ca.bc.gov.educ.penreg.api.service; +import static java.util.stream.Collectors.toList; +import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.when; + import ca.bc.gov.educ.penreg.api.BasePenRegAPITest; import ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStatusCodes; import ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStudentStatusCodes; import ca.bc.gov.educ.penreg.api.mappers.v1.PenRequestBatchMapper; import ca.bc.gov.educ.penreg.api.model.v1.PenRequestBatchEntity; -import ca.bc.gov.educ.penreg.api.model.v1.PenRequestBatchStudentEntity; import ca.bc.gov.educ.penreg.api.repository.PenRequestBatchRepository; import ca.bc.gov.educ.penreg.api.repository.PenRequestBatchStudentRepository; import ca.bc.gov.educ.penreg.api.rest.RestUtils; -import ca.bc.gov.educ.penreg.api.struct.School; import ca.bc.gov.educ.penreg.api.struct.v1.PenRequestBatch; import ca.bc.gov.educ.penreg.api.struct.v1.PenRequestIDs; import ca.bc.gov.educ.penreg.api.support.PenRequestBatchTestUtils; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; -import lombok.val; -import org.junit.Test; -import org.springframework.beans.BeanUtils; -import org.springframework.beans.factory.annotation.Autowired; - -import javax.transaction.Transactional; +import jakarta.transaction.Transactional; import java.io.File; import java.io.IOException; import java.time.LocalDateTime; -import java.util.*; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; import java.util.concurrent.ExecutionException; import java.util.concurrent.TimeoutException; - -import static java.util.stream.Collectors.toList; -import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.ArgumentMatchers.anyString; -import static org.mockito.Mockito.when; +import lombok.val; +import org.junit.Test; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; public class PenRequestBatchServiceTest extends BasePenRegAPITest { diff --git a/api/src/test/java/ca/bc/gov/educ/penreg/api/service/PenRequestBatchStudentOrchestratorServiceTest.java b/api/src/test/java/ca/bc/gov/educ/penreg/api/service/PenRequestBatchStudentOrchestratorServiceTest.java index 62233fb5..b5c7ad8b 100644 --- a/api/src/test/java/ca/bc/gov/educ/penreg/api/service/PenRequestBatchStudentOrchestratorServiceTest.java +++ b/api/src/test/java/ca/bc/gov/educ/penreg/api/service/PenRequestBatchStudentOrchestratorServiceTest.java @@ -1,6 +1,15 @@ package ca.bc.gov.educ.penreg.api.service; +import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStudentStatusCodes.USR_NEW_PEN; +import static ca.bc.gov.educ.penreg.api.constants.SagaEnum.PEN_REQUEST_BATCH_STUDENT_PROCESSING_SAGA; +import static org.assertj.core.api.AssertionsForClassTypes.assertThat; +import static org.mockito.Mockito.any; +import static org.mockito.Mockito.doNothing; +import static org.mockito.Mockito.never; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; + import ca.bc.gov.educ.penreg.api.constants.BadLocalID; import ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStudentStatusCodes; import ca.bc.gov.educ.penreg.api.model.v1.PenRequestBatchEntity; @@ -15,6 +24,13 @@ import ca.bc.gov.educ.penreg.api.struct.Student; import ca.bc.gov.educ.penreg.api.support.PenRequestBatchTestUtils; import ca.bc.gov.educ.penreg.api.util.JsonUtil; +import java.io.IOException; +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.EnumSet; +import java.util.List; +import java.util.Optional; +import java.util.UUID; import junitparams.JUnitParamsRunner; import junitparams.Parameters; import lombok.extern.slf4j.Slf4j; @@ -33,15 +49,6 @@ import org.springframework.test.context.junit4.rules.SpringMethodRule; import org.springframework.transaction.annotation.Transactional; -import java.io.IOException; -import java.time.LocalDateTime; -import java.util.*; - -import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStudentStatusCodes.USR_NEW_PEN; -import static ca.bc.gov.educ.penreg.api.constants.SagaEnum.PEN_REQUEST_BATCH_STUDENT_PROCESSING_SAGA; -import static org.assertj.core.api.AssertionsForClassTypes.assertThat; -import static org.mockito.Mockito.*; - /** * The type Pen request batch student orchestrator service test. */ diff --git a/api/src/test/java/ca/bc/gov/educ/penreg/api/service/PenRequestBatchStudentServiceTest.java b/api/src/test/java/ca/bc/gov/educ/penreg/api/service/PenRequestBatchStudentServiceTest.java index a90a9a6a..854335d9 100644 --- a/api/src/test/java/ca/bc/gov/educ/penreg/api/service/PenRequestBatchStudentServiceTest.java +++ b/api/src/test/java/ca/bc/gov/educ/penreg/api/service/PenRequestBatchStudentServiceTest.java @@ -1,5 +1,14 @@ package ca.bc.gov.educ.penreg.api.service; +import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStudentStatusCodes.FIXABLE; +import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStudentStatusCodes.INFOREQ; +import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStudentStatusCodes.REPEAT; +import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStudentStatusCodes.SYS_MATCHED; +import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStudentStatusCodes.USR_MATCHED; +import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStudentStatusCodes.USR_NEW_PEN; +import static java.util.stream.Collectors.joining; +import static org.assertj.core.api.Assertions.assertThat; + import ca.bc.gov.educ.penreg.api.BasePenRegAPITest; import ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStatusCodes; import ca.bc.gov.educ.penreg.api.model.v1.PenRequestBatchEntity; @@ -7,19 +16,14 @@ import ca.bc.gov.educ.penreg.api.repository.PenRequestBatchRepository; import ca.bc.gov.educ.penreg.api.support.PenRequestBatchTestUtils; import ca.bc.gov.educ.penreg.api.util.JsonUtil; -import org.junit.Before; -import org.junit.Test; -import org.springframework.beans.factory.annotation.Autowired; - -import javax.transaction.Transactional; +import jakarta.transaction.Transactional; import java.io.IOException; import java.time.LocalDateTime; import java.util.List; import java.util.UUID; -import static java.util.stream.Collectors.joining; - -import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStudentStatusCodes.*; -import static org.assertj.core.api.Assertions.assertThat; +import org.junit.Before; +import org.junit.Test; +import org.springframework.beans.factory.annotation.Autowired; /** * The type Message publisher test. diff --git a/api/src/test/java/ca/bc/gov/educ/penreg/api/service/ResponseFileGeneratorServiceTest.java b/api/src/test/java/ca/bc/gov/educ/penreg/api/service/ResponseFileGeneratorServiceTest.java index 0d6fa086..b083734a 100644 --- a/api/src/test/java/ca/bc/gov/educ/penreg/api/service/ResponseFileGeneratorServiceTest.java +++ b/api/src/test/java/ca/bc/gov/educ/penreg/api/service/ResponseFileGeneratorServiceTest.java @@ -1,5 +1,9 @@ package ca.bc.gov.educ.penreg.api.service; +import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.ArgumentMatchers.anyString; +import static org.mockito.Mockito.when; + import ca.bc.gov.educ.penreg.api.BasePenRegAPITest; import ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStudentStatusCodes; import ca.bc.gov.educ.penreg.api.mappers.v1.PenRequestBatchMapper; @@ -13,22 +17,17 @@ import ca.bc.gov.educ.penreg.api.struct.v1.PenRequestBatchRepostReportsFilesSagaData; import ca.bc.gov.educ.penreg.api.struct.v1.reportstructs.PenRequestBatchReportData; import ca.bc.gov.educ.penreg.api.support.PenRequestBatchTestUtils; -import org.junit.Before; -import org.junit.Test; -import org.mockito.Mockito; -import org.springframework.beans.factory.annotation.Autowired; - -import javax.transaction.Transactional; +import jakarta.transaction.Transactional; import java.io.IOException; import java.nio.charset.StandardCharsets; import java.util.Base64; import java.util.List; import java.util.Optional; import java.util.stream.Collectors; - -import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.ArgumentMatchers.anyString; -import static org.mockito.Mockito.when; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mockito; +import org.springframework.beans.factory.annotation.Autowired; public class ResponseFileGeneratorServiceTest extends BasePenRegAPITest { diff --git a/api/src/test/java/ca/bc/gov/educ/penreg/api/support/NatsMessageImpl.java b/api/src/test/java/ca/bc/gov/educ/penreg/api/support/NatsMessageImpl.java index 112da544..ed629468 100644 --- a/api/src/test/java/ca/bc/gov/educ/penreg/api/support/NatsMessageImpl.java +++ b/api/src/test/java/ca/bc/gov/educ/penreg/api/support/NatsMessageImpl.java @@ -6,14 +6,13 @@ import io.nats.client.impl.Headers; import io.nats.client.impl.NatsJetStreamMetaData; import io.nats.client.support.Status; +import java.time.Duration; +import java.util.concurrent.TimeoutException; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; -import java.time.Duration; -import java.util.concurrent.TimeoutException; - /** * Support class to use for testing. */ diff --git a/api/src/test/java/ca/bc/gov/educ/penreg/api/support/PenRequestBatchTestUtils.java b/api/src/test/java/ca/bc/gov/educ/penreg/api/support/PenRequestBatchTestUtils.java index 03071dbd..39623b1d 100644 --- a/api/src/test/java/ca/bc/gov/educ/penreg/api/support/PenRequestBatchTestUtils.java +++ b/api/src/test/java/ca/bc/gov/educ/penreg/api/support/PenRequestBatchTestUtils.java @@ -1,5 +1,12 @@ package ca.bc.gov.educ.penreg.api.support; +import static ca.bc.gov.educ.penreg.api.constants.EventType.MARK_SAGA_COMPLETE; +import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStatusCodes.LOADED; +import static ca.bc.gov.educ.penreg.api.constants.SagaEnum.PEN_REQUEST_BATCH_ARCHIVE_AND_RETURN_SAGA; +import static ca.bc.gov.educ.penreg.api.constants.SagaStatusEnum.COMPLETED; +import static java.util.stream.Collectors.toList; +import static org.assertj.core.api.Assertions.assertThat; + import ca.bc.gov.educ.penreg.api.batch.exception.FileUnProcessableException; import ca.bc.gov.educ.penreg.api.batch.mappers.PenRequestBatchFileMapper; import ca.bc.gov.educ.penreg.api.batch.processor.PenRegBatchProcessor; @@ -18,6 +25,18 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; +import java.io.ByteArrayInputStream; +import java.io.File; +import java.io.FileReader; +import java.io.InputStreamReader; +import java.io.Reader; +import java.nio.file.Files; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.*; +import java.util.function.Consumer; +import java.util.stream.Collectors; import lombok.val; import net.sf.flatpack.DataSet; import net.sf.flatpack.DefaultParserFactory; @@ -28,22 +47,6 @@ import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; -import java.io.*; -import java.nio.file.Files; -import java.time.LocalDate; -import java.time.LocalDateTime; -import java.time.format.DateTimeFormatter; -import java.util.*; -import java.util.function.Consumer; -import java.util.stream.Collectors; - -import static ca.bc.gov.educ.penreg.api.constants.EventType.MARK_SAGA_COMPLETE; -import static ca.bc.gov.educ.penreg.api.constants.PenRequestBatchStatusCodes.LOADED; -import static ca.bc.gov.educ.penreg.api.constants.SagaEnum.PEN_REQUEST_BATCH_ARCHIVE_AND_RETURN_SAGA; -import static ca.bc.gov.educ.penreg.api.constants.SagaStatusEnum.COMPLETED; -import static java.util.stream.Collectors.toList; -import static org.assertj.core.api.Assertions.assertThat; - @Component @Profile("test") public class PenRequestBatchTestUtils { diff --git a/api/src/test/java/ca/bc/gov/educ/penreg/api/support/TestRedisConfiguration.java b/api/src/test/java/ca/bc/gov/educ/penreg/api/support/TestRedisConfiguration.java index 3ddb9548..85129940 100644 --- a/api/src/test/java/ca/bc/gov/educ/penreg/api/support/TestRedisConfiguration.java +++ b/api/src/test/java/ca/bc/gov/educ/penreg/api/support/TestRedisConfiguration.java @@ -1,11 +1,10 @@ package ca.bc.gov.educ.penreg.api.support; +import jakarta.annotation.PostConstruct; +import jakarta.annotation.PreDestroy; import org.springframework.boot.test.context.TestConfiguration; import redis.embedded.RedisServer; -import javax.annotation.PostConstruct; -import javax.annotation.PreDestroy; - @TestConfiguration public class TestRedisConfiguration { From 377dc494a8a0602d90d670cf5bd8ab5ec84212b7 Mon Sep 17 00:00:00 2001 From: SoLetsDev <74216496+SoLetsDev@users.noreply.github.com> Date: Mon, 15 May 2023 09:44:15 -0700 Subject: [PATCH 02/12] added in github actions build/deploy yamls + dockerfile --- .../{api.yml => ci-api-build.and.test.yml} | 53 ++-- .github/workflows/deploy-to.openshift-dev.yml | 170 ++++++++++++ .../workflows/deploy-to.openshift-prod.yml | 131 +++++++++ .../workflows/deploy-to.openshift-test.yml | 130 +++++++++ .../tag-create.git.and.imagestream.tag.yml | 63 +++++ Dockerfile | 4 +- tools/config/update-configmap.sh | 250 ++++++++++++++++++ 7 files changed, 772 insertions(+), 29 deletions(-) rename .github/workflows/{api.yml => ci-api-build.and.test.yml} (53%) create mode 100644 .github/workflows/deploy-to.openshift-dev.yml create mode 100644 .github/workflows/deploy-to.openshift-prod.yml create mode 100644 .github/workflows/deploy-to.openshift-test.yml create mode 100644 .github/workflows/tag-create.git.and.imagestream.tag.yml create mode 100644 tools/config/update-configmap.sh diff --git a/.github/workflows/api.yml b/.github/workflows/ci-api-build.and.test.yml similarity index 53% rename from .github/workflows/api.yml rename to .github/workflows/ci-api-build.and.test.yml index 9f40dbb4..7b21c65d 100644 --- a/.github/workflows/api.yml +++ b/.github/workflows/ci-api-build.and.test.yml @@ -1,7 +1,6 @@ name: API CI on: - workflow_dispatch: push: branches: - master @@ -18,51 +17,51 @@ on: jobs: quality_profile: - runs-on: ubuntu-latest + runs-on: ubuntu-20.04 defaults: run: working-directory: api steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: fetch-depth: 0 - - uses: actions/setup-java@v1 + - uses: actions/setup-java@v3 with: - java-version: 11 - - uses: actions/cache@v1 + java-version: 17 + distribution: oracle + - uses: actions/cache@v3 with: path: ~/.m2/repository - key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} + key: ${{ runner.os }}-maven-5Jun-${{ hashFiles('**/pom.xml') }} restore-keys: | - ${{ runner.os }}-maven- + ${{ runner.os }}-maven-5Jun- - name: Run unit tests - run: mvn -f pom.xml clean test - - name: Cache SonarCloud packages - uses: actions/cache@v1 - with: - path: ~/.sonar/cache - key: ${{ runner.os }}-sonar - #- name: Run Sonar Analysis - # run: mvn -f pom.xml sonar:sonar - # -Dsonar.login=${{ secrets.SONAR_TOKEN }} - # -Dsonar.host.url=https://sonarcloud.io - #-Dsonar.organization=bcgov-sonarcloud - #-Dsonar.projectKey=${{ secrets.SONAR_PROJECT_KEY }} - env: - GITHUB_TOKEN: ${{ github.token }} + run: mvn -f pom.xml clean package - name: Run Trivy vulnerability scanner in repo mode - uses: aquasecurity/trivy-action@master + uses: aquasecurity/trivy-action@0.10.0 with: scan-type: 'fs' ignore-unfixed: true - format: 'template' - template: '@/contrib/sarif.tpl' + format: 'sarif' output: 'trivy-results.sarif' - severity: 'LOW' + severity: 'CRITICAL' - name: Upload Trivy scan results to GitHub Security tab - uses: github/codeql-action/upload-sarif@v1 + uses: github/codeql-action/upload-sarif@v2 with: sarif_file: 'trivy-results.sarif' + - name: Cache SonarCloud packages + uses: actions/cache@v3 + with: + path: ~/.sonar/cache + key: ${{ runner.os }}-sonar + - name: Run Sonar Analysis + run: mvn sonar:sonar + -Dsonar.login=${{ secrets.SONAR_TOKEN }} + -Dsonar.host.url=https://sonarcloud.io + -Dsonar.organization=bcgov-sonarcloud + -Dsonar.projectKey=${{ secrets.SONAR_PROJECT_KEY }} + env: + GITHUB_TOKEN: ${{ github.token }} diff --git a/.github/workflows/deploy-to.openshift-dev.yml b/.github/workflows/deploy-to.openshift-dev.yml new file mode 100644 index 00000000..4d08004b --- /dev/null +++ b/.github/workflows/deploy-to.openshift-dev.yml @@ -0,0 +1,170 @@ +name: Build & Deploy to DEV + +env: + # 🖊️ EDIT your repository secrets to log into your OpenShift cluster and set up the context. + # See https://github.com/redhat-actions/oc-login#readme for how to retrieve these values. + # To get a permanent token, refer to https://github.com/redhat-actions/oc-login/wiki/Using-a-Service-Account-for-GitHub-Actions + OPENSHIFT_SERVER: ${{ secrets.OPENSHIFT_SERVER }} + OPENSHIFT_TOKEN: ${{ secrets.OPENSHIFT_TOKEN }} + OPENSHIFT_NAMESPACE_DEV: ${{ secrets.PEN_NAMESPACE_NO_ENV }}-dev + + DB_JDBC_CONNECT_STRING: ${{ secrets.DB_JDBC_CONNECT_STRING }} + DB_PWD: ${{ secrets.DB_PWD }} + DB_USER: ${{ secrets.DB_USER }} + SPLUNK_TOKEN: ${{ secrets.SPLUNK_TOKEN }} + + # 🖊️ EDIT to change the image registry settings. + # Registries such as GHCR, Quay.io, and Docker Hub are supported. + IMAGE_REGISTRY: ghcr.io/${{ github.repository_owner }} + IMAGE_REGISTRY_USER: ${{ github.actor }} + IMAGE_REGISTRY_PASSWORD: ${{ github.token }} + + # 🖊️ EDIT to specify custom tags for the container image, or default tags will be generated below. + IMAGE_TAGS: "" + + SPRING_BOOT_IMAGE_NAME: pen-reg-batch-api-master + DOCKER_ARTIFACTORY_REPO: artifacts.developer.gov.bc.ca/docker-remote + ARTIFACTORY_REPO: artifacts.developer.gov.bc.ca + + APP_NAME: "pen-reg-batch-api" + REPO_NAME: "educ-pen-reg-batch-api" + BRANCH: "master" + APP_NAME_FULL: "pen-reg-batch-api-master" + NAMESPACE: ${{ secrets.PEN_NAMESPACE_NO_ENV }} + COMMON_NAMESPACE: ${{ secrets.COMMON_NAMESPACE_NO_ENV }} + TAG: "latest" + MIN_REPLICAS_DEV: "1" + MAX_REPLICAS_DEV: "1" + MIN_CPU: "250m" + MAX_CPU: "500m" + MIN_MEM: "1Gi" + MAX_MEM: "2Gi" + +on: + push: + branches: + - master + workflow_dispatch: + +jobs: + build-and-deploy-dev: + name: Build and deploy to OpenShift DEV + # ubuntu-20.04 can also be used. + runs-on: ubuntu-20.04 + environment: dev + + outputs: + ROUTE: ${{ steps.deploy-and-expose.outputs.route }} + SELECTOR: ${{ steps.deploy-and-expose.outputs.selector }} + + steps: + - name: Check for required secrets + uses: actions/github-script@v6 + with: + script: | + const secrets = { + OPENSHIFT_SERVER: `${{ secrets.OPENSHIFT_SERVER }}`, + OPENSHIFT_TOKEN: `${{ secrets.OPENSHIFT_TOKEN }}`, + }; + const GHCR = "ghcr.io"; + if (`${{ env.IMAGE_REGISTRY }}`.startsWith(GHCR)) { + core.info(`Image registry is ${GHCR} - no registry password required`); + } + else { + core.info("A registry password is required"); + secrets["IMAGE_REGISTRY_PASSWORD"] = `${{ secrets.IMAGE_REGISTRY_PASSWORD }}`; + } + const missingSecrets = Object.entries(secrets).filter(([ name, value ]) => { + if (value.length === 0) { + core.error(`Secret "${name}" is not set`); + return true; + } + core.info(`✔️ Secret "${name}" is set`); + return false; + }); + if (missingSecrets.length > 0) { + core.setFailed(`❌ At least one required secret is not set in the repository. \n` + + "You can add it using:\n" + + "GitHub UI: https://docs.github.com/en/actions/reference/encrypted-secrets#creating-encrypted-secrets-for-a-repository \n" + + "GitHub CLI: https://cli.github.com/manual/gh_secret_set \n" + + "Also, refer to https://github.com/redhat-actions/oc-login#getting-started-with-the-action-or-see-example"); + } + else { + core.info(`✅ All the required secrets are set`); + } + - name: Check out repository + uses: actions/checkout@v3 + + - name: Determine image tags + if: env.IMAGE_TAGS == '' + run: | + echo "IMAGE_TAGS=latest ${GITHUB_SHA::12}" | tee -a $GITHUB_ENV + - name: Login to Docker Hub + uses: docker/login-action@v2 + with: + registry: ${{ env.DOCKER_ARTIFACTORY_REPO }} + username: ${{ secrets.DOCKER_HUB_USERNAME }} + password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} + + # https://github.com/redhat-actions/buildah-build#readme + - name: Build from Dockerfile + id: build-image + uses: redhat-actions/buildah-build@v2 + with: + image: ${{ env.APP_NAME_FULL }} + tags: ${{ env.IMAGE_TAGS }} + + # If you don't have a Dockerfile/Containerfile, refer to https://github.com/redhat-actions/buildah-build#scratch-build-inputs + # Or, perform a source-to-image build using https://github.com/redhat-actions/s2i-build + # Otherwise, point this to your Dockerfile/Containerfile relative to the repository root. + dockerfiles: | + ./Dockerfile + # https://github.com/redhat-actions/push-to-registry#readme + - name: Push to registry + id: push-image + uses: redhat-actions/push-to-registry@v2 + with: + image: ${{ steps.build-image.outputs.image }} + tags: ${{ steps.build-image.outputs.tags }} + registry: ${{ env.IMAGE_REGISTRY }} + username: ${{ env.IMAGE_REGISTRY_USER }} + password: ${{ env.IMAGE_REGISTRY_PASSWORD }} + + # The path the image was pushed to is now stored in ${{ steps.push-image.outputs.registry-path }} + + - name: Install oc + uses: redhat-actions/openshift-tools-installer@v1 + with: + oc: 4 + + # https://github.com/redhat-actions/oc-login#readme + - uses: actions/checkout@v3 + + - name: Deploy API + run: | + set -eu + # Login to OpenShift and select project + oc login --token=${{ env.OPENSHIFT_TOKEN }} --server=${{ env.OPENSHIFT_SERVER }} + oc project ${{ env.OPENSHIFT_NAMESPACE_DEV }} + # Cancel any rollouts in progress + oc rollout cancel dc/${{ env.SPRING_BOOT_IMAGE_NAME }} 2> /dev/null \ + || true && echo "No rollout in progress" + + oc tag ${{ steps.push-image.outputs.registry-path }} ${{ env.REPO_NAME }}-${{ env.BRANCH }}:${{ env.TAG }} + + # Process and apply deployment template + oc process -f tools/openshift/api.dc.yaml -p APP_NAME=${{ env.APP_NAME }} -p REPO_NAME=${{ env.REPO_NAME }} -p BRANCH=${{ env.BRANCH }} -p NAMESPACE=${{ env.OPENSHIFT_NAMESPACE_DEV }} -p TAG=${{ env.TAG }} -p MIN_REPLICAS=${{ env.MIN_REPLICAS_DEV }} -p MAX_REPLICAS=${{ env.MAX_REPLICAS_DEV }} -p MIN_CPU=${{ env.MIN_CPU }} -p MAX_CPU=${{ env.MAX_CPU }} -p MIN_MEM=${{ env.MIN_MEM }} -p MAX_MEM=${{ env.MAX_MEM }} \ + | oc apply -f - + + curl -s https://raw.githubusercontent.com/bcgov/${{ env.REPO_NAME }}/master/tools/config/update-configmap.sh | bash /dev/stdin dev ${{ env.APP_NAME }} ${{ env.NAMESPACE }} ${{ env.COMMON_NAMESPACE }} ${{ env.DB_JDBC_CONNECT_STRING }} ${{ env.DB_PWD }} ${{ env.DB_USER }} ${{ env.SPLUNK_TOKEN }} + + # Start rollout (if necessary) and follow it + oc rollout latest dc/${{ env.SPRING_BOOT_IMAGE_NAME }} 2> /dev/null \ + || true && echo "Rollout in progress" + oc logs -f dc/${{ env.SPRING_BOOT_IMAGE_NAME }} + # Get status, returns 0 if rollout is successful + oc rollout status dc/${{ env.SPRING_BOOT_IMAGE_NAME }} + - name: ZAP Scan + uses: zaproxy/action-api-scan@v0.2.0 + with: + target: 'https://${{ env.APP_NAME }}-${{ env.OPENSHIFT_NAMESPACE_DEV }}.apps.silver.devops.gov.bc.ca/v3/api-docs' \ No newline at end of file diff --git a/.github/workflows/deploy-to.openshift-prod.yml b/.github/workflows/deploy-to.openshift-prod.yml new file mode 100644 index 00000000..ab9a7268 --- /dev/null +++ b/.github/workflows/deploy-to.openshift-prod.yml @@ -0,0 +1,131 @@ +name: Deploy to PROD + +env: + # 🖊️ EDIT your repository secrets to log into your OpenShift cluster and set up the context. + # See https://github.com/redhat-actions/oc-login#readme for how to retrieve these values. + # To get a permanent token, refer to https://github.com/redhat-actions/oc-login/wiki/Using-a-Service-Account-for-GitHub-Actions + # Added this comment + OPENSHIFT_SERVER: ${{ secrets.OPENSHIFT_SERVER }} + OPENSHIFT_TOKEN: ${{ secrets.OPENSHIFT_TOKEN }} + OPENSHIFT_NAMESPACE: ${{ secrets.PEN_NAMESPACE_NO_ENV }}-prod + + DB_JDBC_CONNECT_STRING: ${{ secrets.DB_JDBC_CONNECT_STRING }} + DB_PWD: ${{ secrets.DB_PWD }} + DB_USER: ${{ secrets.DB_USER }} + SPLUNK_TOKEN: ${{ secrets.SPLUNK_TOKEN }} + + # 🖊️ EDIT to change the image registry settings. + # Registries such as GHCR, Quay.io, and Docker Hub are supported. + IMAGE_REGISTRY: ghcr.io/${{ github.repository_owner }} + IMAGE_REGISTRY_USER: ${{ github.actor }} + IMAGE_REGISTRY_PASSWORD: ${{ github.token }} + + SPRING_BOOT_IMAGE_NAME: pen-reg-batch-api-master + + APP_NAME: "pen-reg-batch-api" + REPO_NAME: "educ-pen-reg-batch-api" + BRANCH: "master" + NAMESPACE: ${{ secrets.PEN_NAMESPACE_NO_ENV }} + COMMON_NAMESPACE: ${{ secrets.COMMON_NAMESPACE_NO_ENV }} + TAG: "latest" + TARGET_ENV: "prod" + MIN_REPLICAS: "3" + MAX_REPLICAS: "3" + MIN_CPU: "250m" + MAX_CPU: "500m" + MIN_MEM: "1Gi" + MAX_MEM: "2Gi" + +on: + # https://docs.github.com/en/actions/reference/events-that-trigger-workflows + workflow_dispatch: + +jobs: + openshift-ci-cd: + name: Deploy to OpenShift PROD + # ubuntu-20.04 can also be used. + runs-on: ubuntu-20.04 + environment: production + + outputs: + ROUTE: ${{ steps.deploy-and-expose.outputs.route }} + SELECTOR: ${{ steps.deploy-and-expose.outputs.selector }} + + steps: + - name: Check for required secrets + uses: actions/github-script@v6 + with: + script: | + const secrets = { + OPENSHIFT_SERVER: `${{ secrets.OPENSHIFT_SERVER }}`, + OPENSHIFT_TOKEN: `${{ secrets.OPENSHIFT_TOKEN }}`, + }; + + const GHCR = "ghcr.io"; + if (`${{ env.IMAGE_REGISTRY }}`.startsWith(GHCR)) { + core.info(`Image registry is ${GHCR} - no registry password required`); + } + else { + core.info("A registry password is required"); + secrets["IMAGE_REGISTRY_PASSWORD"] = `${{ secrets.IMAGE_REGISTRY_PASSWORD }}`; + } + + const missingSecrets = Object.entries(secrets).filter(([ name, value ]) => { + if (value.length === 0) { + core.error(`Secret "${name}" is not set`); + return true; + } + core.info(`✔️ Secret "${name}" is set`); + return false; + }); + + if (missingSecrets.length > 0) { + core.setFailed(`❌ At least one required secret is not set in the repository. \n` + + "You can add it using:\n" + + "GitHub UI: https://docs.github.com/en/actions/reference/encrypted-secrets#creating-encrypted-secrets-for-a-repository \n" + + "GitHub CLI: https://cli.github.com/manual/gh_secret_set \n" + + "Also, refer to https://github.com/redhat-actions/oc-login#getting-started-with-the-action-or-see-example"); + } + else { + core.info(`✅ All the required secrets are set`); + } + + - name: Check out repository + uses: actions/checkout@v3 + + - name: Get latest tag + uses: actions-ecosystem/action-get-latest-tag@v1 + id: get-latest-tag + + - name: Install oc + uses: redhat-actions/openshift-tools-installer@v1 + with: + oc: 4 + + # https://github.com/redhat-actions/oc-login#readme + - uses: actions/checkout@v3 + + - name: Deploy API + run: | + set -eux + # Login to OpenShift and select project + oc login --token=${{ env.OPENSHIFT_TOKEN }} --server=${{ env.OPENSHIFT_SERVER }} + oc project ${{ env.OPENSHIFT_NAMESPACE }} + # Cancel any rollouts in progress + oc rollout cancel dc/${{ env.SPRING_BOOT_IMAGE_NAME }} 2> /dev/null \ + || true && echo "No rollout in progress" + + oc tag ${{ env.NAMESPACE }}-dev/${{ env.REPO_NAME }}-${{ env.BRANCH }}:${{ steps.get-latest-tag.outputs.tag }} ${{ env.NAMESPACE }}-prod/${{ env.REPO_NAME }}-${{ env.BRANCH }}:${{ steps.get-latest-tag.outputs.tag }} + + # Process and apply deployment template + oc process -f tools/openshift/api.dc.yaml -p APP_NAME=${{ env.APP_NAME }} -p REPO_NAME=${{ env.REPO_NAME }} -p BRANCH=${{ env.BRANCH }} -p NAMESPACE=${{ env.OPENSHIFT_NAMESPACE }} -p TAG=${{ steps.get-latest-tag.outputs.tag }} -p MIN_REPLICAS=${{ env.MIN_REPLICAS }} -p MAX_REPLICAS=${{ env.MAX_REPLICAS }} -p MIN_CPU=${{ env.MIN_CPU }} -p MAX_CPU=${{ env.MAX_CPU }} -p MIN_MEM=${{ env.MIN_MEM }} -p MAX_MEM=${{ env.MAX_MEM }} \ + | oc apply -f - + + curl -s https://raw.githubusercontent.com/bcgov/${{ env.REPO_NAME }}/${{ steps.get-latest-tag.outputs.tag }}/tools/config/update-configmap.sh | bash /dev/stdin ${{ env.TARGET_ENV }} ${{ env.APP_NAME }} ${{ env.NAMESPACE }} ${{ env.COMMON_NAMESPACE }} ${{ env.DB_JDBC_CONNECT_STRING }} ${{ env.DB_PWD }} ${{ env.DB_USER }} ${{ env.SPLUNK_TOKEN }} + + # Start rollout (if necessary) and follow it + oc rollout latest dc/${{ env.SPRING_BOOT_IMAGE_NAME }} 2> /dev/null \ + || true && echo "Rollout in progress" + oc logs -f dc/${{ env.SPRING_BOOT_IMAGE_NAME }} + # Get status, returns 0 if rollout is successful + oc rollout status dc/${{ env.SPRING_BOOT_IMAGE_NAME }} \ No newline at end of file diff --git a/.github/workflows/deploy-to.openshift-test.yml b/.github/workflows/deploy-to.openshift-test.yml new file mode 100644 index 00000000..d123816b --- /dev/null +++ b/.github/workflows/deploy-to.openshift-test.yml @@ -0,0 +1,130 @@ +name: Build & Deploy to TEST + +env: + # 🖊️ EDIT your repository secrets to log into your OpenShift cluster and set up the context. + # See https://github.com/redhat-actions/oc-login#readme for how to retrieve these values. + # To get a permanent token, refer to https://github.com/redhat-actions/oc-login/wiki/Using-a-Service-Account-for-GitHub-Actions + OPENSHIFT_SERVER: ${{ secrets.OPENSHIFT_SERVER }} + OPENSHIFT_TOKEN: ${{ secrets.OPENSHIFT_TOKEN }} + OPENSHIFT_NAMESPACE_TEST: ${{ secrets.PEN_NAMESPACE_NO_ENV }}-test + + DB_JDBC_CONNECT_STRING: ${{ secrets.DB_JDBC_CONNECT_STRING }} + DB_PWD: ${{ secrets.DB_PWD }} + DB_USER: ${{ secrets.DB_USER }} + SPLUNK_TOKEN: ${{ secrets.SPLUNK_TOKEN }} + + # 🖊️ EDIT to change the image registry settings. + # Registries such as GHCR, Quay.io, and Docker Hub are supported. + IMAGE_REGISTRY: ghcr.io/${{ github.repository_owner }} + IMAGE_REGISTRY_USER: ${{ github.actor }} + IMAGE_REGISTRY_PASSWORD: ${{ github.token }} + + # 🖊️ EDIT to specify custom tags for the container image, or default tags will be generated below. + IMAGE_TAGS: "" + + SPRING_BOOT_IMAGE_NAME: pen-reg-batch-api-master + DOCKER_ARTIFACTORY_REPO: artifacts.developer.gov.bc.ca/docker-remote + ARTIFACTORY_REPO: artifacts.developer.gov.bc.ca + + APP_NAME: "pen-reg-batch-api" + REPO_NAME: "educ-pen-reg-batch-api" + BRANCH: "master" + NAMESPACE: ${{ secrets.PEN_NAMESPACE_NO_ENV }} + COMMON_NAMESPACE: ${{ secrets.COMMON_NAMESPACE_NO_ENV }} + TAG: "latest" + MIN_REPLICAS_TEST: "2" + MAX_REPLICAS_TEST: "2" + MIN_CPU: "250m" + MAX_CPU: "500m" + MIN_MEM: "1Gi" + MAX_MEM: "2Gi" + +on: + workflow_dispatch: + +jobs: + deploy-test: + name: Deploy to OpenShift TEST + runs-on: ubuntu-20.04 + environment: test + + outputs: + ROUTE: ${{ steps.deploy-and-expose.outputs.route }} + SELECTOR: ${{ steps.deploy-and-expose.outputs.selector }} + + steps: + - name: Check for required secrets + uses: actions/github-script@v6 + with: + script: | + const secrets = { + OPENSHIFT_SERVER: `${{ secrets.OPENSHIFT_SERVER }}`, + OPENSHIFT_TOKEN: `${{ secrets.OPENSHIFT_TOKEN }}`, + }; + + const GHCR = "ghcr.io"; + if (`${{ env.IMAGE_REGISTRY }}`.startsWith(GHCR)) { + core.info(`Image registry is ${GHCR} - no registry password required`); + } + else { + core.info("A registry password is required"); + secrets["IMAGE_REGISTRY_PASSWORD"] = `${{ secrets.IMAGE_REGISTRY_PASSWORD }}`; + } + + const missingSecrets = Object.entries(secrets).filter(([ name, value ]) => { + if (value.length === 0) { + core.error(`Secret "${name}" is not set`); + return true; + } + core.info(`✔️ Secret "${name}" is set`); + return false; + }); + + if (missingSecrets.length > 0) { + core.setFailed(`❌ At least one required secret is not set in the repository. \n` + + "You can add it using:\n" + + "GitHub UI: https://docs.github.com/en/actions/reference/encrypted-secrets#creating-encrypted-secrets-for-a-repository \n" + + "GitHub CLI: https://cli.github.com/manual/gh_secret_set \n" + + "Also, refer to https://github.com/redhat-actions/oc-login#getting-started-with-the-action-or-see-example"); + } + else { + core.info(`✅ All the required secrets are set`); + } + + - name: Check out repository + uses: actions/checkout@v3 + + - name: Install oc + uses: redhat-actions/openshift-tools-installer@v1 + with: + oc: 4 + + - name: Deploy API + run: | + set -eu + # Login to OpenShift and select project + oc login --token=${{ env.OPENSHIFT_TOKEN }} --server=${{ env.OPENSHIFT_SERVER }} + oc project ${{ env.OPENSHIFT_NAMESPACE_TEST }} + # Cancel any rollouts in progress + oc rollout cancel dc/${{ env.SPRING_BOOT_IMAGE_NAME }} 2> /dev/null \ + || true && echo "No rollout in progress" + + oc tag ${{ env.NAMESPACE }}-dev/${{ env.REPO_NAME }}-${{ env.BRANCH }}:${{ env.TAG }} ${{ env.NAMESPACE }}-test/${{ env.REPO_NAME }}-${{ env.BRANCH }}:${{ env.TAG }} + + # Process and apply deployment template + oc process -f tools/openshift/api.dc.yaml -p APP_NAME=${{ env.APP_NAME }} -p REPO_NAME=${{ env.REPO_NAME }} -p BRANCH=${{ env.BRANCH }} -p NAMESPACE=${{ env.OPENSHIFT_NAMESPACE_TEST }} -p TAG=${{ env.TAG }} -p MIN_REPLICAS=${{ env.MIN_REPLICAS_TEST }} -p MAX_REPLICAS=${{ env.MAX_REPLICAS_TEST }} -p MIN_CPU=${{ env.MIN_CPU }} -p MAX_CPU=${{ env.MAX_CPU }} -p MIN_MEM=${{ env.MIN_MEM }} -p MAX_MEM=${{ env.MAX_MEM }} \ + | oc apply -f - + + curl -s https://raw.githubusercontent.com/bcgov/${{ env.REPO_NAME }}/master/tools/config/update-configmap.sh | bash /dev/stdin test ${{ env.APP_NAME }} ${{ env.NAMESPACE }} ${{ env.COMMON_NAMESPACE }} ${{ env.DB_JDBC_CONNECT_STRING }} ${{ env.DB_PWD }} ${{ env.DB_USER }} ${{ env.SPLUNK_TOKEN }} + + # Start rollout (if necessary) and follow it + oc rollout latest dc/${{ env.SPRING_BOOT_IMAGE_NAME }} 2> /dev/null \ + || true && echo "Rollout in progress" + oc logs -f dc/${{ env.SPRING_BOOT_IMAGE_NAME }} + # Get status, returns 0 if rollout is successful + oc rollout status dc/${{ env.SPRING_BOOT_IMAGE_NAME }} + + - name: ZAP Scan + uses: zaproxy/action-api-scan@v0.2.0 + with: + target: 'https://${{ env.APP_NAME }}-${{ env.OPENSHIFT_NAMESPACE_TEST }}.apps.silver.devops.gov.bc.ca/v3/api-docs' \ No newline at end of file diff --git a/.github/workflows/tag-create.git.and.imagestream.tag.yml b/.github/workflows/tag-create.git.and.imagestream.tag.yml new file mode 100644 index 00000000..57b1f8a8 --- /dev/null +++ b/.github/workflows/tag-create.git.and.imagestream.tag.yml @@ -0,0 +1,63 @@ +name: Create Tag + +env: + # 🖊️ EDIT your repository secrets to log into your OpenShift cluster and set up the context. + # See https://github.com/redhat-actions/oc-login#readme for how to retrieve these values. + # To get a permanent token, refer to https://github.com/redhat-actions/oc-login/wiki/Using-a-Service-Account-for-GitHub-Actions + OPENSHIFT_SERVER: ${{ secrets.OPENSHIFT_SERVER }} + OPENSHIFT_TOKEN: ${{ secrets.OPENSHIFT_TOKEN }} + OPENSHIFT_NAMESPACE: ${{ secrets.PEN_NAMESPACE_NO_ENV }}-dev + + REPO_NAME: "educ-pen-reg-batch-api" + BRANCH: "master" + NAMESPACE: ${{ secrets.PEN_NAMESPACE_NO_ENV }} + +on: + # https://docs.github.com/en/actions/reference/events-that-trigger-workflows + workflow_dispatch: + inputs: + version: + description: 'Version Number' + required: true + +jobs: + openshift-ci-cd: + name: Tag Image + # ubuntu-latest can also be used. + runs-on: ubuntu-22.04 + environment: dev + + outputs: + ROUTE: ${{ steps.deploy-and-expose.outputs.route }} + SELECTOR: ${{ steps.deploy-and-expose.outputs.selector }} + + steps: + - name: Check out repository + uses: actions/checkout@v3 + + - name: Create tag + uses: actions/github-script@v6 + with: + script: | + github.rest.git.createRef({ + owner: context.repo.owner, + repo: context.repo.repo, + ref: 'refs/tags/${{ github.event.inputs.version }}', + sha: context.sha + }) + + - name: Install oc + uses: redhat-actions/openshift-tools-installer@v1 + with: + oc: 4 + + # https://github.com/redhat-actions/oc-login#readme + - uses: actions/checkout@v3 + - name: Tag in OpenShift + run: | + set -eux + # Login to OpenShift and select project + oc login --token=${{ env.OPENSHIFT_TOKEN }} --server=${{ env.OPENSHIFT_SERVER }} + oc project ${{ env.OPENSHIFT_NAMESPACE }} + + oc tag ${{ env.NAMESPACE }}-dev/${{ env.REPO_NAME }}-${{ env.BRANCH }}:latest ${{ env.NAMESPACE }}-dev/${{ env.REPO_NAME }}-${{ env.BRANCH }}:${{ github.event.inputs.version }} diff --git a/Dockerfile b/Dockerfile index c56f59d2..857d4250 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM artifacts.developer.gov.bc.ca/docker-remote/maven:3-jdk-11 as build +FROM artifacts.developer.gov.bc.ca/docker-remote/maven:3.8.5-openjdk-17 as build WORKDIR /workspace/app COPY api/pom.xml . @@ -6,7 +6,7 @@ COPY api/src src RUN mvn package -DskipTests RUN mkdir -p target/dependency && (cd target/dependency; jar -xf ../*.jar) -FROM artifacts.developer.gov.bc.ca/docker-remote/openjdk:11-jdk +FROM artifacts.developer.gov.bc.ca/docker-remote/openjdk:17.0.2-jdk-oracle RUN useradd -ms /bin/bash spring RUN mkdir -p /logs RUN chown -R spring:spring /logs diff --git a/tools/config/update-configmap.sh b/tools/config/update-configmap.sh new file mode 100644 index 00000000..15c60250 --- /dev/null +++ b/tools/config/update-configmap.sh @@ -0,0 +1,250 @@ +envValue=$1 +APP_NAME=$2 +OPENSHIFT_NAMESPACE=$3 +COMMON_NAMESPACE=$4 +DB_JDBC_CONNECT_STRING=$5 +DB_PWD=$6 +DB_USER=$7 +SPLUNK_TOKEN=$8 + +TZVALUE="America/Vancouver" +SOAM_KC_REALM_ID="master" +SOAM_KC=soam-$envValue.apps.silver.devops.gov.bc.ca + +SOAM_KC_LOAD_USER_ADMIN=$(oc -n $COMMON_NAMESPACE-$envValue -o json get secret sso-admin-${envValue} | sed -n 's/.*"username": "\(.*\)"/\1/p' | base64 --decode) +SOAM_KC_LOAD_USER_PASS=$(oc -n $COMMON_NAMESPACE-$envValue -o json get secret sso-admin-${envValue} | sed -n 's/.*"password": "\(.*\)",/\1/p' | base64 --decode) + +NATS_CLUSTER=educ_nats_cluster +NATS_URL="nats://nats.${COMMON_NAMESPACE}-${envValue}.svc.cluster.local:4222" + +echo Fetching SOAM token +TKN=$(curl -s \ + -d "client_id=admin-cli" \ + -d "username=$SOAM_KC_LOAD_USER_ADMIN" \ + -d "password=$SOAM_KC_LOAD_USER_PASS" \ + -d "grant_type=password" \ + "https://$SOAM_KC/auth/realms/$SOAM_KC_REALM_ID/protocol/openid-connect/token" | jq -r '.access_token') + +echo +echo Retrieving client ID for pen-reg-batch-api-service +PRB_CLIENT_ID=$(curl -sX GET "https://$SOAM_KC/auth/admin/realms/$SOAM_KC_REALM_ID/clients" \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $TKN" | + jq '.[] | select(.clientId=="pen-reg-batch-api-service")' | jq -r '.id') + +echo +echo Removing PEN REG BATCH API client if exists +curl -sX DELETE "https://$SOAM_KC/auth/admin/realms/$SOAM_KC_REALM_ID/clients/$PRB_CLIENT_ID" \ + -H "Authorization: Bearer $TKN" + +echo +echo Creating client pen-reg-batch-api-service +curl -sX POST "https://$SOAM_KC/auth/admin/realms/$SOAM_KC_REALM_ID/clients" \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $TKN" \ + -d "{\"clientId\" : \"pen-reg-batch-api-service\",\"surrogateAuthRequired\" : false,\"enabled\" : true,\"clientAuthenticatorType\" : \"client-secret\",\"redirectUris\" : [ ],\"webOrigins\" : [ ],\"notBefore\" : 0,\"bearerOnly\" : false,\"consentRequired\" : false,\"standardFlowEnabled\" : false,\"implicitFlowEnabled\" : false,\"directAccessGrantsEnabled\" : false,\"serviceAccountsEnabled\" : true,\"publicClient\" : false,\"frontchannelLogout\" : false,\"protocol\" : \"openid-connect\",\"attributes\" : {\"saml.assertion.signature\" : \"false\",\"saml.multivalued.roles\" : \"false\",\"saml.force.post.binding\" : \"false\",\"saml.encrypt\" : \"false\",\"saml.server.signature\" : \"false\",\"saml.server.signature.keyinfo.ext\" : \"false\",\"exclude.session.state.from.auth.response\" : \"false\",\"saml_force_name_id_format\" : \"false\",\"saml.client.signature\" : \"false\",\"tls.client.certificate.bound.access.tokens\" : \"false\",\"saml.authnstatement\" : \"false\",\"display.on.consent.screen\" : \"false\",\"saml.onetimeuse.condition\" : \"false\"},\"authenticationFlowBindingOverrides\" : { },\"fullScopeAllowed\" : true,\"nodeReRegistrationTimeout\" : -1,\"protocolMappers\" : [ {\"name\" : \"Client ID\",\"protocol\" : \"openid-connect\",\"protocolMapper\" : \"oidc-usersessionmodel-note-mapper\",\"consentRequired\" : false,\"config\" : {\"user.session.note\" : \"clientId\",\"id.token.claim\" : \"true\",\"access.token.claim\" : \"true\",\"claim.name\" : \"clientId\",\"jsonType.label\" : \"String\"}}, {\"name\" : \"Client Host\",\"protocol\" : \"openid-connect\",\"protocolMapper\" : \"oidc-usersessionmodel-note-mapper\",\"consentRequired\" : false,\"config\" : {\"user.session.note\" : \"clientHost\",\"id.token.claim\" : \"true\",\"access.token.claim\" : \"true\",\"claim.name\" : \"clientHost\",\"jsonType.label\" : \"String\"}}, {\"name\" : \"Client IP Address\",\"protocol\" : \"openid-connect\",\"protocolMapper\" : \"oidc-usersessionmodel-note-mapper\",\"consentRequired\" : false,\"config\" : {\"user.session.note\" : \"clientAddress\",\"id.token.claim\" : \"true\",\"access.token.claim\" : \"true\",\"claim.name\" : \"clientAddress\",\"jsonType.label\" : \"String\"}} ],\"defaultClientScopes\" : [ \"web-origins\", \"WRITE_STUDENT\", \"role_list\", \"profile\", \"roles\", \"READ_STUDENT\",\"GET_NEXT_PEN_NUMBER\", \"READ_SCHOOL\", \"READ_PEN_COORDINATOR\", \"email\",\"READ_STUDENT_CODES\",\"READ_VALIDATION_CODES\"],\"optionalClientScopes\" : [ \"address\", \"phone\", \"offline_access\" ],\"access\" : {\"view\" : true,\"configure\" : true,\"manage\" : true}}" + +echo +echo Retrieving client ID for pen-reg-batch-api-service +PRB_APIServiceClientID=$(curl -sX GET "https://$SOAM_KC/auth/admin/realms/$SOAM_KC_REALM_ID/clients" \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $TKN" | + jq '.[] | select(.clientId=="pen-reg-batch-api-service")' | jq -r '.id') + +echo +echo Retrieving client secret for pen-reg-batch-api-service +PRB_APIServiceClientSecret=$(curl -sX GET "https://$SOAM_KC/auth/admin/realms/$SOAM_KC_REALM_ID/clients/$PRB_APIServiceClientID/client-secret" \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $TKN" | + jq -r '.value') + +echo +echo Writing scope READ_PEN_REQUEST_BATCH +curl -sX POST "https://$SOAM_KC/auth/admin/realms/$SOAM_KC_REALM_ID/client-scopes" \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $TKN" \ + -d "{\"description\": \"Read Pen Request Batch Data\",\"id\": \"READ_PEN_REQUEST_BATCH\",\"name\": \"READ_PEN_REQUEST_BATCH\",\"protocol\": \"openid-connect\",\"attributes\" : {\"include.in.token.scope\" : \"true\",\"display.on.consent.screen\" : \"false\"}}" + +echo +echo Writing scope WRITE_PEN_REQUEST_BATCH +curl -sX POST "https://$SOAM_KC/auth/admin/realms/$SOAM_KC_REALM_ID/client-scopes" \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $TKN" \ + -d "{\"description\": \"Write Pen Request Batch Data\",\"id\": \"WRITE_PEN_REQUEST_BATCH\",\"name\": \"WRITE_PEN_REQUEST_BATCH\",\"protocol\": \"openid-connect\",\"attributes\" : {\"include.in.token.scope\" : \"true\",\"display.on.consent.screen\" : \"false\"}}" + +echo +echo Writing scope DELETE_PEN_REQUEST_BATCH +curl -sX POST "https://$SOAM_KC/auth/admin/realms/$SOAM_KC_REALM_ID/client-scopes" \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $TKN" \ + -d "{\"description\": \"Delete Pen Request Batch Data\",\"id\": \"DELETE_PEN_REQUEST_BATCH\",\"name\": \"DELETE_PEN_REQUEST_BATCH\",\"protocol\": \"openid-connect\",\"attributes\" : {\"include.in.token.scope\" : \"true\",\"display.on.consent.screen\" : \"false\"}}" + +echo +echo Writing scope READ_PEN_REQUEST_BATCH_BLOB +curl -sX POST "https://$SOAM_KC/auth/admin/realms/$SOAM_KC_REALM_ID/client-scopes" \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $TKN" \ + -d "{\"description\": \"Read Pen Request Batch Source data\",\"id\": \"READ_PEN_REQUEST_BATCH_BLOB\",\"name\": \"READ_PEN_REQUEST_BATCH_BLOB\",\"protocol\": \"openid-connect\",\"attributes\" : {\"include.in.token.scope\" : \"true\",\"display.on.consent.screen\" : \"false\"}}" + +echo +echo Writing scope WRITE_PEN_REQUEST_BATCH_BLOB +curl -sX POST "https://$SOAM_KC/auth/admin/realms/$SOAM_KC_REALM_ID/client-scopes" \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $TKN" \ + -d "{\"description\": \"Update Pen Request Batch Source data\",\"id\": \"WRITE_PEN_REQUEST_BATCH_BLOB\",\"name\": \"WRITE_PEN_REQUEST_BATCH_BLOB\",\"protocol\": \"openid-connect\",\"attributes\" : {\"include.in.token.scope\" : \"true\",\"display.on.consent.screen\" : \"false\"}}" + +echo +echo Writing scope READ_PEN_REQUEST_BATCH_MACRO +curl -sX POST "https://$SOAM_KC/auth/admin/realms/$SOAM_KC_REALM_ID/client-scopes" \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $TKN" \ + -d "{\"description\": \"Read Pen Request Batch Macro Data\",\"id\": \"READ_PEN_REQUEST_BATCH_MACRO\",\"name\": \"READ_PEN_REQUEST_BATCH_MACRO\",\"protocol\": \"openid-connect\",\"attributes\" : {\"include.in.token.scope\" : \"true\",\"display.on.consent.screen\" : \"false\"}}" + +echo +echo Writing scope WRITE_PEN_REQUEST_BATCH_MACRO +curl -sX POST "https://$SOAM_KC/auth/admin/realms/$SOAM_KC_REALM_ID/client-scopes" \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $TKN" \ + -d "{\"description\": \"Write Pen Request Batch Macro Data\",\"id\": \"WRITE_PEN_REQUEST_BATCH_MACRO\",\"name\": \"WRITE_PEN_REQUEST_BATCH_MACRO\",\"protocol\": \"openid-connect\",\"attributes\" : {\"include.in.token.scope\" : \"true\",\"display.on.consent.screen\" : \"false\"}}" + +echo +echo Writing scope PEN_REQUEST_BATCH_NEW_PEN_SAGA +curl -sX POST "https://$SOAM_KC/auth/admin/realms/$SOAM_KC_REALM_ID/client-scopes" \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $TKN" \ + -d "{\"description\": \"Start Issue New Pen Saga\",\"id\": \"PEN_REQUEST_BATCH_NEW_PEN_SAGA\",\"name\": \"PEN_REQUEST_BATCH_NEW_PEN_SAGA\",\"protocol\": \"openid-connect\",\"attributes\" : {\"include.in.token.scope\" : \"true\",\"display.on.consent.screen\" : \"false\"}}" + +echo +echo Writing scope PEN_REQUEST_BATCH_USER_MATCH_SAGA +curl -sX POST "https://$SOAM_KC/auth/admin/realms/$SOAM_KC_REALM_ID/client-scopes" \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $TKN" \ + -d "{\"description\": \"Start Processing user match a student to a pen request from psi or school\",\"id\": \"PEN_REQUEST_BATCH_USER_MATCH_SAGA\",\"name\": \"PEN_REQUEST_BATCH_USER_MATCH_SAGA\",\"protocol\": \"openid-connect\",\"attributes\" : {\"include.in.token.scope\" : \"true\",\"display.on.consent.screen\" : \"false\"}}" + +echo +echo Writing scope PEN_REQUEST_BATCH_READ_SAGA +curl -sX POST "https://$SOAM_KC/auth/admin/realms/$SOAM_KC_REALM_ID/client-scopes" \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $TKN" \ + -d "{\"description\": \"Fetch Saga information based on saga id.\",\"id\": \"PEN_REQUEST_BATCH_READ_SAGA\",\"name\": \"PEN_REQUEST_BATCH_READ_SAGA\",\"protocol\": \"openid-connect\",\"attributes\" : {\"include.in.token.scope\" : \"true\",\"display.on.consent.screen\" : \"false\"}}" + +echo +echo Writing scope PEN_REQUEST_BATCH_WRITE_SAGA +curl -sX POST "https://$SOAM_KC/auth/admin/realms/$SOAM_KC_REALM_ID/client-scopes" \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $TKN" \ + -d "{\"description\": \"Write Saga information.\",\"id\": \"PEN_REQUEST_BATCH_WRITE_SAGA\",\"name\": \"PEN_REQUEST_BATCH_WRITE_SAGA\",\"protocol\": \"openid-connect\",\"attributes\" : {\"include.in.token.scope\" : \"true\",\"display.on.consent.screen\" : \"false\"}}" + +echo +echo Writing scope PEN_REQUEST_BATCH_READ_HISTORY +curl -sX POST "https://$SOAM_KC/auth/admin/realms/$SOAM_KC_REALM_ID/client-scopes" \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $TKN" \ + -d "{\"description\": \"Read PEN request batch history records.\",\"id\": \"PEN_REQUEST_BATCH_READ_HISTORY\",\"name\": \"PEN_REQUEST_BATCH_READ_HISTORY\",\"protocol\": \"openid-connect\",\"attributes\" : {\"include.in.token.scope\" : \"true\",\"display.on.consent.screen\" : \"false\"}}" + +echo +echo Writing scope PEN_REQUEST_BATCH_ARCHIVE_SAGA +curl -sX POST "https://$SOAM_KC/auth/admin/realms/$SOAM_KC_REALM_ID/client-scopes" \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $TKN" \ + -d "{\"description\": \"Start archive and return saga.\",\"id\": \"PEN_REQUEST_BATCH_ARCHIVE_SAGA\",\"name\": \"PEN_REQUEST_BATCH_ARCHIVE_SAGA\",\"protocol\": \"openid-connect\",\"attributes\" : {\"include.in.token.scope\" : \"true\",\"display.on.consent.screen\" : \"false\"}}" + +echo +echo Writing scope PEN_REQUEST_BATCH_REPOST_SAGA +curl -sX POST "https://$SOAM_KC/auth/admin/realms/$SOAM_KC_REALM_ID/client-scopes" \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $TKN" \ + -d "{\"description\": \"Start repost reports saga.\",\"id\": \"PEN_REQUEST_BATCH_REPOST_SAGA\",\"name\": \"PEN_REQUEST_BATCH_REPOST_SAGA\",\"protocol\": \"openid-connect\",\"attributes\" : {\"include.in.token.scope\" : \"true\",\"display.on.consent.screen\" : \"false\"}}" + +########################################################### +#Setup for config-map +########################################################### +SPLUNK_URL="gww.splunk.educ.gov.bc.ca" +FLB_CONFIG="[SERVICE] + Flush 1 + Daemon Off + Log_Level debug + HTTP_Server On + HTTP_Listen 0.0.0.0 + Parsers_File parsers.conf +[INPUT] + Name tail + Path /mnt/log/* + Exclude_Path *.gz,*.zip + Parser docker + Mem_Buf_Limit 20MB + Buffer_Chunk_Size 5MB + Buffer_Max_Size 5MB +[FILTER] + Name record_modifier + Match * + Record hostname \${HOSTNAME} +[OUTPUT] + Name stdout + Match * +[OUTPUT] + Name splunk + Match * + Host $SPLUNK_URL + Port 443 + TLS On + TLS.Verify Off + Message_Key $APP_NAME + Splunk_Token $SPLUNK_TOKEN +" +PARSER_CONFIG=" +[PARSER] + Name docker + Format json +" + +THREADS_MIN_SUBSCRIBER=4 +THREADS_MAX_SUBSCRIBER=8 +SAGAS_MAX_PENDING=100 +SAGAS_MAX_PARALLEL=100 + +SOFT_DELETED_RETENTION_DAYS=365 +SCHEDULED_JOBS_EXTRACT_UNPROCESSED_PENWEB_PEN_WEB_BLOBS_CRON="-" +SCHEDULED_JOBS_EXTRACT_UNPROCESSED_PEN_WEB_BLOBS_CRON="0 0/10 * * * *" +SCHEDULED_JOBS_EXTRACT_UNCOMPLETED_SAGAS_CRON="0 0/1 * * * *" +SCHEDULED_JOBS_EXTRACT_UNPROCESSED_STUDENTS_CRON="0/10 * * * * *" +SCHEDULED_JOBS_PURGE_SOFT_DELETED_RECORDS_CRON="@midnight" +SCHEDULED_JOBS_PURGE_OLD_SAGA_RECORDS_CRON="@midnight" +SCHEDULED_JOBS_MARK_PROCESSED_BATCHES_ACTIVE_CRON="0 0/1 * * * *" +SCHEDULED_JOBS_PROCESS_LOADED_BATCHES_FOR_REPEATS_CRON="0 0/2 * * * *" + +if [ "$envValue" = "dev" ]; then + PEN_COORDINATOR_EMAIL=aditya.sharma@gov.bc.ca + SOFT_DELETED_RETENTION_DAYS=2 +fi + +if [ "$envValue" = "test" ]; then + PEN_COORDINATOR_EMAIL=Gurvinder.J.Bhatia@gov.bc.ca + SOFT_DELETED_RETENTION_DAYS=2 +fi +# when it will be time for go live the value of SCHEDULED_JOBS_EXTRACT_UNPROCESSED_PEN_WEB_BLOBS_CRON will be set to "0 0/10 18-23,00-05 * * *" so that it runs from 6PM to 6AM +if [ "$envValue" = "prod" ]; then + PEN_COORDINATOR_EMAIL=pens.coordinator@gov.bc.ca + SCHEDULED_JOBS_EXTRACT_UNPROCESSED_PENWEB_PEN_WEB_BLOBS_CRON="0 0/10 7-17 * * *" + SCHEDULED_JOBS_EXTRACT_UNPROCESSED_PEN_WEB_BLOBS_CRON="0 0/10 18-23,00-05 * * *" + SCHEDULED_JOBS_EXTRACT_UNCOMPLETED_SAGAS_CRON="0 0/1 * * * *" + SCHEDULED_JOBS_EXTRACT_UNPROCESSED_STUDENTS_CRON="0/10 * * * * *" + SCHEDULED_JOBS_PURGE_SOFT_DELETED_RECORDS_CRON="@midnight" + SCHEDULED_JOBS_PURGE_OLD_SAGA_RECORDS_CRON="@midnight" + SCHEDULED_JOBS_MARK_PROCESSED_BATCHES_ACTIVE_CRON="0 0/1 * * * *" + SCHEDULED_JOBS_PROCESS_LOADED_BATCHES_FOR_REPEATS_CRON="0 0/2 * * * *" +fi + +echo +echo Creating config map "$APP_NAME"-config-map +oc create -n "$OPENSHIFT_NAMESPACE"-"$envValue" configmap "$APP_NAME"-config-map --from-literal=TZ=$TZVALUE --from-literal=JDBC_URL="$DB_JDBC_CONNECT_STRING" --from-literal=ORACLE_USERNAME="$DB_USER" --from-literal=ORACLE_PASSWORD="$DB_PWD" --from-literal=SPRING_SECURITY_LOG_LEVEL=INFO --from-literal=SPRING_WEB_LOG_LEVEL=INFO --from-literal=APP_LOG_LEVEL=INFO --from-literal=SPRING_BOOT_AUTOCONFIG_LOG_LEVEL=INFO --from-literal=SPRING_SHOW_REQUEST_DETAILS=false --from-literal=SCHEDULED_JOBS_EXTRACT_UNPROCESSED_PEN_WEB_BLOBS_CRON="$SCHEDULED_JOBS_EXTRACT_UNPROCESSED_PEN_WEB_BLOBS_CRON" --from-literal=SCHEDULED_JOBS_EXTRACT_UNPROCESSED_PENWEB_PEN_WEB_BLOBS_CRON="$SCHEDULED_JOBS_EXTRACT_UNPROCESSED_PENWEB_PEN_WEB_BLOBS_CRON" --from-literal=SCHEDULED_JOBS_EXTRACT_UNPROCESSED_PEN_WEB_BLOBS_CRON_LOCK_AT_LEAST_FOR="540s" --from-literal=SCHEDULED_JOBS_EXTRACT_UNPROCESSED_PEN_WEB_BLOBS_CRON_LOCK_AT_MOST_FOR="580s" --from-literal=NATS_URL="$NATS_URL" --from-literal=NATS_CLUSTER="$NATS_CLUSTER" --from-literal=SPRING_JPA_SHOW_SQL="false" --from-literal=SCHEDULED_JOBS_EXTRACT_UNCOMPLETED_SAGAS_CRON="$SCHEDULED_JOBS_EXTRACT_UNCOMPLETED_SAGAS_CRON" --from-literal=SCHEDULED_JOBS_EXTRACT_UNCOMPLETED_SAGAS_CRON_LOCK_AT_LEAST_FOR="55s" --from-literal=SCHEDULED_JOBS_EXTRACT_UNCOMPLETED_SAGAS_CRON_LOCK_AT_MOST_FOR="57s" --from-literal=SCHEDULED_JOBS_EXTRACT_UNPROCESSED_STUDENTS_CRON="$SCHEDULED_JOBS_EXTRACT_UNPROCESSED_STUDENTS_CRON" --from-literal=SCHEDULED_JOBS_EXTRACT_UNPROCESSED_STUDENTS_CRON_LOCK_AT_LEAST_FOR="8s" --from-literal=SCHEDULED_JOBS_EXTRACT_UNPROCESSED_STUDENTS_CRON_LOCK_AT_MOST_FOR="8s" --from-literal=CLIENT_ID="pen-reg-batch-api-service" --from-literal=CLIENT_SECRET="$PRB_APIServiceClientSecret" --from-literal=STUDENT_API_URL="http://student-api-master.$COMMON_NAMESPACE-$envValue.svc.cluster.local:8080/api/v1/student" --from-literal=SCHOOL_API_URL="http://school-api-master.$COMMON_NAMESPACE-$envValue.svc.cluster.local:8080/api/v1/schools" --from-literal=TOKEN_URL="https://$SOAM_KC/auth/realms/$SOAM_KC_REALM_ID/protocol/openid-connect/token" --from-literal=URL_REDIS="redis.$OPENSHIFT_NAMESPACE-$envValue.svc.cluster.local:6379" --from-literal=REPEAT_TIME_WINDOW_K12=0 --from-literal=REPEAT_TIME_WINDOW_PSI=0 --from-literal=SPRING_DATASOURCE_HIKARI_MAXIMUM_POOL_SIZE=16 --from-literal=SPRING_DATASOURCE_HIKARI_MINIMUM_IDLE=16 --from-literal=PEN_SERVICES_API_URL="http://pen-services-api-master.$OPENSHIFT_NAMESPACE-$envValue.svc.cluster.local:8080" --from-literal=HIBERNATE_SQL_PARAM_LOG_LEVEL=INFO --from-literal=PURGE_RECORDS_SAGA_AFTER_DAYS=365 --from-literal=SCHEDULED_JOBS_PURGE_OLD_SAGA_RECORDS_CRON="$SCHEDULED_JOBS_PURGE_OLD_SAGA_RECORDS_CRON" --from-literal=SOFT_DELETED_RETENTION_DAYS="$SOFT_DELETED_RETENTION_DAYS" --from-literal=SCHEDULED_JOBS_PURGE_SOFT_DELETED_RECORDS_CRON="$SCHEDULED_JOBS_PURGE_SOFT_DELETED_RECORDS_CRON" --from-literal=NATS_MAX_RECONNECT=60 --from-literal=HOLD_BATCHES_EQUAL_OR_LARGER_THAN=2500 --from-literal=PEN_COORDINATOR_EMAIL="$PEN_COORDINATOR_EMAIL" --from-literal=TOKEN_ISSUER_URL="https://$SOAM_KC/auth/realms/$SOAM_KC_REALM_ID" --from-literal=PEN_COORDINATOR_MAILING_ADDRESS="Ministry of Education and Child Care, Data Collection Unit PO Box 9170, Stn. Prov. Govt, Victoria BC, V8W 9H7" --from-literal=PEN_COORDINATOR_TELEPHONE="(250)356-8020" --from-literal=PEN_COORDINATOR_FACSIMILE="(250)953-0450" --from-literal=SCHEDULED_JOBS_MARK_PROCESSED_BATCHES_ACTIVE_CRON="$SCHEDULED_JOBS_MARK_PROCESSED_BATCHES_ACTIVE_CRON" --from-literal=SCHEDULED_JOBS_MARK_PROCESSED_BATCHES_ACTIVE_CRON_LOCK_AT_LEAST_FOR="50s" --from-literal=SCHEDULED_JOBS_MARK_PROCESSED_BATCHES_ACTIVE_LOCK_AT_MOST_FOR="55s" --from-literal=SCHEDULED_JOBS_PROCESS_LOADED_BATCHES_FOR_REPEATS_CRON="$SCHEDULED_JOBS_PROCESS_LOADED_BATCHES_FOR_REPEATS_CRON" --from-literal=SCHEDULED_JOBS_PROCESS_LOADED_BATCHES_FOR_REPEATS_CRON_LOCK_AT_LEAST_FOR="100s" --from-literal=SCHEDULED_JOBS_PROCESS_LOADED_BATCHES_FOR_REPEATS_CRON_LOCK_AT_MOST_FOR="110s" --from-literal=SKIP_VALIDATION_FOR_DISTRICT_CODES="102,104" --from-literal=STUDENT_THRESHOLD_GENERATE_PDF="500" --from-literal=THREADS_MIN_SUBSCRIBER="$THREADS_MIN_SUBSCRIBER" --from-literal=THREADS_MAX_SUBSCRIBER="$THREADS_MAX_SUBSCRIBER" --from-literal=SAGAS_MAX_PENDING="$SAGAS_MAX_PENDING" --from-literal=SAGAS_MAX_PARALLEL="$SAGAS_MAX_PARALLEL" --dry-run -o yaml | oc apply -f - + +echo +echo Setting environment variables for $APP_NAME-$SOAM_KC_REALM_ID application +oc -n $OPENSHIFT_NAMESPACE-$envValue set env --from=configmap/$APP_NAME-config-map dc/$APP_NAME-$SOAM_KC_REALM_ID + +echo Creating config map "$APP_NAME"-flb-sc-config-map +oc create -n "$OPENSHIFT_NAMESPACE"-"$envValue" configmap "$APP_NAME"-flb-sc-config-map --from-literal=fluent-bit.conf="$FLB_CONFIG" --from-literal=parsers.conf="$PARSER_CONFIG" --dry-run -o yaml | oc apply -f - + +echo Removing un-needed config entries +oc -n "$OPENSHIFT_NAMESPACE"-"$envValue" set env dc/"$APP_NAME"-$SOAM_KC_REALM_ID KEYCLOAK_PUBLIC_KEY- From 341e454bf627c08094459613e15985db2a4a8f97 Mon Sep 17 00:00:00 2001 From: SoLetsDev <74216496+SoLetsDev@users.noreply.github.com> Date: Tue, 30 May 2023 15:09:14 -0700 Subject: [PATCH 03/12] fix autoscaler --- tools/openshift/api.dc.ocp4.yaml | 6 ++++-- tools/openshift/api.dc.yaml | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/tools/openshift/api.dc.ocp4.yaml b/tools/openshift/api.dc.ocp4.yaml index 2196aef6..c90ea559 100644 --- a/tools/openshift/api.dc.ocp4.yaml +++ b/tools/openshift/api.dc.ocp4.yaml @@ -134,7 +134,7 @@ objects: selector: app: "${APP_NAME}-${JOB_NAME}" deploymentconfig: "${APP_NAME}-${JOB_NAME}" -- apiVersion: autoscaling/v2beta1 +- apiVersion: autoscaling/v2 kind: HorizontalPodAutoscaler metadata: name: "${APP_NAME}-${JOB_NAME}-cpu-autoscaler" @@ -150,7 +150,9 @@ objects: - type: Resource resource: name: cpu - targetAverageUtilization: 200 + target: + type: Utilization + averageUtilization: 200 parameters: - name: REPO_NAME description: Application repository name diff --git a/tools/openshift/api.dc.yaml b/tools/openshift/api.dc.yaml index 247b86eb..d0fc0651 100644 --- a/tools/openshift/api.dc.yaml +++ b/tools/openshift/api.dc.yaml @@ -132,7 +132,7 @@ objects: selector: app: "${APP_NAME}-${JOB_NAME}" deploymentconfig: "${APP_NAME}-${JOB_NAME}" -- apiVersion: autoscaling/v2beta1 +- apiVersion: autoscaling/v2 kind: HorizontalPodAutoscaler metadata: name: "${APP_NAME}-${JOB_NAME}-cpu-autoscaler" @@ -148,7 +148,9 @@ objects: - type: Resource resource: name: cpu - targetAverageUtilization: 200 + target: + type: Utilization + averageUtilization: 200 parameters: - name: REPO_NAME description: Application repository name From b505f7e4fca8a4792ebca509fd33e3eaa407cc86 Mon Sep 17 00:00:00 2001 From: SoLetsDev <74216496+SoLetsDev@users.noreply.github.com> Date: Tue, 6 Jun 2023 12:08:29 -0700 Subject: [PATCH 04/12] updating jacoco and fixing unit tests --- api/pom.xml | 2 +- api/src/test/resources/application.properties | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/api/pom.xml b/api/pom.xml index 3a8ccbea..5c2247db 100644 --- a/api/pom.xml +++ b/api/pom.xml @@ -267,7 +267,7 @@ org.jacoco jacoco-maven-plugin - 0.8.4 + 0.8.8 org.hibernate.orm.tooling diff --git a/api/src/test/resources/application.properties b/api/src/test/resources/application.properties index ff710089..7521e06a 100644 --- a/api/src/test/resources/application.properties +++ b/api/src/test/resources/application.properties @@ -59,8 +59,8 @@ pen.coordinator.email=test@abc.com pen.coordinator.mailing.address=mailing address pen.coordinator.telephone=5555555555 pen.coordinator.facsimile=3333333333 -spring.redis.host=localhost -spring.redis.port=6370 +spring.data.redis.host=localhost +spring.data.redis.port=6370 scheduled.jobs.mark.processed.batches.active.cron=- scheduled.jobs.mark.processed.batches.active.cron.lockAtLeastFor=1s scheduled.jobs.mark.processed.batches.active.cron.lockAtMostFor=1s From 0ee7f5d1aa2d726924ab23976ceafd56bff5b555 Mon Sep 17 00:00:00 2001 From: SoLetsDev <74216496+SoLetsDev@users.noreply.github.com> Date: Wed, 7 Jun 2023 08:36:22 -0700 Subject: [PATCH 05/12] adding workflow dispatch to build --- .github/workflows/ci-api-build.and.test.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci-api-build.and.test.yml b/.github/workflows/ci-api-build.and.test.yml index 7b21c65d..470ae3bd 100644 --- a/.github/workflows/ci-api-build.and.test.yml +++ b/.github/workflows/ci-api-build.and.test.yml @@ -1,6 +1,7 @@ name: API CI on: + workflow_dispatch: push: branches: - master From 0b8a2c3af5971209f4f842c8008889eb735996a3 Mon Sep 17 00:00:00 2001 From: arcshiftsolutions Date: Wed, 7 Jun 2023 10:21:04 -0700 Subject: [PATCH 06/12] Change for analysis. --- .github/workflows/api.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/api.yml b/.github/workflows/api.yml index 9f40dbb4..59af64a7 100644 --- a/.github/workflows/api.yml +++ b/.github/workflows/api.yml @@ -44,12 +44,12 @@ jobs: with: path: ~/.sonar/cache key: ${{ runner.os }}-sonar - #- name: Run Sonar Analysis - # run: mvn -f pom.xml sonar:sonar - # -Dsonar.login=${{ secrets.SONAR_TOKEN }} - # -Dsonar.host.url=https://sonarcloud.io - #-Dsonar.organization=bcgov-sonarcloud - #-Dsonar.projectKey=${{ secrets.SONAR_PROJECT_KEY }} + - name: Run Sonar Analysis + run: mvn -f pom.xml sonar:sonar + -Dsonar.login=${{ secrets.SONAR_TOKEN }} + -Dsonar.host.url=https://sonarcloud.io + -Dsonar.organization=bcgov-sonarcloud + -Dsonar.projectKey=${{ secrets.SONAR_PROJECT_KEY }} env: GITHUB_TOKEN: ${{ github.token }} - name: Run Trivy vulnerability scanner in repo mode From 2387024c33b8750210259d5eab1402f2c9f619b8 Mon Sep 17 00:00:00 2001 From: SoLetsDev <74216496+SoLetsDev@users.noreply.github.com> Date: Mon, 12 Jun 2023 16:16:05 -0700 Subject: [PATCH 07/12] quick fix api.dc.yaml --- tools/openshift/api.dc.yaml | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/tools/openshift/api.dc.yaml b/tools/openshift/api.dc.yaml index d0fc0651..6b945cf2 100644 --- a/tools/openshift/api.dc.yaml +++ b/tools/openshift/api.dc.yaml @@ -4,19 +4,19 @@ kind: Template labels: template: "${REPO_NAME}-template" metadata: - name: "${REPO_NAME}-${JOB_NAME}-dc" + name: "${REPO_NAME}-${BRANCH}-dc" objects: - apiVersion: v1 kind: DeploymentConfig metadata: labels: - app: "${APP_NAME}-${JOB_NAME}" - name: "${APP_NAME}-${JOB_NAME}" + app: "${APP_NAME}-${BRANCH}" + name: "${APP_NAME}-${BRANCH}" spec: replicas: ${{MIN_REPLICAS}} selector: - app: "${APP_NAME}-${JOB_NAME}" - deploymentConfig: "${APP_NAME}-${JOB_NAME}" + app: "${APP_NAME}-${BRANCH}" + deploymentConfig: "${APP_NAME}-${BRANCH}" strategy: resources: {} type: Rolling @@ -28,11 +28,11 @@ objects: prometheus.io/port: '8080' prometheus.io/scrape: 'true' labels: - app: "${APP_NAME}-${JOB_NAME}" - deploymentConfig: "${APP_NAME}-${JOB_NAME}" + app: "${APP_NAME}-${BRANCH}" + deploymentConfig: "${APP_NAME}-${BRANCH}" spec: containers: - - image: docker-registry.default.svc:5000/${NAMESPACE}/${REPO_NAME}-${JOB_NAME}:${TAG} + - image: image-registry.openshift-image-registry.svc:5000/${NAMESPACE}/${REPO_NAME}-${BRANCH}:${TAG} imagePullPolicy: Always volumeMounts: - name: tls-certs @@ -57,7 +57,7 @@ objects: timeoutSeconds: 5 failureThreshold: 5 successThreshold: 1 - name: "${APP_NAME}-${JOB_NAME}" + name: "${APP_NAME}-${BRANCH}" ports: - containerPort: ${{CONTAINER_PORT}} protocol: TCP @@ -69,7 +69,7 @@ objects: cpu: "${MAX_CPU}" memory: "${MAX_MEM}" - image: fluent/fluent-bit - name: "${APP_NAME}-${JOB_NAME}-fluent-bit-sidecar" + name: "${APP_NAME}-${BRANCH}-fluent-bit-sidecar" imagePullPolicy: Always volumeMounts: - name: log-storage @@ -122,25 +122,25 @@ objects: annotations: service.alpha.openshift.io/serving-cert-secret-name: "pen-reg-batch-api-cert" labels: - app: "${APP_NAME}-${JOB_NAME}" - name: "${APP_NAME}-${JOB_NAME}" + app: "${APP_NAME}-${BRANCH}" + name: "${APP_NAME}-${BRANCH}" spec: ports: - name: ${CONTAINER_PORT}-tcp port: ${{CONTAINER_PORT}} protocol: TCP selector: - app: "${APP_NAME}-${JOB_NAME}" - deploymentconfig: "${APP_NAME}-${JOB_NAME}" + app: "${APP_NAME}-${BRANCH}" + deploymentconfig: "${APP_NAME}-${BRANCH}" - apiVersion: autoscaling/v2 kind: HorizontalPodAutoscaler metadata: - name: "${APP_NAME}-${JOB_NAME}-cpu-autoscaler" + name: "${APP_NAME}-${BRANCH}-cpu-autoscaler" spec: scaleTargetRef: apiVersion: apps.openshift.io/v1 kind: DeploymentConfig - name: "${APP_NAME}-${JOB_NAME}" + name: "${APP_NAME}-${BRANCH}" subresource: scale minReplicas: ${{MIN_REPLICAS}} maxReplicas: ${{MAX_REPLICAS}} @@ -155,7 +155,7 @@ parameters: - name: REPO_NAME description: Application repository name required: true -- name: JOB_NAME +- name: BRANCH description: Job identifier (i.e. 'backend' OR 'frontend') required: true - name: NAMESPACE From ff104fb4777b40e7a8b7a0bd6735831b2cb43748 Mon Sep 17 00:00:00 2001 From: SoLetsDev <74216496+SoLetsDev@users.noreply.github.com> Date: Mon, 12 Jun 2023 16:23:26 -0700 Subject: [PATCH 08/12] fixing api.dc.yaml --- tools/openshift/api.dc.yaml | 25 ++++++++++--------------- 1 file changed, 10 insertions(+), 15 deletions(-) diff --git a/tools/openshift/api.dc.yaml b/tools/openshift/api.dc.yaml index 6b945cf2..24b5e9d9 100644 --- a/tools/openshift/api.dc.yaml +++ b/tools/openshift/api.dc.yaml @@ -2,9 +2,9 @@ apiVersion: template.openshift.io/v1 kind: Template labels: - template: "${REPO_NAME}-template" + template: "${REPO_NAME}-template" metadata: - name: "${REPO_NAME}-${BRANCH}-dc" + name: "${REPO_NAME}-${BRANCH}-dc" objects: - apiVersion: v1 kind: DeploymentConfig @@ -35,11 +35,11 @@ objects: - image: image-registry.openshift-image-registry.svc:5000/${NAMESPACE}/${REPO_NAME}-${BRANCH}:${TAG} imagePullPolicy: Always volumeMounts: - - name: tls-certs - mountPath: "/etc/tls-certs" - readOnly: true - - name: log-storage - mountPath: /logs + - name: tls-certs + mountPath: "/etc/tls-certs" + readOnly: true + - name: log-storage + mountPath: /logs readinessProbe: tcpSocket: port: 8080 @@ -68,9 +68,11 @@ objects: limits: cpu: "${MAX_CPU}" memory: "${MAX_MEM}" - - image: fluent/fluent-bit + - image: artifacts.developer.gov.bc.ca/docker-remote/fluent/fluent-bit:1.5.7 name: "${APP_NAME}-${BRANCH}-fluent-bit-sidecar" imagePullPolicy: Always + imagePullSecrets: + - name: artifactory-creds volumeMounts: - name: log-storage mountPath: /mnt/log @@ -164,9 +166,6 @@ parameters: - name: APP_NAME description: Application name required: true -- name: HOST_ROUTE - description: The host the route will use to expose service outside cluster - required: true - name: CONTAINER_PORT description: The port on which the application will be accessible value: "8080" @@ -174,10 +173,6 @@ parameters: - name: TAG description: The identifying tag for this specific deployment required: true -- name: HOST_PATH - description: The path appended to the HOST_ROUTE where the root of this project will be served - value: "/" - required: false - name: MIN_REPLICAS description: The minimum amount of replicas required: true From b0d4bc71111bc3b43097082673db69cb522aea79 Mon Sep 17 00:00:00 2001 From: SoLetsDev <74216496+SoLetsDev@users.noreply.github.com> Date: Mon, 12 Jun 2023 16:36:11 -0700 Subject: [PATCH 09/12] fixing api.dc.yaml --- tools/openshift/api.dc.yaml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tools/openshift/api.dc.yaml b/tools/openshift/api.dc.yaml index 24b5e9d9..b3d43692 100644 --- a/tools/openshift/api.dc.yaml +++ b/tools/openshift/api.dc.yaml @@ -35,11 +35,11 @@ objects: - image: image-registry.openshift-image-registry.svc:5000/${NAMESPACE}/${REPO_NAME}-${BRANCH}:${TAG} imagePullPolicy: Always volumeMounts: - - name: tls-certs - mountPath: "/etc/tls-certs" - readOnly: true - - name: log-storage - mountPath: /logs + - name: tls-certs + mountPath: "/etc/tls-certs" + readOnly: true + - name: log-storage + mountPath: /logs readinessProbe: tcpSocket: port: 8080 From df0164fe1f8f7a3539d8b98ae19291d2e16c37ae Mon Sep 17 00:00:00 2001 From: SoLetsDev <74216496+SoLetsDev@users.noreply.github.com> Date: Mon, 12 Jun 2023 16:42:24 -0700 Subject: [PATCH 10/12] fixing application-openshift.properties --- api/src/main/resources/application-openshift.properties | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/api/src/main/resources/application-openshift.properties b/api/src/main/resources/application-openshift.properties index 7e8e9563..5a0d1e49 100644 --- a/api/src/main/resources/application-openshift.properties +++ b/api/src/main/resources/application-openshift.properties @@ -1,4 +1,4 @@ -spring.redis.cluster.nodes=${URL_REDIS} -spring.redis.cluster.max-redirects=6 -spring.redis.lettuce.cluster.refresh.adaptive=true -spring.redis.lettuce.cluster.refresh.period=5000 +spring.data.redis.cluster.nodes=${URL_REDIS} +spring.data.redis.cluster.max-redirects=6 +spring.data.redis.lettuce.cluster.refresh.adaptive=true +spring.data.redis.lettuce.cluster.refresh.period=5000 From 343b1cdf10758de5e0d756aa422a7eb27b83da5a Mon Sep 17 00:00:00 2001 From: SoLetsDev <74216496+SoLetsDev@users.noreply.github.com> Date: Tue, 13 Jun 2023 09:11:32 -0700 Subject: [PATCH 11/12] fix update the mailing address on the PEN activity report. --- tools/config/update-configmap.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/config/update-configmap.sh b/tools/config/update-configmap.sh index 15c60250..11aed961 100644 --- a/tools/config/update-configmap.sh +++ b/tools/config/update-configmap.sh @@ -237,7 +237,7 @@ fi echo echo Creating config map "$APP_NAME"-config-map -oc create -n "$OPENSHIFT_NAMESPACE"-"$envValue" configmap "$APP_NAME"-config-map --from-literal=TZ=$TZVALUE --from-literal=JDBC_URL="$DB_JDBC_CONNECT_STRING" --from-literal=ORACLE_USERNAME="$DB_USER" --from-literal=ORACLE_PASSWORD="$DB_PWD" --from-literal=SPRING_SECURITY_LOG_LEVEL=INFO --from-literal=SPRING_WEB_LOG_LEVEL=INFO --from-literal=APP_LOG_LEVEL=INFO --from-literal=SPRING_BOOT_AUTOCONFIG_LOG_LEVEL=INFO --from-literal=SPRING_SHOW_REQUEST_DETAILS=false --from-literal=SCHEDULED_JOBS_EXTRACT_UNPROCESSED_PEN_WEB_BLOBS_CRON="$SCHEDULED_JOBS_EXTRACT_UNPROCESSED_PEN_WEB_BLOBS_CRON" --from-literal=SCHEDULED_JOBS_EXTRACT_UNPROCESSED_PENWEB_PEN_WEB_BLOBS_CRON="$SCHEDULED_JOBS_EXTRACT_UNPROCESSED_PENWEB_PEN_WEB_BLOBS_CRON" --from-literal=SCHEDULED_JOBS_EXTRACT_UNPROCESSED_PEN_WEB_BLOBS_CRON_LOCK_AT_LEAST_FOR="540s" --from-literal=SCHEDULED_JOBS_EXTRACT_UNPROCESSED_PEN_WEB_BLOBS_CRON_LOCK_AT_MOST_FOR="580s" --from-literal=NATS_URL="$NATS_URL" --from-literal=NATS_CLUSTER="$NATS_CLUSTER" --from-literal=SPRING_JPA_SHOW_SQL="false" --from-literal=SCHEDULED_JOBS_EXTRACT_UNCOMPLETED_SAGAS_CRON="$SCHEDULED_JOBS_EXTRACT_UNCOMPLETED_SAGAS_CRON" --from-literal=SCHEDULED_JOBS_EXTRACT_UNCOMPLETED_SAGAS_CRON_LOCK_AT_LEAST_FOR="55s" --from-literal=SCHEDULED_JOBS_EXTRACT_UNCOMPLETED_SAGAS_CRON_LOCK_AT_MOST_FOR="57s" --from-literal=SCHEDULED_JOBS_EXTRACT_UNPROCESSED_STUDENTS_CRON="$SCHEDULED_JOBS_EXTRACT_UNPROCESSED_STUDENTS_CRON" --from-literal=SCHEDULED_JOBS_EXTRACT_UNPROCESSED_STUDENTS_CRON_LOCK_AT_LEAST_FOR="8s" --from-literal=SCHEDULED_JOBS_EXTRACT_UNPROCESSED_STUDENTS_CRON_LOCK_AT_MOST_FOR="8s" --from-literal=CLIENT_ID="pen-reg-batch-api-service" --from-literal=CLIENT_SECRET="$PRB_APIServiceClientSecret" --from-literal=STUDENT_API_URL="http://student-api-master.$COMMON_NAMESPACE-$envValue.svc.cluster.local:8080/api/v1/student" --from-literal=SCHOOL_API_URL="http://school-api-master.$COMMON_NAMESPACE-$envValue.svc.cluster.local:8080/api/v1/schools" --from-literal=TOKEN_URL="https://$SOAM_KC/auth/realms/$SOAM_KC_REALM_ID/protocol/openid-connect/token" --from-literal=URL_REDIS="redis.$OPENSHIFT_NAMESPACE-$envValue.svc.cluster.local:6379" --from-literal=REPEAT_TIME_WINDOW_K12=0 --from-literal=REPEAT_TIME_WINDOW_PSI=0 --from-literal=SPRING_DATASOURCE_HIKARI_MAXIMUM_POOL_SIZE=16 --from-literal=SPRING_DATASOURCE_HIKARI_MINIMUM_IDLE=16 --from-literal=PEN_SERVICES_API_URL="http://pen-services-api-master.$OPENSHIFT_NAMESPACE-$envValue.svc.cluster.local:8080" --from-literal=HIBERNATE_SQL_PARAM_LOG_LEVEL=INFO --from-literal=PURGE_RECORDS_SAGA_AFTER_DAYS=365 --from-literal=SCHEDULED_JOBS_PURGE_OLD_SAGA_RECORDS_CRON="$SCHEDULED_JOBS_PURGE_OLD_SAGA_RECORDS_CRON" --from-literal=SOFT_DELETED_RETENTION_DAYS="$SOFT_DELETED_RETENTION_DAYS" --from-literal=SCHEDULED_JOBS_PURGE_SOFT_DELETED_RECORDS_CRON="$SCHEDULED_JOBS_PURGE_SOFT_DELETED_RECORDS_CRON" --from-literal=NATS_MAX_RECONNECT=60 --from-literal=HOLD_BATCHES_EQUAL_OR_LARGER_THAN=2500 --from-literal=PEN_COORDINATOR_EMAIL="$PEN_COORDINATOR_EMAIL" --from-literal=TOKEN_ISSUER_URL="https://$SOAM_KC/auth/realms/$SOAM_KC_REALM_ID" --from-literal=PEN_COORDINATOR_MAILING_ADDRESS="Ministry of Education and Child Care, Data Collection Unit PO Box 9170, Stn. Prov. Govt, Victoria BC, V8W 9H7" --from-literal=PEN_COORDINATOR_TELEPHONE="(250)356-8020" --from-literal=PEN_COORDINATOR_FACSIMILE="(250)953-0450" --from-literal=SCHEDULED_JOBS_MARK_PROCESSED_BATCHES_ACTIVE_CRON="$SCHEDULED_JOBS_MARK_PROCESSED_BATCHES_ACTIVE_CRON" --from-literal=SCHEDULED_JOBS_MARK_PROCESSED_BATCHES_ACTIVE_CRON_LOCK_AT_LEAST_FOR="50s" --from-literal=SCHEDULED_JOBS_MARK_PROCESSED_BATCHES_ACTIVE_LOCK_AT_MOST_FOR="55s" --from-literal=SCHEDULED_JOBS_PROCESS_LOADED_BATCHES_FOR_REPEATS_CRON="$SCHEDULED_JOBS_PROCESS_LOADED_BATCHES_FOR_REPEATS_CRON" --from-literal=SCHEDULED_JOBS_PROCESS_LOADED_BATCHES_FOR_REPEATS_CRON_LOCK_AT_LEAST_FOR="100s" --from-literal=SCHEDULED_JOBS_PROCESS_LOADED_BATCHES_FOR_REPEATS_CRON_LOCK_AT_MOST_FOR="110s" --from-literal=SKIP_VALIDATION_FOR_DISTRICT_CODES="102,104" --from-literal=STUDENT_THRESHOLD_GENERATE_PDF="500" --from-literal=THREADS_MIN_SUBSCRIBER="$THREADS_MIN_SUBSCRIBER" --from-literal=THREADS_MAX_SUBSCRIBER="$THREADS_MAX_SUBSCRIBER" --from-literal=SAGAS_MAX_PENDING="$SAGAS_MAX_PENDING" --from-literal=SAGAS_MAX_PARALLEL="$SAGAS_MAX_PARALLEL" --dry-run -o yaml | oc apply -f - +oc create -n "$OPENSHIFT_NAMESPACE"-"$envValue" configmap "$APP_NAME"-config-map --from-literal=TZ=$TZVALUE --from-literal=JDBC_URL="$DB_JDBC_CONNECT_STRING" --from-literal=ORACLE_USERNAME="$DB_USER" --from-literal=ORACLE_PASSWORD="$DB_PWD" --from-literal=SPRING_SECURITY_LOG_LEVEL=INFO --from-literal=SPRING_WEB_LOG_LEVEL=INFO --from-literal=APP_LOG_LEVEL=INFO --from-literal=SPRING_BOOT_AUTOCONFIG_LOG_LEVEL=INFO --from-literal=SPRING_SHOW_REQUEST_DETAILS=false --from-literal=SCHEDULED_JOBS_EXTRACT_UNPROCESSED_PEN_WEB_BLOBS_CRON="$SCHEDULED_JOBS_EXTRACT_UNPROCESSED_PEN_WEB_BLOBS_CRON" --from-literal=SCHEDULED_JOBS_EXTRACT_UNPROCESSED_PENWEB_PEN_WEB_BLOBS_CRON="$SCHEDULED_JOBS_EXTRACT_UNPROCESSED_PENWEB_PEN_WEB_BLOBS_CRON" --from-literal=SCHEDULED_JOBS_EXTRACT_UNPROCESSED_PEN_WEB_BLOBS_CRON_LOCK_AT_LEAST_FOR="540s" --from-literal=SCHEDULED_JOBS_EXTRACT_UNPROCESSED_PEN_WEB_BLOBS_CRON_LOCK_AT_MOST_FOR="580s" --from-literal=NATS_URL="$NATS_URL" --from-literal=NATS_CLUSTER="$NATS_CLUSTER" --from-literal=SPRING_JPA_SHOW_SQL="false" --from-literal=SCHEDULED_JOBS_EXTRACT_UNCOMPLETED_SAGAS_CRON="$SCHEDULED_JOBS_EXTRACT_UNCOMPLETED_SAGAS_CRON" --from-literal=SCHEDULED_JOBS_EXTRACT_UNCOMPLETED_SAGAS_CRON_LOCK_AT_LEAST_FOR="55s" --from-literal=SCHEDULED_JOBS_EXTRACT_UNCOMPLETED_SAGAS_CRON_LOCK_AT_MOST_FOR="57s" --from-literal=SCHEDULED_JOBS_EXTRACT_UNPROCESSED_STUDENTS_CRON="$SCHEDULED_JOBS_EXTRACT_UNPROCESSED_STUDENTS_CRON" --from-literal=SCHEDULED_JOBS_EXTRACT_UNPROCESSED_STUDENTS_CRON_LOCK_AT_LEAST_FOR="8s" --from-literal=SCHEDULED_JOBS_EXTRACT_UNPROCESSED_STUDENTS_CRON_LOCK_AT_MOST_FOR="8s" --from-literal=CLIENT_ID="pen-reg-batch-api-service" --from-literal=CLIENT_SECRET="$PRB_APIServiceClientSecret" --from-literal=STUDENT_API_URL="http://student-api-master.$COMMON_NAMESPACE-$envValue.svc.cluster.local:8080/api/v1/student" --from-literal=SCHOOL_API_URL="http://school-api-master.$COMMON_NAMESPACE-$envValue.svc.cluster.local:8080/api/v1/schools" --from-literal=TOKEN_URL="https://$SOAM_KC/auth/realms/$SOAM_KC_REALM_ID/protocol/openid-connect/token" --from-literal=URL_REDIS="redis.$OPENSHIFT_NAMESPACE-$envValue.svc.cluster.local:6379" --from-literal=REPEAT_TIME_WINDOW_K12=0 --from-literal=REPEAT_TIME_WINDOW_PSI=0 --from-literal=SPRING_DATASOURCE_HIKARI_MAXIMUM_POOL_SIZE=16 --from-literal=SPRING_DATASOURCE_HIKARI_MINIMUM_IDLE=16 --from-literal=PEN_SERVICES_API_URL="http://pen-services-api-master.$OPENSHIFT_NAMESPACE-$envValue.svc.cluster.local:8080" --from-literal=HIBERNATE_SQL_PARAM_LOG_LEVEL=INFO --from-literal=PURGE_RECORDS_SAGA_AFTER_DAYS=365 --from-literal=SCHEDULED_JOBS_PURGE_OLD_SAGA_RECORDS_CRON="$SCHEDULED_JOBS_PURGE_OLD_SAGA_RECORDS_CRON" --from-literal=SOFT_DELETED_RETENTION_DAYS="$SOFT_DELETED_RETENTION_DAYS" --from-literal=SCHEDULED_JOBS_PURGE_SOFT_DELETED_RECORDS_CRON="$SCHEDULED_JOBS_PURGE_SOFT_DELETED_RECORDS_CRON" --from-literal=NATS_MAX_RECONNECT=60 --from-literal=HOLD_BATCHES_EQUAL_OR_LARGER_THAN=2500 --from-literal=PEN_COORDINATOR_EMAIL="$PEN_COORDINATOR_EMAIL" --from-literal=TOKEN_ISSUER_URL="https://$SOAM_KC/auth/realms/$SOAM_KC_REALM_ID" --from-literal=PEN_COORDINATOR_MAILING_ADDRESS="Ministry of Education and Child Care, Data Collection Unit PO Box 9886, Stn. Prov. Govt, Victoria BC, V8W 9T6" --from-literal=PEN_COORDINATOR_TELEPHONE="(250)356-8020" --from-literal=PEN_COORDINATOR_FACSIMILE="(250)953-0450" --from-literal=SCHEDULED_JOBS_MARK_PROCESSED_BATCHES_ACTIVE_CRON="$SCHEDULED_JOBS_MARK_PROCESSED_BATCHES_ACTIVE_CRON" --from-literal=SCHEDULED_JOBS_MARK_PROCESSED_BATCHES_ACTIVE_CRON_LOCK_AT_LEAST_FOR="50s" --from-literal=SCHEDULED_JOBS_MARK_PROCESSED_BATCHES_ACTIVE_LOCK_AT_MOST_FOR="55s" --from-literal=SCHEDULED_JOBS_PROCESS_LOADED_BATCHES_FOR_REPEATS_CRON="$SCHEDULED_JOBS_PROCESS_LOADED_BATCHES_FOR_REPEATS_CRON" --from-literal=SCHEDULED_JOBS_PROCESS_LOADED_BATCHES_FOR_REPEATS_CRON_LOCK_AT_LEAST_FOR="100s" --from-literal=SCHEDULED_JOBS_PROCESS_LOADED_BATCHES_FOR_REPEATS_CRON_LOCK_AT_MOST_FOR="110s" --from-literal=SKIP_VALIDATION_FOR_DISTRICT_CODES="102,104" --from-literal=STUDENT_THRESHOLD_GENERATE_PDF="500" --from-literal=THREADS_MIN_SUBSCRIBER="$THREADS_MIN_SUBSCRIBER" --from-literal=THREADS_MAX_SUBSCRIBER="$THREADS_MAX_SUBSCRIBER" --from-literal=SAGAS_MAX_PENDING="$SAGAS_MAX_PENDING" --from-literal=SAGAS_MAX_PARALLEL="$SAGAS_MAX_PARALLEL" --dry-run -o yaml | oc apply -f - echo echo Setting environment variables for $APP_NAME-$SOAM_KC_REALM_ID application From 82c04f6cc23ae905209927ca4f32890dce3d88bf Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 14 Jun 2023 22:44:41 +0000 Subject: [PATCH 12/12] Bump guava from 30.1.1-jre to 32.0.0-jre in /api Bumps [guava](https://github.com/google/guava) from 30.1.1-jre to 32.0.0-jre. - [Release notes](https://github.com/google/guava/releases) - [Commits](https://github.com/google/guava/commits) --- updated-dependencies: - dependency-name: com.google.guava:guava dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- api/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/pom.xml b/api/pom.xml index 5c2247db..d5679202 100644 --- a/api/pom.xml +++ b/api/pom.xml @@ -26,7 +26,7 @@ 1.6.15 2.11.0 21.3.0.0 - 30.1.1-jre + 32.0.0-jre 0.7.3 4.0.4 0.15