Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] Spring boot upgrade #1401

Open
wants to merge 38 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
ab77804
Spring boot upgrade
smirnovaae Oct 15, 2024
7ca89dc
Merge branch 'main' into AB2D-6340/Upgrade_spring
Sadibhatla Oct 16, 2024
75c5353
Spring boot upgrade
smirnovaae Oct 15, 2024
39d5963
resolving conflicts
smirnovaae Oct 22, 2024
3566290
Merge remote-tracking branch 'origin/AB2D-6340/Upgrade_spring' into A…
smirnovaae Oct 22, 2024
c5e0d07
fix build
smirnovaae Oct 22, 2024
25313bb
fix build
smirnovaae Oct 23, 2024
c2f948e
Merge branch 'main' into AB2D-6340/Upgrade_spring
smirnovaae Oct 30, 2024
07bca6c
wip
smirnovaae Oct 30, 2024
3961cb4
wip
smirnovaae Oct 31, 2024
2f327ce
wip
smirnovaae Nov 1, 2024
adfb1c2
Spring boot upgrade fix for tests
smirnovaae Nov 14, 2024
d91d24f
Merge branch 'main' into AB2D-6340/Upgrade_spring
smirnovaae Nov 18, 2024
890649f
Fix build for e2e
smirnovaae Nov 18, 2024
e1bde1e
Merge remote-tracking branch 'origin/AB2D-6340/Upgrade_spring' into A…
smirnovaae Nov 18, 2024
e1b491c
Fix build for e2e
smirnovaae Nov 19, 2024
c12935c
Fix build for e2e
smirnovaae Nov 19, 2024
9979cb3
Fix build for e2e
smirnovaae Nov 21, 2024
c65de74
wip
smirnovaae Nov 22, 2024
8cdd581
Try to fix missing BFDClient bean
bennavapbc Nov 22, 2024
152923c
added @ComponentScan for e2e-bfd-test
smirnovaae Nov 22, 2024
2a88402
removed mock for Ab2dEnvironment
smirnovaae Nov 22, 2024
ca80e9d
added @EnableRetry
smirnovaae Nov 22, 2024
2ee8e26
added @Profile for ContractService
smirnovaae Nov 25, 2024
c68b7d6
added SNS Service
smirnovaae Nov 25, 2024
b6c978a
Updated bfdVersion to support HttpPost with Spring boot upgrade
smirnovaae Jan 9, 2025
cf0fcf8
Merge branch 'main' into AB2D-6340/Upgrade_spring
smirnovaae Jan 9, 2025
abfea91
wip
smirnovaae Jan 9, 2025
ac2378d
Upgraded event client version
smirnovaae Jan 13, 2025
af2041e
Changed events-client version
smirnovaae Jan 15, 2025
cfe1ec6
wip
smirnovaae Jan 23, 2025
728f580
revert @JsonTypeInfo for LoggableEvent and SQSMessages
smirnovaae Jan 28, 2025
c0b69ac
revert @Profile("prod")
smirnovaae Jan 28, 2025
4fc6fc4
update dependency
smirnovaae Jan 29, 2025
ff4619e
update dependency
smirnovaae Jan 29, 2025
751e884
json serializer
smirnovaae Feb 3, 2025
d3192e1
added JsonTypeInfo.As.WRAPPER_ARRAY to @JsonTypeInfo
smirnovaae Feb 5, 2025
d4c43d6
upgraded event-client version
smirnovaae Feb 5, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/e2e-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -88,10 +88,10 @@ jobs:

- name: Run e2e-bfd-test
run: |
mvn test -s settings.xml -pl e2e-bfd-test -am -Dtest=EndToEndBfdTests -DfailIfNoTests=false -Dusername=$ARTIFACTORY_USER -Dpassword=$ARTIFACTORY_PASSWORD -Drepository_url=$ARTIFACTORY_URL --no-transfer-progress
mvn test -s settings.xml -pl e2e-bfd-test -am -Dtest=EndToEndBfdTests -DfailIfNoTests=false -Dsurefire.failIfNoSpecifiedTests=false -Dusername=$ARTIFACTORY_USER -Dpassword=$ARTIFACTORY_PASSWORD -Drepository_url=$ARTIFACTORY_URL --no-transfer-progress

- name: Run e2e-test
env:
E2E_ENVIRONMENT: ${{ inputs.environment == 'dev' && 'DEV' || inputs.environment == 'test' && 'IMPL' || inputs.environment == 'sbx' && 'SANDBOX' }}
run: |
mvn test -s settings.xml -pl e2e-test -am -Dtest=TestRunner -DfailIfNoTests=false -Dusername=$ARTIFACTORY_USER -Dpassword=$ARTIFACTORY_PASSWORD -Drepository_url=$ARTIFACTORY_URL --no-transfer-progress
mvn test -s settings.xml -pl e2e-test -am -Dtest=TestRunner -DfailIfNoTests=false -Dsurefire.failIfNoSpecifiedTests=false -Dusername=$ARTIFACTORY_USER -Dpassword=$ARTIFACTORY_PASSWORD -Drepository_url=$ARTIFACTORY_URL --no-transfer-progress
20 changes: 16 additions & 4 deletions api/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -104,18 +104,30 @@
<type>zip</type>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<groupId>org.apache.httpcomponents.client5</groupId>
<artifactId>httpclient5</artifactId>
<version>5.3</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents.core5</groupId>
<artifactId>httpcore5</artifactId>
<version>5.3</version>
</dependency>
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-ui</artifactId>
<version>1.6.14</version>
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
<version>2.6.0</version>
</dependency>
<dependency>
<groupId>gov.cms.ab2d</groupId>
<artifactId>ab2d-events-client</artifactId>
<version>${events-client.version}</version>
<exclusions>
<exclusion>
<groupId>io.awspring.cloud</groupId>
<artifactId>spring-cloud-aws-dependencies</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>

Expand Down
3 changes: 3 additions & 0 deletions api/src/main/java/gov/cms/ab2d/api/SpringBootApp.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,12 @@
import gov.cms.ab2d.api.config.MDCFilter;
import gov.cms.ab2d.common.feign.ContractFeignClient;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.ImportAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.domain.EntityScan;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.cloud.openfeign.FeignAutoConfiguration;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.PropertySource;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
Expand All @@ -16,6 +18,7 @@
@EnableJpaRepositories({"gov.cms.ab2d.common.repository", "gov.cms.ab2d.job.repository"})
@PropertySource("classpath:application.common.properties")
@EnableFeignClients(clients = {ContractFeignClient.class})
@ImportAutoConfiguration({FeignAutoConfiguration.class})
public class SpringBootApp {

public static void main(String[] args) {
Expand Down
8 changes: 4 additions & 4 deletions api/src/main/java/gov/cms/ab2d/api/config/MDCFilter.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@
import org.springframework.stereotype.Component;
import org.springframework.web.filter.OncePerRequestFilter;

import javax.servlet.FilterChain;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import jakarta.servlet.FilterChain;
import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;

@Component
Expand Down
12 changes: 6 additions & 6 deletions api/src/main/java/gov/cms/ab2d/api/config/OpenAPIConfig.java
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@
import io.swagger.v3.oas.models.security.SecurityRequirement;
import io.swagger.v3.oas.models.security.SecurityScheme;
import lombok.extern.slf4j.Slf4j;
import org.springdoc.core.GroupedOpenApi;
import org.springdoc.core.customizers.OpenApiCustomiser;
import org.springdoc.core.models.GroupedOpenApi;
import org.springdoc.core.customizers.OpenApiCustomizer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

Expand All @@ -33,7 +33,7 @@
*
* {@link OpenAPI} - the base configuration for all versions of the API
* {@link GroupedOpenApi} - one of these for each version of FHIR we support (V1 - STU3, V2 - R4)
* {@link OpenApiCustomiser} - customize a {@link GroupedOpenApi} with default behavior
* {@link OpenApiCustomizer} - customize a {@link GroupedOpenApi} with default behavior
*/
@Slf4j
@Configuration
Expand Down Expand Up @@ -70,7 +70,7 @@ public GroupedOpenApi apiV1() {
// Only match /v1/fhir calls
.pathsToMatch(API_PREFIX_V1 + FHIR_PREFIX + "/**")
// Customize the page with default error responses to authentication and internal errors
.addOpenApiCustomiser(defaultResponseMessages())
.addOpenApiCustomizer(defaultResponseMessages())
.build();
}

Expand All @@ -85,11 +85,11 @@ public GroupedOpenApi apiV2() {
// Only match /v2/fhir calls
.pathsToMatch(API_PREFIX_V2 + FHIR_PREFIX + "/**")
// Customize the page with default error responses to authentication and internal errors
.addOpenApiCustomiser(defaultResponseMessages())
.addOpenApiCustomizer(defaultResponseMessages())
.build();
}

public OpenApiCustomiser defaultResponseMessages() {
public OpenApiCustomizer defaultResponseMessages() {
return api -> {

// Add JSON templates for expected response bodies
Expand Down
4 changes: 2 additions & 2 deletions api/src/main/java/gov/cms/ab2d/api/controller/AdminAPI.java
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@
import org.springframework.web.bind.annotation.ResponseStatus;
import org.springframework.web.bind.annotation.RestController;

import javax.servlet.http.HttpServletRequest;
import javax.validation.constraints.NotBlank;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.validation.constraints.NotBlank;
import java.time.OffsetDateTime;

import static gov.cms.ab2d.api.controller.common.ApiText.*;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
import java.net.URISyntaxException;
import java.util.HashMap;
import java.util.stream.Collectors;
import javax.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletRequest;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.exception.ExceptionUtils;
import org.hl7.fhir.instance.model.api.IBaseResource;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import gov.cms.ab2d.api.util.HealthCheck;
import gov.cms.ab2d.eventclient.clients.SQSEventClient;
import gov.cms.ab2d.eventclient.events.ApiResponseEvent;
import javax.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletRequest;
import lombok.AllArgsConstructor;
import org.slf4j.MDC;
import org.springframework.http.HttpStatus;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,9 @@
import gov.cms.ab2d.eventclient.events.ApiResponseEvent;
import gov.cms.ab2d.fhir.FhirVersion;
import gov.cms.ab2d.job.dto.StartJobDTO;
import java.time.OffsetDateTime;
import java.util.Set;
import jakarta.servlet.http.HttpServletRequest;
import lombok.extern.slf4j.Slf4j;
import org.slf4j.MDC;
import org.springframework.http.HttpHeaders;
Expand All @@ -23,10 +26,6 @@
import org.springframework.stereotype.Service;
import org.springframework.web.servlet.support.ServletUriComponentsBuilder;

import javax.servlet.http.HttpServletRequest;
import java.time.OffsetDateTime;
import java.util.Set;

import static gov.cms.ab2d.common.util.Constants.*;
import static gov.cms.ab2d.fhir.BundleUtils.EOB;
import static java.time.format.DateTimeFormatter.ISO_OFFSET_DATE_TIME;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

import org.springframework.web.servlet.support.ServletUriComponentsBuilder;

import javax.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletRequest;

public class Common {
private static final String HTTPS_STRING = "https";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@
import java.io.FileInputStream;
import java.io.IOException;
import java.io.OutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.io.IOUtils;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletRequest;
import lombok.extern.slf4j.Slf4j;
import org.slf4j.MDC;
import org.springframework.beans.factory.annotation.Value;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;

import javax.servlet.http.HttpServletRequest;
import javax.validation.constraints.NotBlank;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.validation.constraints.NotBlank;
import java.time.OffsetDateTime;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
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 javax.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletRequest;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.hl7.fhir.dstu3.model.CapabilityStatement;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,9 @@
import org.springframework.web.bind.annotation.ResponseStatus;
import org.springframework.web.bind.annotation.RestController;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.validation.constraints.NotBlank;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.NotBlank;
import java.io.IOException;

import static org.springframework.http.HttpHeaders.CONTENT_TYPE;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@
import org.springframework.web.bind.annotation.ResponseStatus;
import org.springframework.web.bind.annotation.RestController;

import javax.servlet.http.HttpServletRequest;
import javax.validation.constraints.NotBlank;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.validation.constraints.NotBlank;

import static gov.cms.ab2d.api.controller.common.ApiText.FILE_EXPIRES;
import static gov.cms.ab2d.api.controller.common.ApiText.JOB_CANCELLED_MSG;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@
import io.swagger.v3.oas.annotations.responses.ApiResponses;
import io.swagger.v3.oas.annotations.tags.Tag;
import java.time.OffsetDateTime;
import javax.servlet.http.HttpServletRequest;
import javax.validation.constraints.NotBlank;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.validation.constraints.NotBlank;
import lombok.extern.slf4j.Slf4j;
import org.slf4j.MDC;
import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
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 javax.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletRequest;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.hl7.fhir.r4.model.CapabilityStatement;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,9 @@
import org.springframework.web.bind.annotation.ResponseStatus;
import org.springframework.web.bind.annotation.RestController;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.validation.constraints.NotBlank;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.NotBlank;
import java.io.IOException;

import static gov.cms.ab2d.api.controller.common.ApiText.BULK_DNLD_DSC;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@
import org.springframework.web.bind.annotation.ResponseStatus;
import org.springframework.web.bind.annotation.RestController;

import javax.servlet.http.HttpServletRequest;
import javax.validation.constraints.NotBlank;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.validation.constraints.NotBlank;

import static gov.cms.ab2d.api.controller.common.ApiCommon.JOB_CANCELLED_MSG;
import static gov.cms.ab2d.api.controller.common.ApiText.FILE_EXPIRES;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
import org.springframework.web.filter.OncePerRequestFilter;
import org.springframework.web.servlet.HandlerExceptionResolver;

import javax.servlet.FilterChain;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import jakarta.servlet.FilterChain;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;

/**
* This class is used to handle exceptions that come from filters, such as the JwtTokenAuthenticationFilter, since by
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,11 @@
import java.util.function.Predicate;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
import javax.annotation.PostConstruct;
import javax.servlet.FilterChain;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import jakarta.annotation.PostConstruct;
import jakarta.servlet.FilterChain;
import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.MDC;
Expand Down
Loading