From 66ae79bbe752ce931e2a4f011a03b53f33dc498e Mon Sep 17 00:00:00 2001 From: Awasum Yannick Date: Mon, 27 Jan 2020 18:36:18 +0100 Subject: [PATCH] Upgrade Spring Boot from 2.1.7 to 2.2.4 --- fineract-provider/build.gradle | 7 ++-- .../SmsMessageScheduledJobServiceImpl.java | 22 ++++------ .../service/InteropServiceImpl.java | 18 +++------ .../LoanDropdownReadPlatformServiceImpl.java | 40 +++++-------------- .../service/SavingsSchedularServiceImpl.java | 7 ++-- ...WritePlatformServiceJpaRepositoryImpl.java | 26 ++++-------- 6 files changed, 37 insertions(+), 83 deletions(-) diff --git a/fineract-provider/build.gradle b/fineract-provider/build.gradle index 5e634489b..9d19a0ec3 100644 --- a/fineract-provider/build.gradle +++ b/fineract-provider/build.gradle @@ -34,11 +34,12 @@ buildscript { } dependencies { - classpath 'io.spring.gradle:dependency-management-plugin:1.0.8.RELEASE' + classpath 'io.spring.gradle:dependency-management-plugin:1.0.9.RELEASE' classpath 'com.bmuschko:gradle-tomcat-plugin:2.5', 'nl.javadude.gradle.plugins:license-gradle-plugin:0.11.0', 'org.zeroturnaround:gradle-jrebel-plugin:1.1.2', - 'org.springframework.boot:spring-boot-gradle-plugin:2.1.9.RELEASE' // also change springDataJpaVersion below + 'org.springframework.boot:spring-boot-gradle-plugin:2.2.4.RELEASE' // also change springDataJpaVersion + // below classpath "org.apache.openjpa:openjpa:$openJPAVersion" classpath 'com.radcortez.gradle:openjpa-gradle-plugin:3.1.0' classpath 'gradle.plugin.org.nosphere.apache:creadur-rat-gradle:0.2.2' @@ -67,7 +68,7 @@ apply plugin: 'checkstyle' dependencyManagement { imports { - mavenBom 'org.springframework:spring-framework-bom:5.1.10.RELEASE' + mavenBom 'org.springframework:spring-framework-bom:5.2.3.RELEASE' } dependencies { diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/sms/scheduler/SmsMessageScheduledJobServiceImpl.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/sms/scheduler/SmsMessageScheduledJobServiceImpl.java index c035ba14d..8464d1524 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/sms/scheduler/SmsMessageScheduledJobServiceImpl.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/sms/scheduler/SmsMessageScheduledJobServiceImpl.java @@ -18,18 +18,7 @@ */ package org.apache.fineract.infrastructure.sms.scheduler; -import java.net.URI; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; - -import javax.annotation.PostConstruct; - +import com.google.gson.Gson; import org.apache.fineract.infrastructure.campaigns.helper.SmsConfigUtils; import org.apache.fineract.infrastructure.campaigns.sms.constants.SmsCampaignConstants; import org.apache.fineract.infrastructure.campaigns.sms.domain.SmsCampaign; @@ -61,7 +50,12 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.client.RestTemplate; -import com.google.gson.Gson; +import javax.annotation.PostConstruct; +import java.net.URI; +import java.util.*; +import java.util.Map.Entry; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; /** * Scheduled job services that send SMS messages and get delivery reports for @@ -109,7 +103,7 @@ public class SmsMessageScheduledJobServiceImpl implements SmsMessageScheduledJob Integer page = 0; int totalRecords = 0; do { - PageRequest pageRequest = new PageRequest(0, pageLimit); + PageRequest pageRequest = PageRequest.of(0, pageLimit); org.springframework.data.domain.Page pendingMessages = this.smsMessageRepository.findByStatusType( SmsMessageStatusType.PENDING.getValue(), pageRequest); List toSaveMessages = new ArrayList<>() ; diff --git a/fineract-provider/src/main/java/org/apache/fineract/interoperation/service/InteropServiceImpl.java b/fineract-provider/src/main/java/org/apache/fineract/interoperation/service/InteropServiceImpl.java index e71922946..8983610a5 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/interoperation/service/InteropServiceImpl.java +++ b/fineract-provider/src/main/java/org/apache/fineract/interoperation/service/InteropServiceImpl.java @@ -24,15 +24,15 @@ import org.apache.fineract.infrastructure.core.service.DateUtils; import org.apache.fineract.infrastructure.core.service.ThreadLocalContextUtil; import org.apache.fineract.infrastructure.security.service.PlatformSecurityContext; import org.apache.fineract.interoperation.data.*; +import org.apache.fineract.interoperation.domain.InteropActionState; import org.apache.fineract.interoperation.domain.InteropIdentifier; import org.apache.fineract.interoperation.domain.InteropIdentifierRepository; import org.apache.fineract.interoperation.domain.InteropIdentifierType; +import org.apache.fineract.interoperation.serialization.InteropDataValidator; +import org.apache.fineract.interoperation.util.MathUtil; import org.apache.fineract.organisation.monetary.domain.ApplicationCurrency; import org.apache.fineract.organisation.monetary.domain.ApplicationCurrencyRepository; import org.apache.fineract.organisation.monetary.domain.Money; -import org.apache.fineract.interoperation.domain.InteropActionState; -import org.apache.fineract.interoperation.serialization.InteropDataValidator; -import org.apache.fineract.interoperation.util.MathUtil; import org.apache.fineract.portfolio.note.domain.Note; import org.apache.fineract.portfolio.note.domain.NoteRepository; import org.apache.fineract.portfolio.paymentdetail.domain.PaymentDetail; @@ -41,13 +41,7 @@ import org.apache.fineract.portfolio.paymenttype.domain.PaymentType; import org.apache.fineract.portfolio.paymenttype.domain.PaymentTypeRepository; import org.apache.fineract.portfolio.savings.SavingsAccountTransactionType; import org.apache.fineract.portfolio.savings.SavingsTransactionBooleanValues; -import org.apache.fineract.portfolio.savings.domain.SavingsAccount; -import org.apache.fineract.portfolio.savings.domain.SavingsAccountDomainService; -import org.apache.fineract.portfolio.savings.domain.SavingsAccountRepository; -import org.apache.fineract.portfolio.savings.domain.SavingsAccountTransaction; -import org.apache.fineract.portfolio.savings.domain.SavingsAccountTransactionRepository; -import org.apache.fineract.portfolio.savings.domain.SavingsAccountTransactionSummaryWrapper; -import org.apache.fineract.portfolio.savings.domain.SavingsHelper; +import org.apache.fineract.portfolio.savings.domain.*; import org.apache.fineract.portfolio.savings.exception.SavingsAccountNotFoundException; import org.apache.fineract.useradministration.domain.AppUser; import org.joda.time.LocalDate; @@ -58,7 +52,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.jpa.domain.Specification; -import org.springframework.data.jpa.domain.Specifications; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; @@ -77,6 +70,7 @@ import java.util.function.Predicate; import static org.apache.fineract.interoperation.util.InteropUtil.DEFAULT_LOCALE; import static org.apache.fineract.interoperation.util.InteropUtil.DEFAULT_ROUTING_CODE; +import static org.springframework.data.jpa.domain.Specification.where; @Service public class InteropServiceImpl implements InteropService { @@ -439,7 +433,7 @@ public class InteropServiceImpl implements InteropService { } public InteropIdentifier findIdentifier(@NotNull InteropIdentifierType idType, @NotNull String idValue, String subIdOrType) { - return identifierRepository.findOne(Specifications.where(idTypeEqual(idType)).and(idValueEqual(idValue)).and(subIdOrTypeEqual(subIdOrType))).get(); + return identifierRepository.findOne(where(idTypeEqual(idType)).and(idValueEqual(idValue)).and(subIdOrTypeEqual(subIdOrType))).get(); } public static Specification idTypeEqual(@NotNull InteropIdentifierType idType) { diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanproduct/service/LoanDropdownReadPlatformServiceImpl.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanproduct/service/LoanDropdownReadPlatformServiceImpl.java index aad2eb576..e3fe5b7bf 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanproduct/service/LoanDropdownReadPlatformServiceImpl.java +++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanproduct/service/LoanDropdownReadPlatformServiceImpl.java @@ -18,46 +18,24 @@ */ package org.apache.fineract.portfolio.loanproduct.service; -import static org.apache.fineract.portfolio.loanproduct.service.LoanEnumerations.amortizationType; -import static org.apache.fineract.portfolio.loanproduct.service.LoanEnumerations.interestCalculationPeriodType; -import static org.apache.fineract.portfolio.loanproduct.service.LoanEnumerations.interestRateFrequencyType; -import static org.apache.fineract.portfolio.loanproduct.service.LoanEnumerations.interestRecalculationCompoundingType; -import static org.apache.fineract.portfolio.loanproduct.service.LoanEnumerations.interestRecalculationFrequencyType; -import static org.apache.fineract.portfolio.loanproduct.service.LoanEnumerations.interestType; -import static org.apache.fineract.portfolio.loanproduct.service.LoanEnumerations.loanCycleValueConditionType; -import static org.apache.fineract.portfolio.loanproduct.service.LoanEnumerations.loanTermFrequencyType; -import static org.apache.fineract.portfolio.loanproduct.service.LoanEnumerations.preCloseInterestCalculationStrategy; -import static org.apache.fineract.portfolio.loanproduct.service.LoanEnumerations.repaymentFrequencyDayOfWeekType; -import static org.apache.fineract.portfolio.loanproduct.service.LoanEnumerations.repaymentFrequencyNthDayType; -import static org.apache.fineract.portfolio.loanproduct.service.LoanEnumerations.repaymentFrequencyType; -import static org.apache.fineract.portfolio.loanproduct.service.LoanEnumerations.rescheduleStrategyType; -import static org.apache.fineract.portfolio.loanproduct.service.LoanEnumerations.interestRecalculationCompoundingNthDayType; -import static org.apache.fineract.portfolio.loanproduct.service.LoanEnumerations.interestRecalculationCompoundingDayOfWeekType; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; -import java.util.List; - import org.apache.fineract.infrastructure.core.data.EnumOptionData; import org.apache.fineract.portfolio.common.domain.DayOfWeekType; import org.apache.fineract.portfolio.common.domain.NthDayType; import org.apache.fineract.portfolio.common.domain.PeriodFrequencyType; import org.apache.fineract.portfolio.loanaccount.domain.LoanTransactionProcessingStrategyRepository; import org.apache.fineract.portfolio.loanproduct.data.TransactionProcessingStrategyData; -import org.apache.fineract.portfolio.loanproduct.domain.AmortizationMethod; -import org.apache.fineract.portfolio.loanproduct.domain.InterestCalculationPeriodMethod; -import org.apache.fineract.portfolio.loanproduct.domain.InterestMethod; -import org.apache.fineract.portfolio.loanproduct.domain.InterestRecalculationCompoundingMethod; -import org.apache.fineract.portfolio.loanproduct.domain.LoanPreClosureInterestCalculationStrategy; -import org.apache.fineract.portfolio.loanproduct.domain.LoanProductValueConditionType; -import org.apache.fineract.portfolio.loanproduct.domain.LoanRescheduleStrategyMethod; -import org.apache.fineract.portfolio.loanproduct.domain.LoanTransactionProcessingStrategy; -import org.apache.fineract.portfolio.loanproduct.domain.RecalculationFrequencyType; +import org.apache.fineract.portfolio.loanproduct.domain.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Sort; import org.springframework.stereotype.Service; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.List; + +import static org.apache.fineract.portfolio.loanproduct.service.LoanEnumerations.*; + @Service public class LoanDropdownReadPlatformServiceImpl implements LoanDropdownReadPlatformService { @@ -140,7 +118,7 @@ public class LoanDropdownReadPlatformServiceImpl implements LoanDropdownReadPlat public Collection retreiveTransactionProcessingStrategies() { final Collection strategyOptions = new ArrayList<>(); - Sort sort = new Sort("sortOrder"); + Sort sort = Sort.by("sortOrder"); final List strategies = this.loanTransactionProcessingStrategyRepository.findAll(sort); for (final LoanTransactionProcessingStrategy strategy : strategies) { strategyOptions.add(strategy.toData()); diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/service/SavingsSchedularServiceImpl.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/service/SavingsSchedularServiceImpl.java index dad4f18ba..73cda9256 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/service/SavingsSchedularServiceImpl.java +++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/service/SavingsSchedularServiceImpl.java @@ -18,15 +18,12 @@ */ package org.apache.fineract.portfolio.savings.service; -import java.util.List; - import org.apache.fineract.infrastructure.core.service.DateUtils; import org.apache.fineract.infrastructure.jobs.annotation.CronTarget; import org.apache.fineract.infrastructure.jobs.exception.JobExecutionException; import org.apache.fineract.infrastructure.jobs.service.JobName; import org.apache.fineract.portfolio.savings.domain.SavingsAccount; import org.apache.fineract.portfolio.savings.domain.SavingsAccountAssembler; -import org.apache.fineract.portfolio.savings.domain.SavingsAccountRepository; import org.apache.fineract.portfolio.savings.domain.SavingsAccountRepositoryWrapper; import org.apache.fineract.portfolio.savings.domain.SavingsAccountStatusType; import org.joda.time.LocalDate; @@ -35,6 +32,8 @@ import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; import org.springframework.stereotype.Service; +import java.util.List; + @Service public class SavingsSchedularServiceImpl implements SavingsSchedularService { @@ -61,7 +60,7 @@ public class SavingsSchedularServiceImpl implements SavingsSchedularService { Integer totalPageSize = 0; StringBuffer sb = new StringBuffer(); do { - PageRequest pageRequest = new PageRequest(page, initialSize); + PageRequest pageRequest = PageRequest.of(page, initialSize); Page savingsAccounts = this.savingsAccountRepository.findByStatus(SavingsAccountStatusType.ACTIVE.getValue(), pageRequest); for (SavingsAccount savingsAccount : savingsAccounts.getContent()) { diff --git a/fineract-provider/src/main/java/org/apache/fineract/useradministration/service/AppUserWritePlatformServiceJpaRepositoryImpl.java b/fineract-provider/src/main/java/org/apache/fineract/useradministration/service/AppUserWritePlatformServiceJpaRepositoryImpl.java index 3b8414d56..8d1ae2a66 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/useradministration/service/AppUserWritePlatformServiceJpaRepositoryImpl.java +++ b/fineract-provider/src/main/java/org/apache/fineract/useradministration/service/AppUserWritePlatformServiceJpaRepositoryImpl.java @@ -18,15 +18,8 @@ */ package org.apache.fineract.useradministration.service; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; - -import javax.persistence.PersistenceException; - +import com.google.gson.JsonArray; +import com.google.gson.JsonElement; import org.apache.commons.lang.exception.ExceptionUtils; import org.apache.fineract.commands.service.CommandWrapperBuilder; import org.apache.fineract.infrastructure.core.api.JsonCommand; @@ -46,13 +39,7 @@ import org.apache.fineract.organisation.staff.domain.StaffRepositoryWrapper; import org.apache.fineract.portfolio.client.domain.Client; import org.apache.fineract.portfolio.client.domain.ClientRepositoryWrapper; import org.apache.fineract.useradministration.api.AppUserApiConstant; -import org.apache.fineract.useradministration.domain.AppUser; -import org.apache.fineract.useradministration.domain.AppUserPreviousPassword; -import org.apache.fineract.useradministration.domain.AppUserPreviousPasswordRepository; -import org.apache.fineract.useradministration.domain.AppUserRepository; -import org.apache.fineract.useradministration.domain.Role; -import org.apache.fineract.useradministration.domain.RoleRepository; -import org.apache.fineract.useradministration.domain.UserDomainService; +import org.apache.fineract.useradministration.domain.*; import org.apache.fineract.useradministration.exception.PasswordPreviouslyUsedException; import org.apache.fineract.useradministration.exception.RoleNotFoundException; import org.apache.fineract.useradministration.exception.UserNotFoundException; @@ -70,8 +57,8 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.ObjectUtils; -import com.google.gson.JsonArray; -import com.google.gson.JsonElement; +import javax.persistence.PersistenceException; +import java.util.*; @Service public class AppUserWritePlatformServiceJpaRepositoryImpl implements AppUserWritePlatformService { @@ -282,7 +269,8 @@ public class AppUserWritePlatformServiceJpaRepositoryImpl implements AppUserWrit if (passWordEncodedValue != null) { - PageRequest pageRequest = new PageRequest(0, AppUserApiConstant.numberOfPreviousPasswords, Sort.Direction.DESC, "removalDate"); + PageRequest pageRequest = PageRequest.of(0, AppUserApiConstant.numberOfPreviousPasswords, + Sort.Direction.DESC, "removalDate"); final List nLastUsedPasswords = this.appUserPreviewPasswordRepository.findByUserId(user.getId(), pageRequest);