Skip to content

Commit c99772a

Browse files
smirnovaaeSadibhatlabennavapbc
authored
Spring boot upgrade
## 🎫 Ticket https://jira.cms.gov/browse/AB2D-6340 ## 🛠 Changes <!-- What was added, updated, or removed in this PR? --> ## ℹ️ Context <!-- Why were these changes made? Add background context suitable for a non-technical audience. --> <!-- If any of the following security implications apply, this PR must not be merged without Stephen Walter's approval. Explain in this section and add @SJWalter11 as a reviewer. - Adds a new software dependency or dependencies. - Modifies or invalidates one or more of our security controls. - Stores or transmits data that was not stored or transmitted before. - Requires additional review of security implications for other reasons. --> ## 🧪 Validation <!-- How were the changes verified? Did you fully test the acceptance criteria in the ticket? Provide reproducible testing instructions and screenshots if applicable. --> --------- Co-authored-by: Sadibhatla <[email protected]> Co-authored-by: Ben Hesford <[email protected]>
1 parent 3316143 commit c99772a

File tree

96 files changed

+595
-458
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

96 files changed

+595
-458
lines changed

.github/workflows/e2e-test.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -88,10 +88,10 @@ jobs:
8888
8989
- name: Run e2e-bfd-test
9090
run: |
91-
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
91+
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
9292
9393
- name: Run e2e-test
9494
env:
9595
E2E_ENVIRONMENT: ${{ inputs.environment == 'dev' && 'DEV' || inputs.environment == 'test' && 'IMPL' || inputs.environment == 'sbx' && 'SANDBOX' }}
9696
run: |
97-
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
97+
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

api/pom.xml

+16-4
Original file line numberDiff line numberDiff line change
@@ -104,18 +104,30 @@
104104
<type>zip</type>
105105
</dependency>
106106
<dependency>
107-
<groupId>org.apache.httpcomponents</groupId>
108-
<artifactId>httpclient</artifactId>
107+
<groupId>org.apache.httpcomponents.client5</groupId>
108+
<artifactId>httpclient5</artifactId>
109+
<version>5.3</version>
110+
</dependency>
111+
<dependency>
112+
<groupId>org.apache.httpcomponents.core5</groupId>
113+
<artifactId>httpcore5</artifactId>
114+
<version>5.3</version>
109115
</dependency>
110116
<dependency>
111117
<groupId>org.springdoc</groupId>
112-
<artifactId>springdoc-openapi-ui</artifactId>
113-
<version>1.6.14</version>
118+
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
119+
<version>2.6.0</version>
114120
</dependency>
115121
<dependency>
116122
<groupId>gov.cms.ab2d</groupId>
117123
<artifactId>ab2d-events-client</artifactId>
118124
<version>${events-client.version}</version>
125+
<exclusions>
126+
<exclusion>
127+
<groupId>io.awspring.cloud</groupId>
128+
<artifactId>spring-cloud-aws-dependencies</artifactId>
129+
</exclusion>
130+
</exclusions>
119131
</dependency>
120132
</dependencies>
121133

api/src/main/java/gov/cms/ab2d/api/SpringBootApp.java

+3
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,12 @@
33
import gov.cms.ab2d.api.config.MDCFilter;
44
import gov.cms.ab2d.common.feign.ContractFeignClient;
55
import org.springframework.boot.SpringApplication;
6+
import org.springframework.boot.autoconfigure.ImportAutoConfiguration;
67
import org.springframework.boot.autoconfigure.SpringBootApplication;
78
import org.springframework.boot.autoconfigure.domain.EntityScan;
89
import org.springframework.boot.web.servlet.FilterRegistrationBean;
910
import org.springframework.cloud.openfeign.EnableFeignClients;
11+
import org.springframework.cloud.openfeign.FeignAutoConfiguration;
1012
import org.springframework.context.annotation.Bean;
1113
import org.springframework.context.annotation.PropertySource;
1214
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
@@ -16,6 +18,7 @@
1618
@EnableJpaRepositories({"gov.cms.ab2d.common.repository", "gov.cms.ab2d.job.repository"})
1719
@PropertySource("classpath:application.common.properties")
1820
@EnableFeignClients(clients = {ContractFeignClient.class})
21+
@ImportAutoConfiguration({FeignAutoConfiguration.class})
1922
public class SpringBootApp {
2023

2124
public static void main(String[] args) {

api/src/main/java/gov/cms/ab2d/api/config/MDCFilter.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@
44
import org.springframework.stereotype.Component;
55
import org.springframework.web.filter.OncePerRequestFilter;
66

7-
import javax.servlet.FilterChain;
8-
import javax.servlet.ServletException;
9-
import javax.servlet.http.HttpServletRequest;
10-
import javax.servlet.http.HttpServletResponse;
7+
import jakarta.servlet.FilterChain;
8+
import jakarta.servlet.ServletException;
9+
import jakarta.servlet.http.HttpServletRequest;
10+
import jakarta.servlet.http.HttpServletResponse;
1111
import java.io.IOException;
1212

1313
@Component

api/src/main/java/gov/cms/ab2d/api/config/OpenAPIConfig.java

+6-6
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@
1414
import io.swagger.v3.oas.models.security.SecurityRequirement;
1515
import io.swagger.v3.oas.models.security.SecurityScheme;
1616
import lombok.extern.slf4j.Slf4j;
17-
import org.springdoc.core.GroupedOpenApi;
18-
import org.springdoc.core.customizers.OpenApiCustomiser;
17+
import org.springdoc.core.models.GroupedOpenApi;
18+
import org.springdoc.core.customizers.OpenApiCustomizer;
1919
import org.springframework.context.annotation.Bean;
2020
import org.springframework.context.annotation.Configuration;
2121

@@ -33,7 +33,7 @@
3333
*
3434
* {@link OpenAPI} - the base configuration for all versions of the API
3535
* {@link GroupedOpenApi} - one of these for each version of FHIR we support (V1 - STU3, V2 - R4)
36-
* {@link OpenApiCustomiser} - customize a {@link GroupedOpenApi} with default behavior
36+
* {@link OpenApiCustomizer} - customize a {@link GroupedOpenApi} with default behavior
3737
*/
3838
@Slf4j
3939
@Configuration
@@ -70,7 +70,7 @@ public GroupedOpenApi apiV1() {
7070
// Only match /v1/fhir calls
7171
.pathsToMatch(API_PREFIX_V1 + FHIR_PREFIX + "/**")
7272
// Customize the page with default error responses to authentication and internal errors
73-
.addOpenApiCustomiser(defaultResponseMessages())
73+
.addOpenApiCustomizer(defaultResponseMessages())
7474
.build();
7575
}
7676

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

92-
public OpenApiCustomiser defaultResponseMessages() {
92+
public OpenApiCustomizer defaultResponseMessages() {
9393
return api -> {
9494

9595
// Add JSON templates for expected response bodies

api/src/main/java/gov/cms/ab2d/api/controller/AdminAPI.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@
1818
import org.springframework.web.bind.annotation.ResponseStatus;
1919
import org.springframework.web.bind.annotation.RestController;
2020

21-
import javax.servlet.http.HttpServletRequest;
22-
import javax.validation.constraints.NotBlank;
21+
import jakarta.servlet.http.HttpServletRequest;
22+
import jakarta.validation.constraints.NotBlank;
2323
import java.time.OffsetDateTime;
2424

2525
import static gov.cms.ab2d.api.controller.common.ApiText.*;

api/src/main/java/gov/cms/ab2d/api/controller/ErrorHandler.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
import java.net.URISyntaxException;
2424
import java.util.HashMap;
2525
import java.util.stream.Collectors;
26-
import javax.servlet.http.HttpServletRequest;
26+
import jakarta.servlet.http.HttpServletRequest;
2727
import lombok.extern.slf4j.Slf4j;
2828
import org.apache.commons.lang3.exception.ExceptionUtils;
2929
import org.hl7.fhir.instance.model.api.IBaseResource;

api/src/main/java/gov/cms/ab2d/api/controller/HealthAPI.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import gov.cms.ab2d.api.util.HealthCheck;
44
import gov.cms.ab2d.eventclient.clients.SQSEventClient;
55
import gov.cms.ab2d.eventclient.events.ApiResponseEvent;
6-
import javax.servlet.http.HttpServletRequest;
6+
import jakarta.servlet.http.HttpServletRequest;
77
import lombok.AllArgsConstructor;
88
import org.slf4j.MDC;
99
import org.springframework.http.HttpStatus;

api/src/main/java/gov/cms/ab2d/api/controller/common/ApiCommon.java

+3-4
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@
1515
import gov.cms.ab2d.eventclient.events.ApiResponseEvent;
1616
import gov.cms.ab2d.fhir.FhirVersion;
1717
import gov.cms.ab2d.job.dto.StartJobDTO;
18+
import java.time.OffsetDateTime;
19+
import java.util.Set;
20+
import jakarta.servlet.http.HttpServletRequest;
1821
import lombok.extern.slf4j.Slf4j;
1922
import org.slf4j.MDC;
2023
import org.springframework.http.HttpHeaders;
@@ -23,10 +26,6 @@
2326
import org.springframework.stereotype.Service;
2427
import org.springframework.web.servlet.support.ServletUriComponentsBuilder;
2528

26-
import javax.servlet.http.HttpServletRequest;
27-
import java.time.OffsetDateTime;
28-
import java.util.Set;
29-
3029
import static gov.cms.ab2d.common.util.Constants.*;
3130
import static gov.cms.ab2d.fhir.BundleUtils.EOB;
3231
import static java.time.format.DateTimeFormatter.ISO_OFFSET_DATE_TIME;

api/src/main/java/gov/cms/ab2d/api/controller/common/Common.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

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

5-
import javax.servlet.http.HttpServletRequest;
5+
import jakarta.servlet.http.HttpServletRequest;
66

77
public class Common {
88
private static final String HTTPS_STRING = "https";

api/src/main/java/gov/cms/ab2d/api/controller/common/FileDownloadCommon.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77
import java.io.FileInputStream;
88
import java.io.IOException;
99
import java.io.OutputStream;
10-
import javax.servlet.http.HttpServletRequest;
11-
import javax.servlet.http.HttpServletResponse;
10+
import jakarta.servlet.http.HttpServletRequest;
11+
import jakarta.servlet.http.HttpServletResponse;
1212
import lombok.AllArgsConstructor;
1313
import lombok.extern.slf4j.Slf4j;
1414
import org.apache.commons.io.IOUtils;

api/src/main/java/gov/cms/ab2d/api/controller/common/StatusCommon.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
import java.time.format.DateTimeFormatter;
1919
import java.util.ArrayList;
2020
import java.util.List;
21-
import javax.servlet.http.HttpServletRequest;
21+
import jakarta.servlet.http.HttpServletRequest;
2222
import lombok.extern.slf4j.Slf4j;
2323
import org.slf4j.MDC;
2424
import org.springframework.beans.factory.annotation.Value;

api/src/main/java/gov/cms/ab2d/api/controller/v1/BulkDataAccessAPIV1.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@
1919
import org.springframework.http.HttpStatus;
2020
import org.springframework.http.ResponseEntity;
2121

22-
import javax.servlet.http.HttpServletRequest;
23-
import javax.validation.constraints.NotBlank;
22+
import jakarta.servlet.http.HttpServletRequest;
23+
import jakarta.validation.constraints.NotBlank;
2424
import java.time.OffsetDateTime;
2525
import org.springframework.web.bind.annotation.GetMapping;
2626
import org.springframework.web.bind.annotation.PathVariable;

api/src/main/java/gov/cms/ab2d/api/controller/v1/CapabilityAPIV1.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
import io.swagger.v3.oas.annotations.responses.ApiResponse;
1010
import io.swagger.v3.oas.annotations.responses.ApiResponses;
1111
import io.swagger.v3.oas.annotations.tags.Tag;
12-
import javax.servlet.http.HttpServletRequest;
12+
import jakarta.servlet.http.HttpServletRequest;
1313
import lombok.AllArgsConstructor;
1414
import lombok.extern.slf4j.Slf4j;
1515
import org.hl7.fhir.dstu3.model.CapabilityStatement;

api/src/main/java/gov/cms/ab2d/api/controller/v1/FileDownloadAPIV1.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,9 @@
2020
import org.springframework.web.bind.annotation.ResponseStatus;
2121
import org.springframework.web.bind.annotation.RestController;
2222

23-
import javax.servlet.http.HttpServletRequest;
24-
import javax.servlet.http.HttpServletResponse;
25-
import javax.validation.constraints.NotBlank;
23+
import jakarta.servlet.http.HttpServletRequest;
24+
import jakarta.servlet.http.HttpServletResponse;
25+
import jakarta.validation.constraints.NotBlank;
2626
import java.io.IOException;
2727

2828
import static org.springframework.http.HttpHeaders.CONTENT_TYPE;

api/src/main/java/gov/cms/ab2d/api/controller/v1/StatusAPIV1.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@
2323
import org.springframework.web.bind.annotation.ResponseStatus;
2424
import org.springframework.web.bind.annotation.RestController;
2525

26-
import javax.servlet.http.HttpServletRequest;
27-
import javax.validation.constraints.NotBlank;
26+
import jakarta.servlet.http.HttpServletRequest;
27+
import jakarta.validation.constraints.NotBlank;
2828

2929
import static gov.cms.ab2d.api.controller.common.ApiText.FILE_EXPIRES;
3030
import static gov.cms.ab2d.api.controller.common.ApiText.JOB_CANCELLED_MSG;

api/src/main/java/gov/cms/ab2d/api/controller/v2/BulkDataAccessAPIV2.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515
import io.swagger.v3.oas.annotations.responses.ApiResponses;
1616
import io.swagger.v3.oas.annotations.tags.Tag;
1717
import java.time.OffsetDateTime;
18-
import javax.servlet.http.HttpServletRequest;
19-
import javax.validation.constraints.NotBlank;
18+
import jakarta.servlet.http.HttpServletRequest;
19+
import jakarta.validation.constraints.NotBlank;
2020
import lombok.extern.slf4j.Slf4j;
2121
import org.slf4j.MDC;
2222
import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression;

api/src/main/java/gov/cms/ab2d/api/controller/v2/CapabilityAPIV2.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
import io.swagger.v3.oas.annotations.responses.ApiResponse;
99
import io.swagger.v3.oas.annotations.responses.ApiResponses;
1010
import io.swagger.v3.oas.annotations.tags.Tag;
11-
import javax.servlet.http.HttpServletRequest;
11+
import jakarta.servlet.http.HttpServletRequest;
1212
import lombok.AllArgsConstructor;
1313
import lombok.extern.slf4j.Slf4j;
1414
import org.hl7.fhir.r4.model.CapabilityStatement;

api/src/main/java/gov/cms/ab2d/api/controller/v2/FileDownloadAPIV2.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@
2121
import org.springframework.web.bind.annotation.ResponseStatus;
2222
import org.springframework.web.bind.annotation.RestController;
2323

24-
import javax.servlet.http.HttpServletRequest;
25-
import javax.servlet.http.HttpServletResponse;
26-
import javax.validation.constraints.NotBlank;
24+
import jakarta.servlet.http.HttpServletRequest;
25+
import jakarta.servlet.http.HttpServletResponse;
26+
import jakarta.validation.constraints.NotBlank;
2727
import java.io.IOException;
2828

2929
import static gov.cms.ab2d.api.controller.common.ApiText.BULK_DNLD_DSC;

api/src/main/java/gov/cms/ab2d/api/controller/v2/StatusAPIV2.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@
2424
import org.springframework.web.bind.annotation.ResponseStatus;
2525
import org.springframework.web.bind.annotation.RestController;
2626

27-
import javax.servlet.http.HttpServletRequest;
28-
import javax.validation.constraints.NotBlank;
27+
import jakarta.servlet.http.HttpServletRequest;
28+
import jakarta.validation.constraints.NotBlank;
2929

3030
import static gov.cms.ab2d.api.controller.common.ApiCommon.JOB_CANCELLED_MSG;
3131
import static gov.cms.ab2d.api.controller.common.ApiText.FILE_EXPIRES;

api/src/main/java/gov/cms/ab2d/api/security/FilterChainExceptionHandler.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@
66
import org.springframework.web.filter.OncePerRequestFilter;
77
import org.springframework.web.servlet.HandlerExceptionResolver;
88

9-
import javax.servlet.FilterChain;
10-
import javax.servlet.http.HttpServletRequest;
11-
import javax.servlet.http.HttpServletResponse;
9+
import jakarta.servlet.FilterChain;
10+
import jakarta.servlet.http.HttpServletRequest;
11+
import jakarta.servlet.http.HttpServletResponse;
1212

1313
/**
1414
* This class is used to handle exceptions that come from filters, such as the JwtTokenAuthenticationFilter, since by

api/src/main/java/gov/cms/ab2d/api/security/JwtTokenAuthenticationFilter.java

+5-5
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,11 @@
1616
import java.util.function.Predicate;
1717
import java.util.regex.Pattern;
1818
import java.util.stream.Collectors;
19-
import javax.annotation.PostConstruct;
20-
import javax.servlet.FilterChain;
21-
import javax.servlet.ServletException;
22-
import javax.servlet.http.HttpServletRequest;
23-
import javax.servlet.http.HttpServletResponse;
19+
import jakarta.annotation.PostConstruct;
20+
import jakarta.servlet.FilterChain;
21+
import jakarta.servlet.ServletException;
22+
import jakarta.servlet.http.HttpServletRequest;
23+
import jakarta.servlet.http.HttpServletResponse;
2424
import lombok.extern.slf4j.Slf4j;
2525
import org.apache.commons.lang3.StringUtils;
2626
import org.slf4j.MDC;

0 commit comments

Comments
 (0)