FINERACT-1724: Jakarta namespace introduction + relevant upgrades + EclipseLink 4 upgrade along with Spring Boot 3

This commit is contained in:
Arnold Galovics
2023-06-06 11:45:08 +02:00
committed by Arnold Gálovics
parent 84abf365c8
commit bc4b707646
736 changed files with 3997 additions and 3937 deletions
@@ -42,9 +42,6 @@ import org.mockito.junit.jupiter.MockitoExtension;
import org.mockito.junit.jupiter.MockitoSettings;
import org.mockito.quality.Strictness;
import org.springframework.batch.core.configuration.ListableJobLocator;
import org.springframework.batch.core.configuration.annotation.BatchConfigurer;
import org.springframework.batch.core.configuration.annotation.JobBuilderFactory;
import org.springframework.batch.core.configuration.annotation.StepBuilderFactory;
import org.springframework.batch.core.explore.JobExplorer;
import org.springframework.batch.core.launch.JobLauncher;
import org.springframework.batch.core.repository.JobRepository;
@@ -96,12 +93,6 @@ public class TestConfiguration {
};
}
@Primary
@Bean
public JobBuilderFactory jobBuilderFactory() {
return mock(JobBuilderFactory.class, RETURNS_MOCKS);
}
@Primary
@Bean
public JobExplorer jobExplorer() {
@@ -114,12 +105,6 @@ public class TestConfiguration {
return mock(JobLauncher.class, RETURNS_MOCKS);
}
@Primary
@Bean
public StepBuilderFactory stepBuilderFactory() {
return mock(StepBuilderFactory.class, RETURNS_MOCKS);
}
@Bean
public HikariDataSource tenantDataSource() {
return mock(HikariDataSource.class, Mockito.RETURNS_MOCKS);
@@ -184,12 +169,6 @@ public class TestConfiguration {
return mock(JdbcTemplate.class);
}
@Primary
@Bean
public BatchConfigurer batchConfigurer() {
return mock(BatchConfigurer.class, RETURNS_MOCKS);
}
@Primary
@Bean
public ListableJobLocator listableJobLocator() {
@@ -25,7 +25,7 @@ import static org.mockito.Mockito.verify;
import io.cucumber.java8.En;
import java.util.Collections;
import java.util.List;
import javax.ws.rs.core.UriInfo;
import jakarta.ws.rs.core.UriInfo;
import org.apache.fineract.batch.domain.BatchRequest;
import org.apache.fineract.batch.domain.BatchResponse;
import org.apache.fineract.batch.service.BatchApiService;
@@ -23,7 +23,7 @@ import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import java.util.stream.Stream;
import javax.ws.rs.HttpMethod;
import jakarta.ws.rs.HttpMethod;
import org.apache.fineract.batch.command.internal.ActivateClientCommandStrategy;
import org.apache.fineract.batch.command.internal.AdjustChargeByChargeExternalIdCommandStrategy;
import org.apache.fineract.batch.command.internal.AdjustChargeCommandStrategy;
@@ -25,8 +25,8 @@ import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.verifyNoInteractions;
import java.util.UUID;
import javax.ws.rs.HttpMethod;
import javax.ws.rs.core.UriInfo;
import jakarta.ws.rs.HttpMethod;
import jakarta.ws.rs.core.UriInfo;
import org.apache.commons.lang3.RandomStringUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.fineract.batch.domain.BatchRequest;
@@ -24,8 +24,8 @@ import static org.mockito.BDDMockito.given;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.verifyNoInteractions;
import javax.ws.rs.HttpMethod;
import javax.ws.rs.core.UriInfo;
import jakarta.ws.rs.HttpMethod;
import jakarta.ws.rs.core.UriInfo;
import org.apache.commons.lang3.RandomStringUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.fineract.batch.domain.BatchRequest;
@@ -25,8 +25,8 @@ import static org.mockito.BDDMockito.given;
import static org.mockito.Mockito.verify;
import java.util.UUID;
import javax.ws.rs.HttpMethod;
import javax.ws.rs.core.UriInfo;
import jakarta.ws.rs.HttpMethod;
import jakarta.ws.rs.core.UriInfo;
import org.apache.commons.lang3.RandomStringUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.fineract.batch.domain.BatchRequest;
@@ -23,8 +23,8 @@ import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.BDDMockito.given;
import static org.mockito.Mockito.verify;
import javax.ws.rs.HttpMethod;
import javax.ws.rs.core.UriInfo;
import jakarta.ws.rs.HttpMethod;
import jakarta.ws.rs.core.UriInfo;
import org.apache.commons.lang3.RandomStringUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.fineract.batch.domain.BatchRequest;
@@ -26,8 +26,8 @@ import static org.mockito.Mockito.verify;
import java.util.UUID;
import java.util.stream.Stream;
import javax.ws.rs.HttpMethod;
import javax.ws.rs.core.UriInfo;
import jakarta.ws.rs.HttpMethod;
import jakarta.ws.rs.core.UriInfo;
import org.apache.commons.lang3.RandomStringUtils;
import org.apache.fineract.batch.domain.BatchRequest;
import org.apache.fineract.batch.domain.BatchResponse;
@@ -25,8 +25,8 @@ import static org.mockito.Mockito.when;
import java.util.UUID;
import java.util.stream.Stream;
import javax.ws.rs.HttpMethod;
import javax.ws.rs.core.UriInfo;
import jakarta.ws.rs.HttpMethod;
import jakarta.ws.rs.core.UriInfo;
import org.apache.commons.lang3.RandomStringUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.fineract.batch.domain.BatchRequest;
@@ -22,8 +22,8 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.BDDMockito.given;
import javax.ws.rs.HttpMethod;
import javax.ws.rs.core.UriInfo;
import jakarta.ws.rs.HttpMethod;
import jakarta.ws.rs.core.UriInfo;
import org.apache.commons.lang3.RandomStringUtils;
import org.apache.fineract.batch.domain.BatchRequest;
import org.apache.fineract.batch.domain.BatchResponse;
@@ -23,8 +23,8 @@ import static org.junit.jupiter.api.Assertions.assertSame;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import javax.ws.rs.HttpMethod;
import javax.ws.rs.core.UriInfo;
import jakarta.ws.rs.HttpMethod;
import jakarta.ws.rs.core.UriInfo;
import org.apache.commons.lang3.RandomStringUtils;
import org.apache.fineract.batch.domain.BatchRequest;
import org.apache.fineract.batch.domain.BatchResponse;
@@ -24,8 +24,8 @@ import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import java.util.UUID;
import javax.ws.rs.HttpMethod;
import javax.ws.rs.core.UriInfo;
import jakarta.ws.rs.HttpMethod;
import jakarta.ws.rs.core.UriInfo;
import org.apache.commons.lang3.RandomStringUtils;
import org.apache.fineract.batch.domain.BatchRequest;
import org.apache.fineract.batch.domain.BatchResponse;
@@ -23,8 +23,8 @@ import static org.junit.jupiter.api.Assertions.assertSame;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import javax.ws.rs.HttpMethod;
import javax.ws.rs.core.UriInfo;
import jakarta.ws.rs.HttpMethod;
import jakarta.ws.rs.core.UriInfo;
import org.apache.commons.lang3.RandomStringUtils;
import org.apache.fineract.batch.domain.BatchRequest;
import org.apache.fineract.batch.domain.BatchResponse;
@@ -26,8 +26,8 @@ import static org.mockito.Mockito.verify;
import java.util.UUID;
import java.util.stream.Stream;
import javax.ws.rs.HttpMethod;
import javax.ws.rs.core.UriInfo;
import jakarta.ws.rs.HttpMethod;
import jakarta.ws.rs.core.UriInfo;
import org.apache.commons.lang3.RandomStringUtils;
import org.apache.fineract.batch.domain.BatchRequest;
import org.apache.fineract.batch.domain.BatchResponse;
@@ -25,8 +25,8 @@ import static org.mockito.BDDMockito.given;
import static org.mockito.Mockito.verify;
import java.util.stream.Stream;
import javax.ws.rs.HttpMethod;
import javax.ws.rs.core.UriInfo;
import jakarta.ws.rs.HttpMethod;
import jakarta.ws.rs.core.UriInfo;
import org.apache.commons.lang3.RandomStringUtils;
import org.apache.fineract.batch.domain.BatchRequest;
import org.apache.fineract.batch.domain.BatchResponse;
@@ -27,8 +27,8 @@ import static org.mockito.Mockito.verify;
import java.util.List;
import java.util.stream.Stream;
import javax.ws.rs.HttpMethod;
import javax.ws.rs.core.UriInfo;
import jakarta.ws.rs.HttpMethod;
import jakarta.ws.rs.core.UriInfo;
import org.apache.commons.lang3.RandomUtils;
import org.apache.fineract.batch.domain.BatchRequest;
import org.apache.fineract.batch.domain.BatchResponse;
@@ -27,8 +27,8 @@ import static org.mockito.Mockito.verify;
import java.util.List;
import java.util.stream.Stream;
import javax.ws.rs.HttpMethod;
import javax.ws.rs.core.UriInfo;
import jakarta.ws.rs.HttpMethod;
import jakarta.ws.rs.core.UriInfo;
import org.apache.commons.lang3.RandomUtils;
import org.apache.fineract.batch.domain.BatchRequest;
import org.apache.fineract.batch.domain.BatchResponse;
@@ -28,8 +28,8 @@ import java.util.HashSet;
import java.util.Set;
import java.util.UUID;
import java.util.stream.Stream;
import javax.ws.rs.HttpMethod;
import javax.ws.rs.core.UriInfo;
import jakarta.ws.rs.HttpMethod;
import jakarta.ws.rs.core.UriInfo;
import org.apache.commons.lang3.BooleanUtils;
import org.apache.commons.lang3.RandomStringUtils;
import org.apache.fineract.batch.domain.BatchRequest;
@@ -27,8 +27,8 @@ import static org.mockito.Mockito.verify;
import java.util.HashSet;
import java.util.Set;
import java.util.stream.Stream;
import javax.ws.rs.HttpMethod;
import javax.ws.rs.core.UriInfo;
import jakarta.ws.rs.HttpMethod;
import jakarta.ws.rs.core.UriInfo;
import org.apache.commons.lang3.RandomStringUtils;
import org.apache.fineract.batch.domain.BatchRequest;
import org.apache.fineract.batch.domain.BatchResponse;
@@ -26,8 +26,8 @@ import static org.mockito.Mockito.verify;
import java.util.UUID;
import java.util.stream.Stream;
import javax.ws.rs.HttpMethod;
import javax.ws.rs.core.UriInfo;
import jakarta.ws.rs.HttpMethod;
import jakarta.ws.rs.core.UriInfo;
import org.apache.commons.lang3.RandomStringUtils;
import org.apache.fineract.batch.domain.BatchRequest;
import org.apache.fineract.batch.domain.BatchResponse;
@@ -24,8 +24,8 @@ import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.BDDMockito.given;
import java.util.stream.Stream;
import javax.ws.rs.HttpMethod;
import javax.ws.rs.core.UriInfo;
import jakarta.ws.rs.HttpMethod;
import jakarta.ws.rs.core.UriInfo;
import org.apache.commons.lang3.RandomStringUtils;
import org.apache.fineract.batch.domain.BatchRequest;
import org.apache.fineract.batch.domain.BatchResponse;
@@ -26,8 +26,8 @@ import static org.mockito.Mockito.verifyNoInteractions;
import java.util.UUID;
import java.util.stream.Stream;
import javax.ws.rs.HttpMethod;
import javax.ws.rs.core.UriInfo;
import jakarta.ws.rs.HttpMethod;
import jakarta.ws.rs.core.UriInfo;
import org.apache.commons.lang3.RandomStringUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.fineract.batch.domain.BatchRequest;
@@ -25,8 +25,8 @@ import static org.mockito.Mockito.verify;
import java.util.UUID;
import java.util.stream.Stream;
import javax.ws.rs.HttpMethod;
import javax.ws.rs.core.UriInfo;
import jakarta.ws.rs.HttpMethod;
import jakarta.ws.rs.core.UriInfo;
import org.apache.commons.lang3.RandomStringUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.fineract.batch.domain.BatchRequest;
@@ -24,8 +24,8 @@ import static org.mockito.BDDMockito.given;
import static org.mockito.Mockito.verify;
import java.util.stream.Stream;
import javax.ws.rs.HttpMethod;
import javax.ws.rs.core.UriInfo;
import jakarta.ws.rs.HttpMethod;
import jakarta.ws.rs.core.UriInfo;
import org.apache.commons.lang3.RandomStringUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.fineract.batch.domain.BatchRequest;
@@ -22,8 +22,8 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.BDDMockito.given;
import javax.ws.rs.HttpMethod;
import javax.ws.rs.core.UriInfo;
import jakarta.ws.rs.HttpMethod;
import jakarta.ws.rs.core.UriInfo;
import org.apache.commons.lang3.RandomStringUtils;
import org.apache.fineract.batch.domain.BatchRequest;
import org.apache.fineract.batch.domain.BatchResponse;
@@ -23,11 +23,10 @@ import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import io.cucumber.java8.En;
import java.util.Collections;
import java.util.List;
import org.apache.fineract.portfolio.loanaccount.domain.Loan;
import org.apache.fineract.portfolio.loanaccount.domain.LoanRepository;
import org.mockito.Mockito;
import org.springframework.batch.item.Chunk;
public class LoanItemWriterStepDefinitions implements En {
@@ -36,7 +35,7 @@ public class LoanItemWriterStepDefinitions implements En {
private final LoanItemWriter loanItemWriter = new LoanItemWriter(loanLockingService);
private List<Loan> items;
private Chunk<Loan> items;
public LoanItemWriterStepDefinitions() {
Given("/^The LoanItemWriter.write method with action (.*)$/", (String action) -> {
@@ -44,9 +43,9 @@ public class LoanItemWriterStepDefinitions implements En {
Loan loan = mock(Loan.class);
lenient().when(loan.getId()).thenReturn(1L);
if (action.equals("error")) {
items = Collections.emptyList();
items = new Chunk<>();
} else {
items = Collections.singletonList(loan);
items = new Chunk<>(loan);
lenient().doNothing().when(loanLockingService).deleteByLoanIdInAndLockOwner(Mockito.anyList(), Mockito.any());
}
loanItemWriter.setRepository(loanRepository);
@@ -26,8 +26,8 @@ import io.github.resilience4j.retry.RetryRegistry;
import io.github.resilience4j.retry.event.RetryEvent;
import java.util.UUID;
import java.util.concurrent.atomic.AtomicInteger;
import javax.persistence.Entity;
import javax.persistence.Table;
import jakarta.persistence.Entity;
import jakarta.persistence.Table;
import org.apache.fineract.commands.domain.CommandSource;
import org.apache.fineract.commands.domain.CommandWrapper;
import org.apache.fineract.commands.exception.RollbackTransactionAsCommandIsNotApprovedByCheckerException;
@@ -22,7 +22,7 @@ import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletRequest;
import org.apache.fineract.commands.domain.CommandProcessingResultType;
import org.apache.fineract.commands.domain.CommandSource;
import org.apache.fineract.commands.domain.CommandWrapper;
@@ -25,8 +25,8 @@ import static org.mockito.Mockito.verifyNoInteractions;
import java.io.IOException;
import java.util.List;
import javax.servlet.ServletException;
import javax.ws.rs.core.UriInfo;
import jakarta.servlet.ServletException;
import jakarta.ws.rs.core.UriInfo;
import org.apache.fineract.commands.service.PortfolioCommandSourceWritePlatformService;
import org.apache.fineract.infrastructure.businessdate.data.BusinessDateData;
import org.apache.fineract.infrastructure.businessdate.service.BusinessDateReadPlatformService;
@@ -127,32 +127,32 @@ public class ClasspathDuplicatesStepDefinitions implements En {
// INFRAUTILS-35: JavaLaunchHelper is both in java and
// libinstrument.dylib (?) on Mac OS X
|| resourcePath.contains("JavaLaunchHelper")
// javax.annotation is a big mess... :( E.g.
// javax.annotation.Resource (and some others)
// are present both in rt.jar AND javax.annotation-api-1.3.2.jar
// jakarta.annotation is a big mess... :( E.g.
// jakarta.annotation.Resource (and some others)
// are present both in rt.jar AND jakarta.annotation-api-1.3.2.jar
// and similar - BUT those
// JARs cannot just be excluded, because they contain some
// additional annotations, in the
// (reserved!) package javax.annotation, such as
// javax.annotation.Priority et al. The
// (reserved!) package jakarta.annotation, such as
// jakarta.annotation.Priority et al. The
// super proper way to address this cleanly would be to make our
// own JAR for javax.annotation
// own JAR for jakarta.annotation
// and have it contain ONLY what is not already in package
// javax.annotation in rt.jar.. but for now:
|| resourcePath.equals("javax/annotation/Resource$AuthenticationType.class")
// NEUTRON-205: javax.inject is a mess :( because of
// javax.inject:javax.inject (which we widely use in ODL)
// VS. org.glassfish.hk2.external:javax.inject (which Glassfish
// jakarta.annotation in rt.jar.. but for now:
|| resourcePath.equals("jakarta.annotation/Resource$AuthenticationType.class")
// NEUTRON-205: jakarta.inject is a mess :( because of
// jakarta.inject:jakarta.inject (which we widely use in ODL)
// VS. org.glassfish.hk2.external:jakarta.inject (which Glassfish
// Jersey has dependencies on). Attempts to
// cleanly exclude glassfish.hk2's javax.inject and align
// cleanly exclude glassfish.hk2's jakarta.inject and align
// everything on only depending on
// javax.inject:javax.inject have failed, because the OSGi
// jakarta.inject:jakarta.inject have failed, because the OSGi
// bundle
// org.glassfish.jersey.containers.jersey-container-servlet-core
// (2.25.1) has a non-optional Package-Import
// for javax.inject, but we made javax.inject:javax.inject
// for jakarta.inject, but we made jakarta.inject:jakarta.inject
// <optional>true in odlparent, and don't bundle it.
|| resourcePath.startsWith("javax/inject/")
|| resourcePath.startsWith("jakarta.inject/")
// Java 9 modules
|| resourcePath.endsWith("module-info.class") || resourcePath.contains("findbugs")
// list newly introduced in INFRAUTILS-52, because classgraph
@@ -20,7 +20,7 @@ package org.apache.fineract.infrastructure.core.config;
import java.util.Set;
import java.util.stream.Collectors;
import javax.ws.rs.Path;
import jakarta.ws.rs.Path;
import org.apache.fineract.AbstractSpringTest;
import org.apache.fineract.infrastructure.core.jersey.JerseyConfig;
import org.assertj.core.api.SoftAssertions;
@@ -21,8 +21,8 @@ package org.apache.fineract.infrastructure.core.exceptionmapper;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import javax.ws.rs.HttpMethod;
import javax.ws.rs.core.Response;
import jakarta.ws.rs.HttpMethod;
import jakarta.ws.rs.core.Response;
import org.apache.fineract.infrastructure.core.data.ApiGlobalErrorResponse;
import org.apache.fineract.infrastructure.security.exception.InvalidInstanceTypeMethodException;
import org.junit.jupiter.api.Test;
@@ -26,9 +26,9 @@ import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.verifyNoInteractions;
import java.util.UUID;
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;
import org.apache.fineract.infrastructure.core.config.FineractProperties;
import org.apache.fineract.infrastructure.core.service.MDCWrapper;
import org.junit.jupiter.api.BeforeEach;
@@ -27,12 +27,12 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Random;
import javax.jms.BytesMessage;
import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.Destination;
import javax.jms.MessageProducer;
import javax.jms.Session;
import jakarta.jms.BytesMessage;
import jakarta.jms.Connection;
import jakarta.jms.ConnectionFactory;
import jakarta.jms.Destination;
import jakarta.jms.MessageProducer;
import jakarta.jms.Session;
import org.apache.fineract.avro.MessageV1;
import org.apache.fineract.infrastructure.core.config.FineractProperties;
import org.apache.fineract.infrastructure.core.messaging.jms.MessageFactory;
@@ -23,7 +23,7 @@ import static org.hamcrest.Matchers.equalTo;
import static org.junit.jupiter.api.Assertions.assertThrows;
import static org.mockito.Mockito.when;
import javax.persistence.EntityManager;
import jakarta.persistence.EntityManager;
import org.apache.fineract.infrastructure.event.external.exception.ExternalEventConfigurationNotFoundException;
import org.apache.fineract.infrastructure.event.external.repository.CustomExternalEventConfigurationRepositoryImpl;
import org.apache.fineract.infrastructure.event.external.repository.domain.ExternalEventConfiguration;
@@ -33,7 +33,7 @@ import java.time.temporal.ChronoUnit;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.persistence.EntityManager;
import jakarta.persistence.EntityManager;
import org.apache.fineract.avro.BulkMessageItemV1;
import org.apache.fineract.avro.loan.v1.LoanAccountDataV1;
import org.apache.fineract.infrastructure.businessdate.domain.BusinessDateType;
@@ -24,10 +24,10 @@ import static org.mockito.Mockito.verifyNoInteractions;
import java.io.IOException;
import java.io.PrintWriter;
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 org.apache.fineract.infrastructure.core.config.FineractProperties;
import org.apache.fineract.infrastructure.instancemode.InstanceModeMock;
import org.apache.hc.core5.http.HttpStatus;
@@ -36,8 +36,8 @@ import java.util.Collections;
import java.util.HashMap;
import java.util.Optional;
import java.util.UUID;
import javax.servlet.FilterChain;
import javax.servlet.ServletException;
import jakarta.servlet.FilterChain;
import jakarta.servlet.ServletException;
import org.apache.fineract.cob.data.LoanIdAndLastClosedBusinessDate;
import org.apache.fineract.cob.service.InlineLoanCOBExecutorServiceImpl;
import org.apache.fineract.cob.service.LoanAccountLockService;