diff --git a/fineract-core/src/main/java/org/apache/fineract/batch/service/BatchApiServiceImpl.java b/fineract-core/src/main/java/org/apache/fineract/batch/service/BatchApiServiceImpl.java index 0b314052d..88faa67f9 100644 --- a/fineract-core/src/main/java/org/apache/fineract/batch/service/BatchApiServiceImpl.java +++ b/fineract-core/src/main/java/org/apache/fineract/batch/service/BatchApiServiceImpl.java @@ -57,9 +57,9 @@ import org.apache.fineract.infrastructure.core.filters.BatchCallHandler; import org.apache.fineract.infrastructure.core.filters.BatchFilter; import org.apache.fineract.infrastructure.core.filters.BatchRequestPreprocessor; import org.apache.fineract.infrastructure.core.persistence.ExtendedJpaTransactionManager; -import org.jetbrains.annotations.NotNull; import org.springframework.dao.ConcurrencyFailureException; import org.springframework.dao.NonTransientDataAccessException; +import org.springframework.lang.NonNull; import org.springframework.stereotype.Service; import org.springframework.transaction.PlatformTransactionManager; import org.springframework.transaction.TransactionException; @@ -288,8 +288,8 @@ public class BatchApiServiceImpl implements BatchApiService { * the current request node * @return {@code BatchResponse} list of the generated batch responses */ - private List parentRequestFailedRecursive(@NotNull BatchRequest request, @NotNull BatchRequestNode requestNode, - @NotNull BatchResponse response, Long parentId) { + private List parentRequestFailedRecursive(@NonNull BatchRequest request, @NonNull BatchRequestNode requestNode, + @NonNull BatchResponse response, Long parentId) { List responseList = new ArrayList<>(); if (parentId == null) { // root BatchRequestContextHolder.getEnclosingTransaction().ifPresent(TransactionExecution::setRollbackOnly); @@ -339,8 +339,8 @@ public class BatchApiServiceImpl implements BatchApiService { return response; } - @NotNull - private List buildErrorResponses(Throwable ex, @NotNull List responseList) { + @NonNull + private List buildErrorResponses(Throwable ex, @NonNull List responseList) { BatchResponse response = responseList.isEmpty() ? null : responseList.stream().filter(e -> e.getStatusCode() == null || e.getStatusCode() != SC_OK).findFirst() .orElse(responseList.get(responseList.size() - 1)); diff --git a/fineract-core/src/main/java/org/apache/fineract/commands/service/CommandSourceService.java b/fineract-core/src/main/java/org/apache/fineract/commands/service/CommandSourceService.java index 2265e47da..75840388d 100644 --- a/fineract-core/src/main/java/org/apache/fineract/commands/service/CommandSourceService.java +++ b/fineract-core/src/main/java/org/apache/fineract/commands/service/CommandSourceService.java @@ -39,7 +39,7 @@ import org.apache.fineract.infrastructure.core.exception.GeneralPlatformDomainRu import org.apache.fineract.infrastructure.core.exception.IdempotentCommandProcessUnderProcessingException; import org.apache.fineract.infrastructure.core.serialization.FromJsonHelper; import org.apache.fineract.useradministration.domain.AppUser; -import org.jetbrains.annotations.NotNull; +import org.springframework.lang.NonNull; import org.springframework.orm.jpa.JpaSystemException; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Isolation; @@ -63,19 +63,19 @@ public class CommandSourceService { private final ErrorHandler errorHandler; private final FromJsonHelper fromApiJsonHelper; - @NotNull + @NonNull @Transactional(propagation = Propagation.REQUIRES_NEW, isolation = Isolation.REPEATABLE_READ) public CommandSource saveInitialNewTransaction(CommandWrapper wrapper, JsonCommand jsonCommand, AppUser maker, String idempotencyKey) { return saveInitial(wrapper, jsonCommand, maker, idempotencyKey); } - @NotNull + @NonNull @Transactional(propagation = Propagation.REQUIRED) public CommandSource saveInitialSameTransaction(CommandWrapper wrapper, JsonCommand jsonCommand, AppUser maker, String idempotencyKey) { return saveInitial(wrapper, jsonCommand, maker, idempotencyKey); } - @NotNull + @NonNull private CommandSource saveInitial(CommandWrapper wrapper, JsonCommand jsonCommand, AppUser maker, String idempotencyKey) { try { CommandSource initialCommandSource = getInitialCommandSource(wrapper, jsonCommand, maker, idempotencyKey); @@ -90,17 +90,17 @@ public class CommandSourceService { } @Transactional(propagation = Propagation.REQUIRES_NEW, isolation = Isolation.REPEATABLE_READ) - public CommandSource saveResultNewTransaction(@NotNull CommandSource commandSource) { + public CommandSource saveResultNewTransaction(@NonNull CommandSource commandSource) { return saveResult(commandSource); } @Transactional(propagation = Propagation.REQUIRED) - public CommandSource saveResultSameTransaction(@NotNull CommandSource commandSource) { + public CommandSource saveResultSameTransaction(@NonNull CommandSource commandSource) { return saveResult(commandSource); } - @NotNull - private CommandSource saveResult(@NotNull CommandSource commandSource) { + @NonNull + private CommandSource saveResult(@NonNull CommandSource commandSource) { return commandSourceRepository.saveAndFlush(commandSource); } @@ -151,7 +151,7 @@ public class CommandSourceService { return result; } - private void sanitizeJson(@NotNull CommandSource commandSource, Set sanitizeKeys) { + private void sanitizeJson(@NonNull CommandSource commandSource, Set sanitizeKeys) { if (sanitizeKeys == null || sanitizeKeys.isEmpty()) { return; } diff --git a/fineract-core/src/main/java/org/apache/fineract/infrastructure/core/filters/IdempotencyStoreFilter.java b/fineract-core/src/main/java/org/apache/fineract/infrastructure/core/filters/IdempotencyStoreFilter.java index daadb63b9..4948d7155 100644 --- a/fineract-core/src/main/java/org/apache/fineract/infrastructure/core/filters/IdempotencyStoreFilter.java +++ b/fineract-core/src/main/java/org/apache/fineract/infrastructure/core/filters/IdempotencyStoreFilter.java @@ -32,7 +32,7 @@ import org.apache.commons.lang3.mutable.MutableObject; import org.apache.fineract.commands.service.SynchronousCommandProcessingService; import org.apache.fineract.infrastructure.core.config.FineractProperties; import org.apache.fineract.infrastructure.core.domain.FineractRequestContextHolder; -import org.jetbrains.annotations.NotNull; +import org.springframework.lang.NonNull; import org.springframework.web.filter.OncePerRequestFilter; import org.springframework.web.util.ContentCachingResponseWrapper; @@ -45,8 +45,8 @@ public class IdempotencyStoreFilter extends OncePerRequestFilter { private final FineractProperties fineractProperties; @Override - protected void doFilterInternal(@NotNull HttpServletRequest request, @NotNull HttpServletResponse response, - @NotNull FilterChain filterChain) throws ServletException, IOException { + protected void doFilterInternal(@NonNull HttpServletRequest request, @NonNull HttpServletResponse response, + @NonNull FilterChain filterChain) throws ServletException, IOException { Mutable wrapper = new MutableObject<>(); if (helper.isAllowedContentTypeRequest(request)) { wrapper.setValue(new ContentCachingResponseWrapper(response)); diff --git a/fineract-core/src/main/java/org/apache/fineract/portfolio/search/service/SearchUtil.java b/fineract-core/src/main/java/org/apache/fineract/portfolio/search/service/SearchUtil.java index 5a2d9c5ad..0107308eb 100644 --- a/fineract-core/src/main/java/org/apache/fineract/portfolio/search/service/SearchUtil.java +++ b/fineract-core/src/main/java/org/apache/fineract/portfolio/search/service/SearchUtil.java @@ -26,7 +26,6 @@ import static org.apache.fineract.infrastructure.dataqueries.api.DataTableApiCon import static org.apache.fineract.portfolio.search.SearchConstants.API_PARAM_COLUMN; import com.google.gson.JsonObject; -import jakarta.validation.constraints.NotNull; import java.math.BigDecimal; import java.sql.Date; import java.sql.Timestamp; @@ -56,6 +55,7 @@ import org.apache.fineract.infrastructure.security.service.SqlValidator; import org.apache.fineract.portfolio.search.data.ColumnFilterData; import org.apache.fineract.portfolio.search.data.FilterData; import org.springframework.jdbc.support.rowset.SqlRowSet; +import org.springframework.lang.NonNull; import org.springframework.stereotype.Component; @Slf4j @@ -69,18 +69,18 @@ public class SearchUtil { private final SqlValidator sqlValidator; - @NotNull - public Map mapHeadersToName(@NotNull Collection columnHeaders) { + @NonNull + public Map mapHeadersToName(@NonNull Collection columnHeaders) { return columnHeaders.stream().collect(Collectors.toMap(ResultsetColumnHeaderData::getColumnName, e -> e)); } - public ResultsetColumnHeaderData findFiltered(@NotNull Collection columnHeaders, - @NotNull Predicate filter) { + public ResultsetColumnHeaderData findFiltered(@NonNull Collection columnHeaders, + @NonNull Predicate filter) { return columnHeaders.stream().filter(filter).findFirst().orElse(null); } - public ResultsetColumnHeaderData getFiltered(@NotNull Collection columnHeaders, - @NotNull Predicate filter) { + public ResultsetColumnHeaderData getFiltered(@NonNull Collection columnHeaders, + @NonNull Predicate filter) { ResultsetColumnHeaderData filtered = findFiltered(columnHeaders, filter); if (filtered == null) { throw new PlatformDataIntegrityException("error.msg.column.not.exists", "Column filtered does not exist"); @@ -88,8 +88,8 @@ public class SearchUtil { return filtered; } - public void extractJsonResult(@NotNull SqlRowSet rowSet, @NotNull List selectColumns, @NotNull List resultColumns, - @NotNull List results) { + public void extractJsonResult(@NonNull SqlRowSet rowSet, @NonNull List selectColumns, @NonNull List resultColumns, + @NonNull List results) { JsonObject json = new JsonObject(); for (int i = 0; i < selectColumns.size(); i++) { Object rowValue = rowSet.getObject(selectColumns.get(i)); @@ -120,14 +120,14 @@ public class SearchUtil { } } - @NotNull + @NonNull public List validateToJdbcColumnNames(List columns, Map headersByName, boolean allowEmpty) { List columnHeaders = validateToJdbcColumns(columns, headersByName, allowEmpty); return columnHeaders.stream().map(e -> e == null ? null : e.getColumnName()).toList(); } - @NotNull + @NonNull public List validateToJdbcColumns(List columns, Map headersByName, boolean allowEmpty) { final List errors = new ArrayList<>(); @@ -151,7 +151,7 @@ public class SearchUtil { return columnHeader == null ? null : columnHeader.getColumnName(); } - public ResultsetColumnHeaderData validateToJdbcColumn(String column, @NotNull Map headersByName, + public ResultsetColumnHeaderData validateToJdbcColumn(String column, @NonNull Map headersByName, boolean allowEmpty) { final List errors = new ArrayList<>(); ResultsetColumnHeaderData columnHeader = validateToJdbcColumnImpl(column, headersByName, errors, allowEmpty); @@ -161,8 +161,8 @@ public class SearchUtil { return columnHeader; } - private ResultsetColumnHeaderData validateToJdbcColumnImpl(String column, @NotNull Map headersByName, - @NotNull List errors, boolean allowEmpty) { + private ResultsetColumnHeaderData validateToJdbcColumnImpl(String column, @NonNull Map headersByName, + @NonNull List errors, boolean allowEmpty) { if (!allowEmpty && column == null) { errors.add(parameterErrorWithValue("error.msg.column.empty", "Column filter is empty", API_PARAM_COLUMN, null)); } @@ -179,9 +179,9 @@ public class SearchUtil { return columnHeader; } - public boolean buildQueryCondition(List columnFilters, @NotNull StringBuilder where, @NotNull List params, + public boolean buildQueryCondition(List columnFilters, @NonNull StringBuilder where, @NonNull List params, String alias, Map headersByName, String dateFormat, String dateTimeFormat, Locale locale, - boolean embedded, @NotNull DatabaseSpecificSQLGenerator sqlGenerator) { + boolean embedded, @NonNull DatabaseSpecificSQLGenerator sqlGenerator) { if (columnFilters == null) { return false; } @@ -198,9 +198,9 @@ public class SearchUtil { return added; } - public boolean buildFilterCondition(ColumnFilterData columnFilter, @NotNull StringBuilder where, @NotNull List params, + public boolean buildFilterCondition(ColumnFilterData columnFilter, @NonNull StringBuilder where, @NonNull List params, String alias, Map headersByName, String dateFormat, String dateTimeFormat, Locale locale, - boolean embedded, @NotNull DatabaseSpecificSQLGenerator sqlGenerator) { + boolean embedded, @NonNull DatabaseSpecificSQLGenerator sqlGenerator) { String columnName = columnFilter.getColumn(); List filters = columnFilter.getFilters(); int size = filters.size(); @@ -227,8 +227,8 @@ public class SearchUtil { return size > 0; } - public void buildCondition(@NotNull String definition, JdbcJavaType columnType, @NotNull SqlOperator operator, List values, - @NotNull StringBuilder where, @NotNull List params, String alias, @NotNull DatabaseSpecificSQLGenerator sqlGenerator) { + public void buildCondition(@NonNull String definition, JdbcJavaType columnType, @NonNull SqlOperator operator, List values, + @NonNull StringBuilder where, @NonNull List params, String alias, @NonNull DatabaseSpecificSQLGenerator sqlGenerator) { int paramCount = values == null ? 0 : values.size(); where.append(operator.formatPlaceholder(sqlGenerator, definition, paramCount, alias)); if (values != null) { @@ -236,14 +236,14 @@ public class SearchUtil { } } - public Object parseJdbcColumnValue(@NotNull ResultsetColumnHeaderData columnHeader, String columnValue, String dateFormat, - String dateTimeFormat, Locale locale, boolean strict, @NotNull DatabaseSpecificSQLGenerator sqlGenerator) { + public Object parseJdbcColumnValue(@NonNull ResultsetColumnHeaderData columnHeader, String columnValue, String dateFormat, + String dateTimeFormat, Locale locale, boolean strict, @NonNull DatabaseSpecificSQLGenerator sqlGenerator) { return columnHeader.getColumnType().toJdbcValue(sqlGenerator.getDialect(), parseColumnValue(columnHeader, columnValue, dateFormat, dateTimeFormat, locale, strict, sqlGenerator), false); } - public Object parseColumnValue(@NotNull ResultsetColumnHeaderData columnHeader, String columnValue, String dateFormat, - String dateTimeFormat, Locale locale, boolean strict, @NotNull DatabaseSpecificSQLGenerator sqlGenerator) { + public Object parseColumnValue(@NonNull ResultsetColumnHeaderData columnHeader, String columnValue, String dateFormat, + String dateTimeFormat, Locale locale, boolean strict, @NonNull DatabaseSpecificSQLGenerator sqlGenerator) { JdbcJavaType colType = columnHeader.getColumnType(); if (!colType.isStringType() || !columnHeader.isMandatory()) { columnValue = StringUtils.trimToNull(columnValue); diff --git a/fineract-investor/src/main/java/org/apache/fineract/investor/service/AccountingServiceImpl.java b/fineract-investor/src/main/java/org/apache/fineract/investor/service/AccountingServiceImpl.java index d60487a13..80425abc7 100644 --- a/fineract-investor/src/main/java/org/apache/fineract/investor/service/AccountingServiceImpl.java +++ b/fineract-investor/src/main/java/org/apache/fineract/investor/service/AccountingServiceImpl.java @@ -44,7 +44,7 @@ import org.apache.fineract.organisation.office.domain.Office; import org.apache.fineract.portfolio.PortfolioProductType; import org.apache.fineract.portfolio.loanaccount.domain.Loan; import org.apache.fineract.portfolio.loanaccount.domain.LoanStatus; -import org.jetbrains.annotations.NotNull; +import org.springframework.lang.NonNull; import org.springframework.stereotype.Service; @Service @@ -97,7 +97,7 @@ public class AccountingServiceImpl implements AccountingService { }); } - @NotNull + @NonNull private List createJournalEntries(final Loan loan, final ExternalAssetOwnerTransfer transfer, final boolean isReversalOrder) { this.helper.checkForBranchClosures(loan.getOffice().getId(), transfer.getSettlementDate()); diff --git a/fineract-investor/src/main/java/org/apache/fineract/investor/service/serialization/serializer/investor/InvestorBusinessEventSerializer.java b/fineract-investor/src/main/java/org/apache/fineract/investor/service/serialization/serializer/investor/InvestorBusinessEventSerializer.java index 9d7fc6db9..2549cf84d 100644 --- a/fineract-investor/src/main/java/org/apache/fineract/investor/service/serialization/serializer/investor/InvestorBusinessEventSerializer.java +++ b/fineract-investor/src/main/java/org/apache/fineract/investor/service/serialization/serializer/investor/InvestorBusinessEventSerializer.java @@ -48,7 +48,7 @@ import org.apache.fineract.investor.domain.InvestorBusinessEvent; import org.apache.fineract.investor.service.ExternalAssetOwnersReadService; import org.apache.fineract.organisation.monetary.domain.MonetaryCurrency; import org.apache.fineract.portfolio.loanaccount.domain.LoanCharge; -import org.jetbrains.annotations.NotNull; +import org.springframework.lang.NonNull; import org.springframework.stereotype.Component; @Component @@ -116,7 +116,7 @@ public class InvestorBusinessEventSerializer extends AbstractBusinessEventWithCu return builder.build(); } - @NotNull + @NonNull private static String getType(ExternalTransferStatus transferStatus) { if (transferStatus == BUYBACK || transferStatus == BUYBACK_INTERMEDIATE) { return "BUYBACK"; diff --git a/fineract-loan/src/main/java/org/apache/fineract/portfolio/delinquency/service/DelinquencyReadPlatformServiceImpl.java b/fineract-loan/src/main/java/org/apache/fineract/portfolio/delinquency/service/DelinquencyReadPlatformServiceImpl.java index 694e0bfef..29e0b0843 100644 --- a/fineract-loan/src/main/java/org/apache/fineract/portfolio/delinquency/service/DelinquencyReadPlatformServiceImpl.java +++ b/fineract-loan/src/main/java/org/apache/fineract/portfolio/delinquency/service/DelinquencyReadPlatformServiceImpl.java @@ -58,7 +58,7 @@ import org.apache.fineract.portfolio.loanaccount.domain.Loan; import org.apache.fineract.portfolio.loanaccount.domain.LoanRepaymentScheduleInstallment; import org.apache.fineract.portfolio.loanaccount.domain.LoanRepository; import org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction; -import org.jetbrains.annotations.NotNull; +import org.springframework.lang.NonNull; import org.springframework.transaction.annotation.Transactional; @RequiredArgsConstructor @@ -192,7 +192,7 @@ public class DelinquencyReadPlatformServiceImpl implements DelinquencyReadPlatfo } } - @NotNull + @NonNull private static Collector delinquentAmountSummingCollector() { return Collectors.reducing(new InstallmentLevelDelinquency(), (item1, item2) -> { final InstallmentLevelDelinquency result = new InstallmentLevelDelinquency(); @@ -213,7 +213,7 @@ public class DelinquencyReadPlatformServiceImpl implements DelinquencyReadPlatfo collectionData.setDelinquencyPausePeriods(result); } - @NotNull + @NonNull private static DelinquencyPausePeriod toDelinquencyPausePeriod(LocalDate businessDate, LoanDelinquencyActionData lda) { return new DelinquencyPausePeriod(!lda.getStartDate().isAfter(businessDate) && !businessDate.isAfter(lda.getEndDate()), lda.getStartDate(), lda.getEndDate()); diff --git a/fineract-loan/src/main/java/org/apache/fineract/portfolio/loanaccount/domain/LoanRepaymentScheduleProcessingWrapper.java b/fineract-loan/src/main/java/org/apache/fineract/portfolio/loanaccount/domain/LoanRepaymentScheduleProcessingWrapper.java index c14074199..2ddf2b246 100644 --- a/fineract-loan/src/main/java/org/apache/fineract/portfolio/loanaccount/domain/LoanRepaymentScheduleProcessingWrapper.java +++ b/fineract-loan/src/main/java/org/apache/fineract/portfolio/loanaccount/domain/LoanRepaymentScheduleProcessingWrapper.java @@ -28,7 +28,7 @@ import java.util.function.Predicate; import org.apache.fineract.infrastructure.core.service.DateUtils; import org.apache.fineract.organisation.monetary.domain.MonetaryCurrency; import org.apache.fineract.organisation.monetary.domain.Money; -import org.jetbrains.annotations.NotNull; +import org.springframework.lang.NonNull; /** * A wrapper around loan schedule related data exposing needed behaviour by loan. @@ -219,7 +219,7 @@ public class LoanRepaymentScheduleProcessingWrapper { } } - @NotNull + @NonNull private BigDecimal getBaseAmount(MonetaryCurrency monetaryCurrency, LoanRepaymentScheduleInstallment period, LoanCharge loanCharge, BigDecimal amount) { if (loanCharge.getChargeCalculation().isPercentageOfAmountAndInterest()) { diff --git a/fineract-loan/src/main/java/org/apache/fineract/portfolio/loanproduct/domain/LoanProductRepository.java b/fineract-loan/src/main/java/org/apache/fineract/portfolio/loanproduct/domain/LoanProductRepository.java index f8f94a336..78314991b 100644 --- a/fineract-loan/src/main/java/org/apache/fineract/portfolio/loanproduct/domain/LoanProductRepository.java +++ b/fineract-loan/src/main/java/org/apache/fineract/portfolio/loanproduct/domain/LoanProductRepository.java @@ -21,11 +21,11 @@ package org.apache.fineract.portfolio.loanproduct.domain; import java.util.List; import org.apache.fineract.infrastructure.core.domain.ExternalId; import org.apache.fineract.portfolio.delinquency.domain.DelinquencyBucket; -import org.jetbrains.annotations.NotNull; 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.lang.NonNull; public interface LoanProductRepository extends JpaRepository, JpaSpecificationExecutor { @@ -40,5 +40,5 @@ public interface LoanProductRepository extends JpaRepository, @Override @Query("SELECT CASE WHEN COUNT(loanProduct)>0 THEN TRUE ELSE FALSE END FROM LoanProduct loanProduct WHERE loanProduct.id = :loanProductId") - boolean existsById(@NotNull @Param("loanProductId") Long loanProductId); + boolean existsById(@NonNull @Param("loanProductId") Long loanProductId); } diff --git a/fineract-progressive-loan/src/main/java/org/apache/fineract/portfolio/loanaccount/domain/transactionprocessor/impl/ChangeOperation.java b/fineract-progressive-loan/src/main/java/org/apache/fineract/portfolio/loanaccount/domain/transactionprocessor/impl/ChangeOperation.java index a5335388c..836e9c018 100644 --- a/fineract-progressive-loan/src/main/java/org/apache/fineract/portfolio/loanaccount/domain/transactionprocessor/impl/ChangeOperation.java +++ b/fineract-progressive-loan/src/main/java/org/apache/fineract/portfolio/loanaccount/domain/transactionprocessor/impl/ChangeOperation.java @@ -27,7 +27,7 @@ import org.apache.fineract.infrastructure.core.service.DateUtils; import org.apache.fineract.portfolio.loanaccount.data.LoanTermVariationsData; import org.apache.fineract.portfolio.loanaccount.domain.LoanCharge; import org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction; -import org.jetbrains.annotations.NotNull; +import org.springframework.lang.NonNull; @Getter public class ChangeOperation implements Comparable { @@ -116,7 +116,7 @@ public class ChangeOperation implements Comparable { @Override @SuppressFBWarnings(value = "EQ_COMPARETO_USE_OBJECT_EQUALS", justification = "TODO: fix this! See: https://stackoverflow.com/questions/2609037/findbugs-how-to-solve-eq-compareto-use-object-equals") - public int compareTo(@NotNull ChangeOperation o) { + public int compareTo(@NonNull ChangeOperation o) { int datePortion = DateUtils.compareWithNullsLast(this.getEffectiveDate(), o.getEffectiveDate()); if (datePortion == 0) { final boolean isAccrual = isAccrualActivity(); diff --git a/fineract-progressive-loan/src/main/java/org/apache/fineract/portfolio/loanproduct/calc/data/InterestRate.java b/fineract-progressive-loan/src/main/java/org/apache/fineract/portfolio/loanproduct/calc/data/InterestRate.java index d128b5aa0..382aacc18 100644 --- a/fineract-progressive-loan/src/main/java/org/apache/fineract/portfolio/loanproduct/calc/data/InterestRate.java +++ b/fineract-progressive-loan/src/main/java/org/apache/fineract/portfolio/loanproduct/calc/data/InterestRate.java @@ -20,7 +20,7 @@ package org.apache.fineract.portfolio.loanproduct.calc.data; import java.math.BigDecimal; import java.time.LocalDate; -import org.jetbrains.annotations.NotNull; +import org.springframework.lang.NonNull; public record InterestRate(// LocalDate effectiveFrom, // @@ -28,7 +28,7 @@ public record InterestRate(// ) implements Comparable { @Override - public int compareTo(@NotNull InterestRate o) { + public int compareTo(@NonNull InterestRate o) { return this.effectiveFrom().compareTo(o.effectiveFrom()); } } diff --git a/fineract-progressive-loan/src/main/java/org/apache/fineract/portfolio/loanproduct/domain/AdvancedPaymentAllocationsJsonParser.java b/fineract-progressive-loan/src/main/java/org/apache/fineract/portfolio/loanproduct/domain/AdvancedPaymentAllocationsJsonParser.java index b5aff2293..035939afd 100644 --- a/fineract-progressive-loan/src/main/java/org/apache/fineract/portfolio/loanproduct/domain/AdvancedPaymentAllocationsJsonParser.java +++ b/fineract-progressive-loan/src/main/java/org/apache/fineract/portfolio/loanproduct/domain/AdvancedPaymentAllocationsJsonParser.java @@ -27,7 +27,7 @@ import java.util.Map; import lombok.AllArgsConstructor; import org.apache.commons.lang3.tuple.Pair; import org.apache.fineract.infrastructure.core.api.JsonCommand; -import org.jetbrains.annotations.NotNull; +import org.springframework.lang.NonNull; import org.springframework.stereotype.Service; @Service @@ -79,7 +79,7 @@ public class AdvancedPaymentAllocationsJsonParser { } } - @NotNull + @NonNull private List getPaymentAllocationTypes(JsonArray paymentAllocationOrder) { if (paymentAllocationOrder != null) { List> parsedListWithOrder = paymentAllocationOrder.asList().stream().map(json -> { diff --git a/fineract-progressive-loan/src/main/java/org/apache/fineract/portfolio/loanproduct/domain/CreditAllocationsJsonParser.java b/fineract-progressive-loan/src/main/java/org/apache/fineract/portfolio/loanproduct/domain/CreditAllocationsJsonParser.java index 29c7fc38b..bab9a2e32 100644 --- a/fineract-progressive-loan/src/main/java/org/apache/fineract/portfolio/loanproduct/domain/CreditAllocationsJsonParser.java +++ b/fineract-progressive-loan/src/main/java/org/apache/fineract/portfolio/loanproduct/domain/CreditAllocationsJsonParser.java @@ -27,7 +27,7 @@ import java.util.Map; import lombok.AllArgsConstructor; import org.apache.commons.lang3.tuple.Pair; import org.apache.fineract.infrastructure.core.api.JsonCommand; -import org.jetbrains.annotations.NotNull; +import org.springframework.lang.NonNull; import org.springframework.stereotype.Service; @Service @@ -67,7 +67,7 @@ public class CreditAllocationsJsonParser { } } - @NotNull + @NonNull private List getAllocationTypes(JsonArray allocationOrder) { if (allocationOrder != null) { List> parsedListWithOrder = allocationOrder.asList().stream().map(json -> { diff --git a/fineract-progressive-loan/src/test/java/org/apache/fineract/portfolio/loanaccount/domain/transactionprocessor/impl/AdvancedPaymentScheduleTransactionProcessorTest.java b/fineract-progressive-loan/src/test/java/org/apache/fineract/portfolio/loanaccount/domain/transactionprocessor/impl/AdvancedPaymentScheduleTransactionProcessorTest.java index 46b4243cb..588cc7643 100644 --- a/fineract-progressive-loan/src/test/java/org/apache/fineract/portfolio/loanaccount/domain/transactionprocessor/impl/AdvancedPaymentScheduleTransactionProcessorTest.java +++ b/fineract-progressive-loan/src/test/java/org/apache/fineract/portfolio/loanaccount/domain/transactionprocessor/impl/AdvancedPaymentScheduleTransactionProcessorTest.java @@ -82,7 +82,6 @@ import org.apache.fineract.portfolio.loanproduct.domain.CreditAllocationTransact import org.apache.fineract.portfolio.loanproduct.domain.LoanProductRelatedDetail; import org.apache.fineract.portfolio.loanproduct.domain.PaymentAllocationTransactionType; import org.apache.fineract.portfolio.loanproduct.domain.PaymentAllocationType; -import org.jetbrains.annotations.NotNull; import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Assertions; @@ -94,6 +93,7 @@ import org.mockito.ArgumentCaptor; import org.mockito.MockedStatic; import org.mockito.Mockito; import org.mockito.junit.jupiter.MockitoExtension; +import org.springframework.lang.NonNull; @ExtendWith(MockitoExtension.class) class AdvancedPaymentScheduleTransactionProcessorTest { @@ -524,7 +524,7 @@ class AdvancedPaymentScheduleTransactionProcessorTest { return installment; } - @NotNull + @NonNull private LoanCreditAllocationRule createMockCreditAllocationRule(AllocationType... allocationTypes) { LoanCreditAllocationRule mockCreditAllocationRule = mock(LoanCreditAllocationRule.class); lenient().when(mockCreditAllocationRule.getTransactionType()).thenReturn(CreditAllocationTransactionType.CHARGEBACK); diff --git a/fineract-progressive-loan/src/test/java/org/apache/fineract/portfolio/loanproduct/calc/ProgressiveEMICalculatorTest.java b/fineract-progressive-loan/src/test/java/org/apache/fineract/portfolio/loanproduct/calc/ProgressiveEMICalculatorTest.java index 38cca69e3..298c57c6b 100644 --- a/fineract-progressive-loan/src/test/java/org/apache/fineract/portfolio/loanproduct/calc/ProgressiveEMICalculatorTest.java +++ b/fineract-progressive-loan/src/test/java/org/apache/fineract/portfolio/loanproduct/calc/ProgressiveEMICalculatorTest.java @@ -43,7 +43,6 @@ import org.apache.fineract.portfolio.loanproduct.calc.data.PeriodDueDetails; import org.apache.fineract.portfolio.loanproduct.calc.data.ProgressiveLoanInterestScheduleModel; import org.apache.fineract.portfolio.loanproduct.calc.data.RepaymentPeriod; import org.apache.fineract.portfolio.loanproduct.domain.LoanProductMinimumRepaymentScheduleRelatedDetail; -import org.jetbrains.annotations.NotNull; import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeAll; @@ -55,6 +54,7 @@ import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.MockedStatic; import org.mockito.Mockito; import org.mockito.junit.jupiter.MockitoExtension; +import org.springframework.lang.NonNull; @ExtendWith(MockitoExtension.class) class ProgressiveEMICalculatorTest { @@ -3195,7 +3195,7 @@ class ProgressiveEMICalculatorTest { zeroAmount, zeroAmount, false, mc); } - @NotNull + @NonNull private static LoanRepaymentScheduleInstallment createPeriod(int periodId, LocalDate start, LocalDate end) { LoanRepaymentScheduleInstallment period = Mockito.mock(LoanRepaymentScheduleInstallment.class); Mockito.when(period.getInstallmentNumber()).thenReturn(periodId); diff --git a/fineract-progressive-loan/src/test/java/org/apache/fineract/portfolio/loanproduct/domain/AdvancedPaymentAllocationsJsonParserTest.java b/fineract-progressive-loan/src/test/java/org/apache/fineract/portfolio/loanproduct/domain/AdvancedPaymentAllocationsJsonParserTest.java index dba4bc6f5..cc51c7f51 100644 --- a/fineract-progressive-loan/src/test/java/org/apache/fineract/portfolio/loanproduct/domain/AdvancedPaymentAllocationsJsonParserTest.java +++ b/fineract-progressive-loan/src/test/java/org/apache/fineract/portfolio/loanproduct/domain/AdvancedPaymentAllocationsJsonParserTest.java @@ -37,7 +37,6 @@ import java.util.concurrent.atomic.AtomicInteger; import org.apache.commons.lang3.tuple.Pair; import org.apache.fineract.infrastructure.core.api.JsonCommand; import org.apache.fineract.infrastructure.core.serialization.FromJsonHelper; -import org.jetbrains.annotations.NotNull; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; @@ -45,6 +44,7 @@ import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.Mockito; import org.mockito.junit.jupiter.MockitoExtension; +import org.springframework.lang.NonNull; @ExtendWith(MockitoExtension.class) class AdvancedPaymentAllocationsJsonParserTest { @@ -225,7 +225,7 @@ class AdvancedPaymentAllocationsJsonParserTest { return list; } - @NotNull + @NonNull private JsonCommand createJsonCommand(Map jsonMap) throws JsonProcessingException { ObjectMapper objectMapper = new ObjectMapper(); String json = objectMapper.writerWithDefaultPrettyPrinter().writeValueAsString(jsonMap); diff --git a/fineract-progressive-loan/src/test/java/org/apache/fineract/portfolio/loanproduct/domain/AdvancedPaymentAllocationsValidatorTest.java b/fineract-progressive-loan/src/test/java/org/apache/fineract/portfolio/loanproduct/domain/AdvancedPaymentAllocationsValidatorTest.java index 90c2e1217..c40689014 100644 --- a/fineract-progressive-loan/src/test/java/org/apache/fineract/portfolio/loanproduct/domain/AdvancedPaymentAllocationsValidatorTest.java +++ b/fineract-progressive-loan/src/test/java/org/apache/fineract/portfolio/loanproduct/domain/AdvancedPaymentAllocationsValidatorTest.java @@ -30,10 +30,10 @@ import java.util.EnumSet; import java.util.List; import org.apache.commons.lang3.tuple.Pair; import org.apache.fineract.infrastructure.core.exception.PlatformApiDataValidationException; -import org.jetbrains.annotations.NotNull; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.function.Executable; +import org.springframework.lang.NonNull; class AdvancedPaymentAllocationsValidatorTest { @@ -164,7 +164,7 @@ class AdvancedPaymentAllocationsValidatorTest { assertPlatformException(message, code, validationException); } - @NotNull + @NonNull private static LoanProductPaymentAllocationRule createLoanProductAllocationRule1() { LoanProductPaymentAllocationRule lppr1 = new LoanProductPaymentAllocationRule(); lppr1.setTransactionType(DEFAULT); @@ -173,7 +173,7 @@ class AdvancedPaymentAllocationsValidatorTest { return lppr1; } - @NotNull + @NonNull private static LoanProductPaymentAllocationRule createLoanProductAllocationRule2() { LoanProductPaymentAllocationRule lppr2 = new LoanProductPaymentAllocationRule(); lppr2.setTransactionType(REPAYMENT); @@ -184,7 +184,7 @@ class AdvancedPaymentAllocationsValidatorTest { return lppr2; } - @NotNull + @NonNull private static LoanProductPaymentAllocationRule createLoanProductAllocationRule3() { LoanProductPaymentAllocationRule lppr = new LoanProductPaymentAllocationRule(); lppr.setTransactionType(REPAYMENT); @@ -197,7 +197,7 @@ class AdvancedPaymentAllocationsValidatorTest { return lppr; } - @NotNull + @NonNull private static LoanProductPaymentAllocationRule createLoanProductAllocationRule4() { LoanProductPaymentAllocationRule lppr = new LoanProductPaymentAllocationRule(); lppr.setTransactionType(DEFAULT); @@ -211,7 +211,7 @@ class AdvancedPaymentAllocationsValidatorTest { return lppr; } - @NotNull + @NonNull private static List> createPaymentAllocationTypeList() { return EnumSet.allOf(PaymentAllocationType.class).stream().map(p -> { try { diff --git a/fineract-progressive-loan/src/test/java/org/apache/fineract/portfolio/loanproduct/domain/CreditAllocationsJsonParserTest.java b/fineract-progressive-loan/src/test/java/org/apache/fineract/portfolio/loanproduct/domain/CreditAllocationsJsonParserTest.java index 45138580b..71cca85c7 100644 --- a/fineract-progressive-loan/src/test/java/org/apache/fineract/portfolio/loanproduct/domain/CreditAllocationsJsonParserTest.java +++ b/fineract-progressive-loan/src/test/java/org/apache/fineract/portfolio/loanproduct/domain/CreditAllocationsJsonParserTest.java @@ -33,7 +33,6 @@ import java.util.concurrent.atomic.AtomicInteger; import org.apache.commons.lang3.tuple.Pair; import org.apache.fineract.infrastructure.core.api.JsonCommand; import org.apache.fineract.infrastructure.core.serialization.FromJsonHelper; -import org.jetbrains.annotations.NotNull; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; @@ -41,6 +40,7 @@ import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.Mockito; import org.mockito.junit.jupiter.MockitoExtension; +import org.springframework.lang.NonNull; @ExtendWith(MockitoExtension.class) public class CreditAllocationsJsonParserTest { @@ -113,7 +113,7 @@ public class CreditAllocationsJsonParserTest { return map; } - @NotNull + @NonNull private JsonCommand createJsonCommand(Map jsonMap) throws JsonProcessingException { ObjectMapper objectMapper = new ObjectMapper(); String json = objectMapper.writerWithDefaultPrettyPrinter().writeValueAsString(jsonMap); diff --git a/fineract-progressive-loan/src/test/java/org/apache/fineract/portfolio/loanproduct/domain/CreditAllocationsValidatorTest.java b/fineract-progressive-loan/src/test/java/org/apache/fineract/portfolio/loanproduct/domain/CreditAllocationsValidatorTest.java index d5cca26ac..d6c264afc 100644 --- a/fineract-progressive-loan/src/test/java/org/apache/fineract/portfolio/loanproduct/domain/CreditAllocationsValidatorTest.java +++ b/fineract-progressive-loan/src/test/java/org/apache/fineract/portfolio/loanproduct/domain/CreditAllocationsValidatorTest.java @@ -28,10 +28,10 @@ import java.util.List; import java.util.concurrent.atomic.AtomicInteger; import org.apache.commons.lang3.tuple.Pair; import org.apache.fineract.infrastructure.core.exception.PlatformApiDataValidationException; -import org.jetbrains.annotations.NotNull; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.function.Executable; +import org.springframework.lang.NonNull; public class CreditAllocationsValidatorTest { @@ -104,13 +104,13 @@ public class CreditAllocationsValidatorTest { ADVANCED_PAYMENT_ALLOCATION_STRATEGY)); } - @NotNull + @NonNull private static List> createCreditAllocationTypeList() { AtomicInteger i = new AtomicInteger(1); return EnumSet.allOf(AllocationType.class).stream().map(p -> Pair.of(i.getAndIncrement(), p)).toList(); } - @NotNull + @NonNull private static LoanProductCreditAllocationRule createLoanProductCreditAllocationRule1() { LoanProductCreditAllocationRule lpcr1 = new LoanProductCreditAllocationRule(); lpcr1.setTransactionType(CHARGEBACK); diff --git a/fineract-provider/src/main/java/org/apache/fineract/cob/COBBusinessStepService.java b/fineract-provider/src/main/java/org/apache/fineract/cob/COBBusinessStepService.java index 8cb41c46f..2b815260c 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/cob/COBBusinessStepService.java +++ b/fineract-provider/src/main/java/org/apache/fineract/cob/COBBusinessStepService.java @@ -22,13 +22,13 @@ import java.util.Set; import java.util.TreeMap; import org.apache.fineract.cob.data.BusinessStepNameAndOrder; import org.apache.fineract.infrastructure.core.domain.AbstractPersistableCustom; -import org.jetbrains.annotations.NotNull; +import org.springframework.lang.NonNull; public interface COBBusinessStepService { , S extends AbstractPersistableCustom> S run(TreeMap executionMap, S item); - @NotNull + @NonNull , S extends AbstractPersistableCustom> Set getCOBBusinessSteps( Class businessStepClass, String cobJobName); } diff --git a/fineract-provider/src/main/java/org/apache/fineract/cob/COBBusinessStepServiceImpl.java b/fineract-provider/src/main/java/org/apache/fineract/cob/COBBusinessStepServiceImpl.java index 9ec3d7393..61aadf26b 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/cob/COBBusinessStepServiceImpl.java +++ b/fineract-provider/src/main/java/org/apache/fineract/cob/COBBusinessStepServiceImpl.java @@ -36,9 +36,9 @@ import org.apache.fineract.infrastructure.core.domain.AbstractPersistableCustom; import org.apache.fineract.infrastructure.core.domain.ActionContext; import org.apache.fineract.infrastructure.core.service.ThreadLocalContextUtil; import org.apache.fineract.infrastructure.event.business.service.BusinessEventNotifierService; -import org.jetbrains.annotations.NotNull; import org.springframework.beans.factory.ListableBeanFactory; import org.springframework.context.ApplicationContext; +import org.springframework.lang.NonNull; import org.springframework.stereotype.Service; @Service @@ -92,7 +92,7 @@ public class COBBusinessStepServiceImpl implements COBBusinessStepService { return item; } - @NotNull + @NonNull @Override public , S extends AbstractPersistableCustom> Set getCOBBusinessSteps( Class businessStepClass, String cobJobName) { diff --git a/fineract-provider/src/main/java/org/apache/fineract/cob/common/InitialisationTasklet.java b/fineract-provider/src/main/java/org/apache/fineract/cob/common/InitialisationTasklet.java index b97d152ca..a64275679 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/cob/common/InitialisationTasklet.java +++ b/fineract-provider/src/main/java/org/apache/fineract/cob/common/InitialisationTasklet.java @@ -30,11 +30,11 @@ import org.apache.fineract.infrastructure.core.domain.ActionContext; import org.apache.fineract.infrastructure.core.service.ThreadLocalContextUtil; import org.apache.fineract.useradministration.domain.AppUser; import org.apache.fineract.useradministration.domain.AppUserRepositoryWrapper; -import org.jetbrains.annotations.NotNull; import org.springframework.batch.core.StepContribution; import org.springframework.batch.core.scope.context.ChunkContext; import org.springframework.batch.core.step.tasklet.Tasklet; import org.springframework.batch.repeat.RepeatStatus; +import org.springframework.lang.NonNull; import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; import org.springframework.security.core.context.SecurityContextHolder; @@ -48,7 +48,7 @@ public class InitialisationTasklet implements Tasklet { private final AppUserRepositoryWrapper userRepository; @Override - public RepeatStatus execute(@NotNull StepContribution contribution, @NotNull ChunkContext chunkContext) throws Exception { + public RepeatStatus execute(@NonNull StepContribution contribution, @NonNull ChunkContext chunkContext) throws Exception { HashMap businessDates = ThreadLocalContextUtil.getBusinessDates(); AppUser user = userRepository.fetchSystemUser(); UsernamePasswordAuthenticationToken auth = new UsernamePasswordAuthenticationToken(user, user.getPassword(), user.getAuthorities()); diff --git a/fineract-provider/src/main/java/org/apache/fineract/cob/common/ResetContextTasklet.java b/fineract-provider/src/main/java/org/apache/fineract/cob/common/ResetContextTasklet.java index 60f51f2ea..bf2f9f906 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/cob/common/ResetContextTasklet.java +++ b/fineract-provider/src/main/java/org/apache/fineract/cob/common/ResetContextTasklet.java @@ -22,18 +22,18 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.fineract.infrastructure.core.domain.ActionContext; import org.apache.fineract.infrastructure.core.service.ThreadLocalContextUtil; -import org.jetbrains.annotations.NotNull; import org.springframework.batch.core.StepContribution; import org.springframework.batch.core.scope.context.ChunkContext; import org.springframework.batch.core.step.tasklet.Tasklet; import org.springframework.batch.repeat.RepeatStatus; +import org.springframework.lang.NonNull; @Slf4j @RequiredArgsConstructor public class ResetContextTasklet implements Tasklet { @Override - public RepeatStatus execute(@NotNull StepContribution contribution, @NotNull ChunkContext chunkContext) throws Exception { + public RepeatStatus execute(@NonNull StepContribution contribution, @NonNull ChunkContext chunkContext) throws Exception { ThreadLocalContextUtil.setActionContext(ActionContext.DEFAULT); return RepeatStatus.FINISHED; } diff --git a/fineract-provider/src/main/java/org/apache/fineract/cob/listener/AbstractLoanItemListener.java b/fineract-provider/src/main/java/org/apache/fineract/cob/listener/AbstractLoanItemListener.java index df2bc95a1..e42c9973c 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/cob/listener/AbstractLoanItemListener.java +++ b/fineract-provider/src/main/java/org/apache/fineract/cob/listener/AbstractLoanItemListener.java @@ -30,7 +30,6 @@ import org.apache.fineract.cob.loan.LoanLockingService; import org.apache.fineract.infrastructure.core.domain.AbstractPersistableCustom; import org.apache.fineract.infrastructure.core.serialization.ThrowableSerialization; import org.apache.fineract.portfolio.loanaccount.domain.Loan; -import org.jetbrains.annotations.NotNull; import org.springframework.batch.core.annotation.OnProcessError; import org.springframework.batch.core.annotation.OnReadError; import org.springframework.batch.core.annotation.OnSkipInProcess; @@ -38,6 +37,7 @@ import org.springframework.batch.core.annotation.OnSkipInRead; import org.springframework.batch.core.annotation.OnSkipInWrite; import org.springframework.batch.core.annotation.OnWriteError; import org.springframework.batch.item.Chunk; +import org.springframework.lang.NonNull; import org.springframework.transaction.TransactionStatus; import org.springframework.transaction.support.TransactionCallbackWithoutResult; import org.springframework.transaction.support.TransactionTemplate; @@ -55,7 +55,7 @@ public abstract class AbstractLoanItemListener { transactionTemplate.execute(new TransactionCallbackWithoutResult() { @Override - protected void doInTransactionWithoutResult(@NotNull TransactionStatus status) { + protected void doInTransactionWithoutResult(@NonNull TransactionStatus status) { for (Long loanId : loanIds) { LoanAccountLock loanAccountLock = loanLockingService.findByLoanIdAndLockOwner(loanId, getLockOwner()); if (loanAccountLock != null) { @@ -77,13 +77,13 @@ public abstract class AbstractLoanItemListener { } @OnProcessError - public void onProcessError(@NotNull Loan item, Exception e) { + public void onProcessError(@NonNull Loan item, Exception e) { log.warn("Error was triggered during processing of Loan (id={}) due to: {}", item.getId(), ThrowableSerialization.serialize(e)); updateAccountLockWithError(List.of(item.getId()), "Loan (id: %d) processing is failed", e); } @OnWriteError - public void onWriteError(Exception e, @NotNull Chunk items) { + public void onWriteError(Exception e, @NonNull Chunk items) { List loanIds = items.getItems().stream().map(AbstractPersistableCustom::getId).toList(); log.warn("Error was triggered during writing of Loans (ids={}) due to: {}", loanIds, ThrowableSerialization.serialize(e)); @@ -91,17 +91,17 @@ public abstract class AbstractLoanItemListener { } @OnSkipInRead - public void onSkipInRead(@NotNull Throwable e) { + public void onSkipInRead(@NonNull Throwable e) { log.warn("Skipping was triggered during read!"); } @OnSkipInProcess - public void onSkipInProcess(@NotNull Loan item, @NotNull Throwable e) { + public void onSkipInProcess(@NonNull Loan item, @NonNull Throwable e) { log.warn("Skipping was triggered during processing of Loan (id={})", item.getId()); } @OnSkipInWrite - public void onSkipInWrite(@NotNull Loan item, @NotNull Throwable e) { + public void onSkipInWrite(@NonNull Loan item, @NonNull Throwable e) { log.warn("Skipping was triggered during writing of Loan (id={})", item.getId()); } diff --git a/fineract-provider/src/main/java/org/apache/fineract/cob/loan/AbstractLoanItemProcessor.java b/fineract-provider/src/main/java/org/apache/fineract/cob/loan/AbstractLoanItemProcessor.java index 920b8722e..b5c7f544c 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/cob/loan/AbstractLoanItemProcessor.java +++ b/fineract-provider/src/main/java/org/apache/fineract/cob/loan/AbstractLoanItemProcessor.java @@ -32,12 +32,12 @@ import lombok.extern.slf4j.Slf4j; import org.apache.fineract.cob.COBBusinessStepService; import org.apache.fineract.cob.data.BusinessStepNameAndOrder; import org.apache.fineract.portfolio.loanaccount.domain.Loan; -import org.jetbrains.annotations.NotNull; import org.springframework.batch.core.ExitStatus; import org.springframework.batch.core.StepExecution; import org.springframework.batch.core.annotation.AfterStep; import org.springframework.batch.item.ExecutionContext; import org.springframework.batch.item.ItemProcessor; +import org.springframework.lang.NonNull; @RequiredArgsConstructor @Slf4j @@ -51,7 +51,7 @@ public abstract class AbstractLoanItemProcessor implements ItemProcessor businessSteps = (Set) executionContext.get(LoanCOBConstant.BUSINESS_STEPS); if (businessSteps == null) { throw new IllegalStateException("No business steps found in the execution context"); @@ -70,7 +70,7 @@ public abstract class AbstractLoanItemProcessor implements ItemProcessor { } @AfterStep - public ExitStatus afterStep(@NotNull StepExecution stepExecution) { + public ExitStatus afterStep(@NonNull StepExecution stepExecution) { return ExitStatus.COMPLETED; } diff --git a/fineract-provider/src/main/java/org/apache/fineract/cob/loan/AbstractLoanItemWriter.java b/fineract-provider/src/main/java/org/apache/fineract/cob/loan/AbstractLoanItemWriter.java index be01273eb..f7e2b60bf 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/cob/loan/AbstractLoanItemWriter.java +++ b/fineract-provider/src/main/java/org/apache/fineract/cob/loan/AbstractLoanItemWriter.java @@ -24,9 +24,9 @@ import lombok.extern.slf4j.Slf4j; import org.apache.fineract.cob.domain.LockOwner; import org.apache.fineract.infrastructure.core.domain.AbstractPersistableCustom; import org.apache.fineract.portfolio.loanaccount.domain.Loan; -import org.jetbrains.annotations.NotNull; import org.springframework.batch.item.Chunk; import org.springframework.batch.item.data.RepositoryItemWriter; +import org.springframework.lang.NonNull; @Slf4j @RequiredArgsConstructor @@ -35,7 +35,7 @@ public abstract class AbstractLoanItemWriter extends RepositoryItemWriter private final LoanLockingService loanLockingService; @Override - public void write(@NotNull Chunk items) throws Exception { + public void write(@NonNull Chunk items) throws Exception { if (!items.isEmpty()) { super.write(items); List loanIds = items.getItems().stream().map(AbstractPersistableCustom::getId).toList(); diff --git a/fineract-provider/src/main/java/org/apache/fineract/cob/loan/ApplyLoanLockTasklet.java b/fineract-provider/src/main/java/org/apache/fineract/cob/loan/ApplyLoanLockTasklet.java index f3e713f7a..d25f74b68 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/cob/loan/ApplyLoanLockTasklet.java +++ b/fineract-provider/src/main/java/org/apache/fineract/cob/loan/ApplyLoanLockTasklet.java @@ -34,12 +34,12 @@ import org.apache.fineract.cob.domain.LoanAccountLock; import org.apache.fineract.cob.domain.LockOwner; import org.apache.fineract.cob.exceptions.LoanLockCannotBeAppliedException; import org.apache.fineract.infrastructure.core.config.FineractProperties; -import org.jetbrains.annotations.NotNull; import org.springframework.batch.core.StepContribution; import org.springframework.batch.core.scope.context.ChunkContext; import org.springframework.batch.core.step.tasklet.Tasklet; import org.springframework.batch.item.ExecutionContext; import org.springframework.batch.repeat.RepeatStatus; +import org.springframework.lang.NonNull; import org.springframework.transaction.TransactionStatus; import org.springframework.transaction.support.TransactionCallbackWithoutResult; import org.springframework.transaction.support.TransactionTemplate; @@ -57,7 +57,7 @@ public class ApplyLoanLockTasklet implements Tasklet { @Override @SuppressFBWarnings("SLF4J_SIGN_ONLY_FORMAT") - public RepeatStatus execute(@NotNull StepContribution contribution, @NotNull ChunkContext chunkContext) + public RepeatStatus execute(@NonNull StepContribution contribution, @NonNull ChunkContext chunkContext) throws LoanLockCannotBeAppliedException { ExecutionContext executionContext = contribution.getStepExecution().getExecutionContext(); long numberOfExecutions = contribution.getStepExecution().getCommitCount(); @@ -102,7 +102,7 @@ public class ApplyLoanLockTasklet implements Tasklet { transactionTemplate.execute(new TransactionCallbackWithoutResult() { @Override - protected void doInTransactionWithoutResult(@NotNull TransactionStatus status) { + protected void doInTransactionWithoutResult(@NonNull TransactionStatus status) { loanLockingService.applyLock(toBeProcessedLoanIds, LockOwner.LOAN_COB_CHUNK_PROCESSING); } }); diff --git a/fineract-provider/src/main/java/org/apache/fineract/cob/loan/InlineCOBLoanItemReader.java b/fineract-provider/src/main/java/org/apache/fineract/cob/loan/InlineCOBLoanItemReader.java index f1030f01e..c25a9c33f 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/cob/loan/InlineCOBLoanItemReader.java +++ b/fineract-provider/src/main/java/org/apache/fineract/cob/loan/InlineCOBLoanItemReader.java @@ -21,10 +21,10 @@ package org.apache.fineract.cob.loan; import java.util.List; import java.util.concurrent.LinkedBlockingQueue; import org.apache.fineract.portfolio.loanaccount.domain.LoanRepository; -import org.jetbrains.annotations.NotNull; import org.springframework.batch.core.StepExecution; import org.springframework.batch.core.annotation.BeforeStep; import org.springframework.batch.item.ExecutionContext; +import org.springframework.lang.NonNull; public class InlineCOBLoanItemReader extends AbstractLoanItemReader { @@ -34,7 +34,7 @@ public class InlineCOBLoanItemReader extends AbstractLoanItemReader { @BeforeStep @SuppressWarnings({ "unchecked" }) - public void beforeStep(@NotNull StepExecution stepExecution) { + public void beforeStep(@NonNull StepExecution stepExecution) { ExecutionContext executionContext = stepExecution.getJobExecution().getExecutionContext(); List loanIds = (List) executionContext.get(LoanCOBConstant.LOAN_COB_PARAMETER); setRemainingData(new LinkedBlockingQueue<>(loanIds)); diff --git a/fineract-provider/src/main/java/org/apache/fineract/cob/loan/LoanCOBPartitioner.java b/fineract-provider/src/main/java/org/apache/fineract/cob/loan/LoanCOBPartitioner.java index 508e9d089..0d27e8bcb 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/cob/loan/LoanCOBPartitioner.java +++ b/fineract-provider/src/main/java/org/apache/fineract/cob/loan/LoanCOBPartitioner.java @@ -33,7 +33,6 @@ import org.apache.fineract.cob.data.LoanCOBParameter; import org.apache.fineract.cob.data.LoanCOBPartition; import org.apache.fineract.infrastructure.jobs.service.JobName; import org.apache.fineract.infrastructure.springbatch.PropertyService; -import org.jetbrains.annotations.NotNull; import org.springframework.batch.core.JobExecution; import org.springframework.batch.core.explore.JobExplorer; import org.springframework.batch.core.launch.JobExecutionNotRunningException; @@ -42,6 +41,7 @@ import org.springframework.batch.core.launch.NoSuchJobExecutionException; import org.springframework.batch.core.partition.support.Partitioner; import org.springframework.batch.item.ExecutionContext; import org.springframework.beans.factory.annotation.Value; +import org.springframework.lang.NonNull; import org.springframework.util.StopWatch; @Slf4j @@ -65,7 +65,7 @@ public class LoanCOBPartitioner implements Partitioner { @Setter private Boolean isCatchUp; - @NotNull + @NonNull @Override public Map partition(int gridSize) { int partitionSize = propertyService.getPartitionSize(LoanCOBConstant.JOB_NAME); diff --git a/fineract-provider/src/main/java/org/apache/fineract/cob/loan/LoanItemReader.java b/fineract-provider/src/main/java/org/apache/fineract/cob/loan/LoanItemReader.java index d94390f8b..19f886024 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/cob/loan/LoanItemReader.java +++ b/fineract-provider/src/main/java/org/apache/fineract/cob/loan/LoanItemReader.java @@ -29,10 +29,10 @@ import org.apache.fineract.cob.data.LoanCOBParameter; import org.apache.fineract.cob.domain.LoanAccountLock; import org.apache.fineract.cob.domain.LockOwner; import org.apache.fineract.portfolio.loanaccount.domain.LoanRepository; -import org.jetbrains.annotations.NotNull; import org.springframework.batch.core.StepExecution; import org.springframework.batch.core.annotation.BeforeStep; import org.springframework.batch.item.ExecutionContext; +import org.springframework.lang.NonNull; @Slf4j public class LoanItemReader extends AbstractLoanItemReader { @@ -51,7 +51,7 @@ public class LoanItemReader extends AbstractLoanItemReader { @BeforeStep @SuppressWarnings({ "unchecked" }) - public void beforeStep(@NotNull StepExecution stepExecution) { + public void beforeStep(@NonNull StepExecution stepExecution) { ExecutionContext executionContext = stepExecution.getExecutionContext(); LoanCOBParameter loanCOBParameter = (LoanCOBParameter) executionContext.get(LoanCOBConstant.LOAN_COB_PARAMETER); List loanIds; diff --git a/fineract-provider/src/main/java/org/apache/fineract/cob/service/InlineLoanCOBExecutorServiceImpl.java b/fineract-provider/src/main/java/org/apache/fineract/cob/service/InlineLoanCOBExecutorServiceImpl.java index cd23952bc..4e106d3b2 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/cob/service/InlineLoanCOBExecutorServiceImpl.java +++ b/fineract-provider/src/main/java/org/apache/fineract/cob/service/InlineLoanCOBExecutorServiceImpl.java @@ -60,7 +60,6 @@ import org.apache.fineract.infrastructure.jobs.exception.JobNotFoundException; import org.apache.fineract.infrastructure.jobs.service.InlineExecutorService; import org.apache.fineract.infrastructure.security.service.PlatformSecurityContext; import org.apache.fineract.infrastructure.springbatch.SpringBatchJobConstants; -import org.jetbrains.annotations.NotNull; import org.springframework.batch.core.BatchStatus; import org.springframework.batch.core.Job; import org.springframework.batch.core.JobExecution; @@ -72,6 +71,7 @@ import org.springframework.batch.core.explore.JobExplorer; import org.springframework.batch.core.launch.JobLauncher; import org.springframework.batch.core.launch.NoSuchJobException; import org.springframework.context.annotation.Conditional; +import org.springframework.lang.NonNull; import org.springframework.stereotype.Service; import org.springframework.transaction.TransactionStatus; import org.springframework.transaction.annotation.Propagation; @@ -221,7 +221,7 @@ public class InlineLoanCOBExecutorServiceImpl implements InlineExecutorService loanAccountLocks = getLoanAccountLocks(loanIds, businessDate); loanAccountLocks.forEach(loanAccountLock -> { try { diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/auditing/CustomAuditingHandler.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/auditing/CustomAuditingHandler.java index f8bfff14e..141ff4ed0 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/auditing/CustomAuditingHandler.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/auditing/CustomAuditingHandler.java @@ -19,7 +19,6 @@ package org.apache.fineract.infrastructure.core.auditing; import org.apache.fineract.infrastructure.core.domain.AbstractAuditableWithUTCDateTimeCustom; -import org.jetbrains.annotations.NotNull; import org.springframework.data.auditing.AuditableBeanWrapper; import org.springframework.data.auditing.AuditingHandler; import org.springframework.data.auditing.DateTimeProvider; @@ -28,6 +27,7 @@ import org.springframework.data.mapping.PersistentEntity; import org.springframework.data.mapping.PersistentProperty; import org.springframework.data.mapping.context.MappingContext; import org.springframework.data.mapping.context.PersistentEntities; +import org.springframework.lang.NonNull; import org.springframework.util.Assert; public class CustomAuditingHandler extends AuditingHandler { @@ -73,9 +73,8 @@ public class CustomAuditingHandler extends AuditingHandler { * @param source * must not be {@literal null}. */ - @NotNull @Override - public T markCreated(@NotNull T source) { + public T markCreated(@NonNull T source) { Assert.notNull(source, "Source entity must not be null"); setDateTimeProvider(fetchDateTimeProvider(source)); return super.markCreated(source); @@ -87,9 +86,8 @@ public class CustomAuditingHandler extends AuditingHandler { * @param source * must not be {@literal null}. */ - @NotNull @Override - public T markModified(@NotNull T source) { + public T markModified(@NonNull T source) { Assert.notNull(source, "Source entity must not be null"); setDateTimeProvider(fetchDateTimeProvider(source)); return super.markModified(source); diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/auditing/CustomDateTimeProvider.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/auditing/CustomDateTimeProvider.java index 62d762bae..a7c14ba4e 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/auditing/CustomDateTimeProvider.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/auditing/CustomDateTimeProvider.java @@ -18,10 +18,10 @@ */ package org.apache.fineract.infrastructure.core.auditing; +import jakarta.validation.constraints.NotNull; import java.time.temporal.TemporalAccessor; import java.util.Optional; import org.apache.fineract.infrastructure.core.service.DateUtils; -import org.jetbrains.annotations.NotNull; import org.springframework.data.auditing.DateTimeProvider; public enum CustomDateTimeProvider implements DateTimeProvider { diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/service/GenericDataServiceImpl.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/service/GenericDataServiceImpl.java index 18ab98188..5e06d9fd8 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/service/GenericDataServiceImpl.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/service/GenericDataServiceImpl.java @@ -48,11 +48,11 @@ import org.apache.fineract.infrastructure.dataqueries.data.ResultsetColumnHeader import org.apache.fineract.infrastructure.dataqueries.data.ResultsetColumnValueData; import org.apache.fineract.infrastructure.dataqueries.data.ResultsetRowData; import org.apache.fineract.infrastructure.dataqueries.exception.DatatableNotFoundException; -import org.jetbrains.annotations.NotNull; import org.springframework.dao.DataAccessException; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.support.rowset.SqlRowSet; import org.springframework.jdbc.support.rowset.SqlRowSetMetaData; +import org.springframework.lang.NonNull; import org.springframework.stereotype.Service; @Service @@ -134,14 +134,14 @@ public class GenericDataServiceImpl implements GenericDataService { return columnHeaders; } - @NotNull + @NonNull @Override public List fillResultsetRowData(final String sql, List columnHeaders) { final SqlRowSet rs = jdbcTemplate.queryForRowSet(sql); // NOSONAR return fillResultsetRowData(rs, columnHeaders); } - @NotNull + @NonNull private static List fillResultsetRowData(SqlRowSet rs, List columnHeaders) { final SqlRowSetMetaData rsmd = rs.getMetaData(); final List resultsetDataRows = new ArrayList<>(); diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/service/export/DatatableExportUtil.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/service/export/DatatableExportUtil.java index 0a6b522c4..3b333a9a4 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/service/export/DatatableExportUtil.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/service/export/DatatableExportUtil.java @@ -23,7 +23,7 @@ import java.util.Map; import java.util.stream.Collectors; import org.apache.commons.lang3.StringUtils; import org.apache.fineract.infrastructure.core.service.DateUtils; -import org.jetbrains.annotations.NotNull; +import org.springframework.lang.NonNull; public final class DatatableExportUtil { @@ -70,7 +70,7 @@ public final class DatatableExportUtil { } } - @NotNull + @NonNull private static String generateReportFileName(int maxLength, String folder, String extension, String reportName, Map reportParams) { String extensionWithDot = extension.startsWith(".") ? extension : "." + extension; diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/springbatch/OutputChannelInterceptor.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/springbatch/OutputChannelInterceptor.java index 323c00510..fb8166e9e 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/springbatch/OutputChannelInterceptor.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/springbatch/OutputChannelInterceptor.java @@ -19,9 +19,9 @@ package org.apache.fineract.infrastructure.springbatch; import org.apache.fineract.infrastructure.core.service.ThreadLocalContextUtil; -import org.jetbrains.annotations.NotNull; import org.springframework.batch.integration.async.StepExecutionInterceptor; import org.springframework.batch.integration.partition.StepExecutionRequest; +import org.springframework.lang.NonNull; import org.springframework.messaging.Message; import org.springframework.messaging.MessageChannel; import org.springframework.messaging.support.GenericMessage; @@ -29,7 +29,7 @@ import org.springframework.messaging.support.GenericMessage; public class OutputChannelInterceptor extends StepExecutionInterceptor { @Override - public Message preSend(Message message, @NotNull MessageChannel channel) { + public Message preSend(Message message, @NonNull MessageChannel channel) { StepExecutionRequest stepExecutionRequest = (StepExecutionRequest) message.getPayload(); ContextualMessage contextualMessage = new ContextualMessage(); contextualMessage.setStepExecutionRequest(stepExecutionRequest); diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/serialization/LoanTransactionValidatorImpl.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/serialization/LoanTransactionValidatorImpl.java index 4380ca72c..5123174ad 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/serialization/LoanTransactionValidatorImpl.java +++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/serialization/LoanTransactionValidatorImpl.java @@ -90,7 +90,7 @@ import org.apache.fineract.portfolio.loanaccount.exception.LoanRepaymentSchedule import org.apache.fineract.portfolio.loanaccount.loanschedule.domain.LoanScheduleType; import org.apache.fineract.portfolio.loanaccount.service.LoanUtilService; import org.apache.fineract.portfolio.loanproduct.domain.LoanProduct; -import org.jetbrains.annotations.NotNull; +import org.springframework.lang.NonNull; import org.springframework.stereotype.Component; @Component("loanTransactionValidator") @@ -912,7 +912,7 @@ public final class LoanTransactionValidatorImpl implements LoanTransactionValida } } - private static @NotNull BigDecimal collectTotalCollateral(Set loanCollateralManagements) { + private static @NonNull BigDecimal collectTotalCollateral(Set loanCollateralManagements) { BigDecimal totalCollateral = BigDecimal.ZERO; for (LoanCollateralManagement loanCollateralManagement : loanCollateralManagements) { @@ -924,7 +924,7 @@ public final class LoanTransactionValidatorImpl implements LoanTransactionValida return totalCollateral; } - private static @NotNull Set getDisbursementParameters(boolean isAccountTransfer) { + private static @NonNull Set getDisbursementParameters(boolean isAccountTransfer) { Set disbursementParameters; if (isAccountTransfer) { diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/service/LoanReadPlatformServiceImpl.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/service/LoanReadPlatformServiceImpl.java index c6636bd14..83fa05f8b 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/service/LoanReadPlatformServiceImpl.java +++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/service/LoanReadPlatformServiceImpl.java @@ -142,13 +142,13 @@ import org.apache.fineract.portfolio.paymentdetail.data.PaymentDetailData; import org.apache.fineract.portfolio.paymenttype.data.PaymentTypeData; import org.apache.fineract.portfolio.paymenttype.service.PaymentTypeReadPlatformService; import org.apache.fineract.useradministration.domain.AppUser; -import org.jetbrains.annotations.NotNull; import org.springframework.dao.DataAccessException; import org.springframework.dao.EmptyResultDataAccessException; import org.springframework.data.domain.Pageable; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.ResultSetExtractor; import org.springframework.jdbc.core.RowMapper; +import org.springframework.lang.NonNull; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; @@ -1316,7 +1316,7 @@ public class LoanReadPlatformServiceImpl implements LoanReadPlatformService, Loa } @Override - public LoanScheduleData extractData(@NotNull final ResultSet rs) throws SQLException, DataAccessException { + public LoanScheduleData extractData(@NonNull final ResultSet rs) throws SQLException, DataAccessException { BigDecimal waivedChargeAmount = BigDecimal.ZERO; for (DisbursementData disbursementDetail : disbursementData) { waivedChargeAmount = waivedChargeAmount.add(disbursementDetail.getWaivedChargeAmount()); diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanproduct/service/LoanProductReadPlatformServiceImpl.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanproduct/service/LoanProductReadPlatformServiceImpl.java index 91aad12ab..56c2ef8c9 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanproduct/service/LoanProductReadPlatformServiceImpl.java +++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanproduct/service/LoanProductReadPlatformServiceImpl.java @@ -67,10 +67,10 @@ import org.apache.fineract.portfolio.loanproduct.domain.LoanSupportedInterestRef import org.apache.fineract.portfolio.loanproduct.exception.LoanProductNotFoundException; import org.apache.fineract.portfolio.rate.data.RateData; import org.apache.fineract.portfolio.rate.service.RateReadService; -import org.jetbrains.annotations.NotNull; import org.springframework.dao.EmptyResultDataAccessException; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.RowMapper; +import org.springframework.lang.NonNull; @RequiredArgsConstructor public class LoanProductReadPlatformServiceImpl implements LoanProductReadPlatformService { @@ -310,7 +310,7 @@ public class LoanProductReadPlatformServiceImpl implements LoanProductReadPlatfo } @Override - public LoanProductData mapRow(@NotNull final ResultSet rs, @SuppressWarnings("unused") final int rowNum) throws SQLException { + public LoanProductData mapRow(@NonNull final ResultSet rs, @SuppressWarnings("unused") final int rowNum) throws SQLException { final Long id = JdbcSupport.getLong(rs, "id"); final String name = rs.getString("name"); @@ -832,7 +832,7 @@ public class LoanProductReadPlatformServiceImpl implements LoanProductReadPlatfo } @Override - public LoanProductData mapRow(@NotNull final ResultSet rs, @SuppressWarnings("unused") final int rowNum) throws SQLException { + public LoanProductData mapRow(@NonNull final ResultSet rs, @SuppressWarnings("unused") final int rowNum) throws SQLException { final Long id = JdbcSupport.getLong(rs, "id"); final String name = rs.getString("name"); diff --git a/fineract-provider/src/test/java/org/apache/fineract/infrastructure/creditbureau/service/ThitsaWorksCreditBureauIntegrationWritePlatformServiceImplTest.java b/fineract-provider/src/test/java/org/apache/fineract/infrastructure/creditbureau/service/ThitsaWorksCreditBureauIntegrationWritePlatformServiceImplTest.java index b83c3729d..1e065e28a 100644 --- a/fineract-provider/src/test/java/org/apache/fineract/infrastructure/creditbureau/service/ThitsaWorksCreditBureauIntegrationWritePlatformServiceImplTest.java +++ b/fineract-provider/src/test/java/org/apache/fineract/infrastructure/creditbureau/service/ThitsaWorksCreditBureauIntegrationWritePlatformServiceImplTest.java @@ -64,7 +64,6 @@ import org.apache.fineract.infrastructure.creditbureau.domain.TokenRepositoryWra import org.apache.fineract.infrastructure.creditbureau.serialization.CreditBureauTokenCommandFromApiJsonDeserializer; import org.apache.fineract.infrastructure.security.service.PlatformSecurityContext; import org.glassfish.jersey.media.multipart.FormDataContentDisposition; -import org.jetbrains.annotations.NotNull; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; @@ -72,6 +71,7 @@ import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.mockito.Spy; +import org.springframework.lang.NonNull; @SuppressFBWarnings(value = "RV_EXCEPTION_NOT_THROWN", justification = "False positive") public class ThitsaWorksCreditBureauIntegrationWritePlatformServiceImplTest { @@ -402,7 +402,7 @@ public class ThitsaWorksCreditBureauIntegrationWritePlatformServiceImplTest { assertNotNull(token); } - @NotNull + @NonNull private String createValidToken() throws JsonProcessingException { ObjectNode jsonResponse = mapper.createObjectNode(); jsonResponse.put("access_token", "AccessToken"); diff --git a/fineract-provider/src/test/java/org/apache/fineract/infrastructure/event/external/producer/kafka/KafkaExternalEventProducerTest.java b/fineract-provider/src/test/java/org/apache/fineract/infrastructure/event/external/producer/kafka/KafkaExternalEventProducerTest.java index a76ba420d..ce4393a59 100644 --- a/fineract-provider/src/test/java/org/apache/fineract/infrastructure/event/external/producer/kafka/KafkaExternalEventProducerTest.java +++ b/fineract-provider/src/test/java/org/apache/fineract/infrastructure/event/external/producer/kafka/KafkaExternalEventProducerTest.java @@ -26,7 +26,6 @@ import java.util.List; import java.util.Map; import java.util.concurrent.CompletableFuture; import org.apache.fineract.infrastructure.core.config.FineractProperties; -import org.jetbrains.annotations.NotNull; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; @@ -35,6 +34,7 @@ import org.mockito.Mockito; import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.kafka.core.KafkaTemplate; import org.springframework.kafka.support.SendResult; +import org.springframework.lang.NonNull; @ExtendWith(MockitoExtension.class) @SuppressFBWarnings(value = "RV_EXCEPTION_NOT_THROWN", justification = "False positive") @@ -112,7 +112,7 @@ class KafkaExternalEventProducerTest { Mockito.verifyNoMoreInteractions(kafkaTemplate); } - @NotNull + @NonNull private static FineractProperties createProperties() { FineractProperties props = new FineractProperties(); diff --git a/fineract-provider/src/test/java/org/apache/fineract/portfolio/delinquency/validator/DelinquencyActionParseAndValidatorTest.java b/fineract-provider/src/test/java/org/apache/fineract/portfolio/delinquency/validator/DelinquencyActionParseAndValidatorTest.java index 4b4b0f5f9..c013d2df3 100644 --- a/fineract-provider/src/test/java/org/apache/fineract/portfolio/delinquency/validator/DelinquencyActionParseAndValidatorTest.java +++ b/fineract-provider/src/test/java/org/apache/fineract/portfolio/delinquency/validator/DelinquencyActionParseAndValidatorTest.java @@ -46,12 +46,12 @@ import org.apache.fineract.portfolio.delinquency.domain.LoanDelinquencyAction; import org.apache.fineract.portfolio.delinquency.helper.DelinquencyEffectivePauseHelper; import org.apache.fineract.portfolio.loanaccount.domain.Loan; import org.apache.fineract.portfolio.loanaccount.domain.LoanStatus; -import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.function.Executable; import org.mockito.Mockito; +import org.springframework.lang.NonNull; class DelinquencyActionParseAndValidatorTest { @@ -380,7 +380,7 @@ class DelinquencyActionParseAndValidatorTest { Assertions.assertEquals(localDate("19 September 2022"), parsedDelinquencyAction.getEndDate()); } - @NotNull + @NonNull private JsonCommand delinquencyAction(@Nullable String action, @Nullable String startDate, @Nullable String endDate) throws JsonProcessingException { Map map = new HashMap<>(); @@ -396,7 +396,7 @@ class DelinquencyActionParseAndValidatorTest { return LocalDate.parse(date, DATE_TIME_FORMATTER); } - @NotNull + @NonNull private JsonCommand createJsonCommand(Map jsonMap) throws JsonProcessingException { ObjectMapper objectMapper = new ObjectMapper(); String json = objectMapper.writerWithDefaultPrettyPrinter().writeValueAsString(jsonMap); diff --git a/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/Utils.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/Utils.java index 4472a0fc1..d492e0527 100644 --- a/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/Utils.java +++ b/integration-tests/src/test/java/org/apache/fineract/integrationtests/common/Utils.java @@ -70,9 +70,9 @@ import org.apache.commons.lang3.StringUtils; import org.apache.fineract.infrastructure.core.service.DateUtils; import org.apache.fineract.integrationtests.ConfigProperties; import org.apache.http.conn.HttpHostConnectException; -import org.jetbrains.annotations.NotNull; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.lang.NonNull; /** * Util for RestAssured tests. This class here in src/integrationTest is copy/pasted to src/test; please keep them in @@ -417,7 +417,7 @@ public final class Utils { return dateFormat.format(dateToBeConvert.getTime()); } - @NotNull + @NonNull public static OffsetDateTime getAuditDateTimeToCompare() throws InterruptedException { OffsetDateTime now = DateUtils.getAuditOffsetDateTime(); // Testing in minutes precision, but still need to take care around the end of the actual minute