FINERACT-2304 - fix entity manager usage only through persistence context annotation
This commit is contained in:
+6
-2
@@ -90,8 +90,7 @@ public class BatchApiServiceImpl implements BatchApiService {
|
|||||||
|
|
||||||
private final List<BatchRequestPreprocessor> batchPreprocessors;
|
private final List<BatchRequestPreprocessor> batchPreprocessors;
|
||||||
|
|
||||||
@PersistenceContext
|
private EntityManager entityManager;
|
||||||
private final EntityManager entityManager;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Run each request root step in a separated transaction
|
* Run each request root step in a separated transaction
|
||||||
@@ -380,4 +379,9 @@ public class BatchApiServiceImpl implements BatchApiService {
|
|||||||
return new BatchResponse().setRequestId(requestId).setStatusCode(statusCode == null ? SC_INTERNAL_SERVER_ERROR : statusCode)
|
return new BatchResponse().setRequestId(requestId).setStatusCode(statusCode == null ? SC_INTERNAL_SERVER_ERROR : statusCode)
|
||||||
.setBody(body == null ? "Request with id " + requestId + " was erroneous!" : body).setHeaders(headers);
|
.setBody(body == null ? "Request with id " + requestId + " was erroneous!" : body).setHeaders(headers);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PersistenceContext
|
||||||
|
public void setEntityManager(EntityManager entityManager) {
|
||||||
|
this.entityManager = entityManager;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-1
@@ -19,6 +19,7 @@
|
|||||||
package org.apache.fineract.infrastructure.core.jpa;
|
package org.apache.fineract.infrastructure.core.jpa;
|
||||||
|
|
||||||
import jakarta.persistence.EntityManager;
|
import jakarta.persistence.EntityManager;
|
||||||
|
import jakarta.persistence.PersistenceContext;
|
||||||
import jakarta.persistence.TypedQuery;
|
import jakarta.persistence.TypedQuery;
|
||||||
import jakarta.persistence.criteria.CriteriaBuilder;
|
import jakarta.persistence.criteria.CriteriaBuilder;
|
||||||
import jakarta.persistence.criteria.CriteriaQuery;
|
import jakarta.persistence.criteria.CriteriaQuery;
|
||||||
@@ -41,7 +42,8 @@ import org.springframework.stereotype.Component;
|
|||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
public class CriteriaQueryFactory {
|
public class CriteriaQueryFactory {
|
||||||
|
|
||||||
private final EntityManager entityManager;
|
@PersistenceContext
|
||||||
|
private EntityManager entityManager;
|
||||||
|
|
||||||
public List<Order> ordersFromPageable(Pageable pageable, CriteriaBuilder cb, Root<?> root) {
|
public List<Order> ordersFromPageable(Pageable pageable, CriteriaBuilder cb, Root<?> root) {
|
||||||
return ordersFromPageable(pageable, cb, root, () -> null);
|
return ordersFromPageable(pageable, cb, root, () -> null);
|
||||||
|
|||||||
+1
-1
@@ -30,7 +30,7 @@ import org.springframework.stereotype.Component;
|
|||||||
public class CustomExternalEventConfigurationRepositoryImpl implements CustomExternalEventConfigurationRepository {
|
public class CustomExternalEventConfigurationRepositoryImpl implements CustomExternalEventConfigurationRepository {
|
||||||
|
|
||||||
@PersistenceContext
|
@PersistenceContext
|
||||||
private final EntityManager entityManager;
|
private EntityManager entityManager;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ExternalEventConfiguration findExternalEventConfigurationByTypeWithNotFoundDetection(String externalEventType) {
|
public ExternalEventConfiguration findExternalEventConfigurationByTypeWithNotFoundDetection(String externalEventType) {
|
||||||
|
|||||||
+4
-1
@@ -19,6 +19,7 @@
|
|||||||
package org.apache.fineract.portfolio.client.domain.search;
|
package org.apache.fineract.portfolio.client.domain.search;
|
||||||
|
|
||||||
import jakarta.persistence.EntityManager;
|
import jakarta.persistence.EntityManager;
|
||||||
|
import jakarta.persistence.PersistenceContext;
|
||||||
import jakarta.persistence.TypedQuery;
|
import jakarta.persistence.TypedQuery;
|
||||||
import jakarta.persistence.criteria.CriteriaBuilder;
|
import jakarta.persistence.criteria.CriteriaBuilder;
|
||||||
import jakarta.persistence.criteria.CriteriaQuery;
|
import jakarta.persistence.criteria.CriteriaQuery;
|
||||||
@@ -44,7 +45,9 @@ import org.springframework.stereotype.Repository;
|
|||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
public class SearchingClientRepositoryImpl implements SearchingClientRepository {
|
public class SearchingClientRepositoryImpl implements SearchingClientRepository {
|
||||||
|
|
||||||
private final EntityManager entityManager;
|
@PersistenceContext
|
||||||
|
private EntityManager entityManager;
|
||||||
|
|
||||||
private final CriteriaQueryFactory criteriaQueryFactory;
|
private final CriteriaQueryFactory criteriaQueryFactory;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
+1
@@ -66,6 +66,7 @@ class BatchApiServiceImplTest {
|
|||||||
|
|
||||||
@BeforeEach
|
@BeforeEach
|
||||||
void setUp() {
|
void setUp() {
|
||||||
|
batchApiService.setEntityManager(entityManager);
|
||||||
request = new BatchRequest();
|
request = new BatchRequest();
|
||||||
request.setRequestId(1L);
|
request.setRequestId(1L);
|
||||||
request.setMethod("POST");
|
request.setMethod("POST");
|
||||||
|
|||||||
+4
-1
@@ -19,6 +19,7 @@
|
|||||||
package org.apache.fineract.investor.domain.search;
|
package org.apache.fineract.investor.domain.search;
|
||||||
|
|
||||||
import jakarta.persistence.EntityManager;
|
import jakarta.persistence.EntityManager;
|
||||||
|
import jakarta.persistence.PersistenceContext;
|
||||||
import jakarta.persistence.TypedQuery;
|
import jakarta.persistence.TypedQuery;
|
||||||
import jakarta.persistence.criteria.CriteriaBuilder;
|
import jakarta.persistence.criteria.CriteriaBuilder;
|
||||||
import jakarta.persistence.criteria.CriteriaQuery;
|
import jakarta.persistence.criteria.CriteriaQuery;
|
||||||
@@ -46,7 +47,9 @@ import org.springframework.stereotype.Repository;
|
|||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
public class SearchingExternalAssetOwnerRepositoryImpl implements SearchingExternalAssetOwnerRepository {
|
public class SearchingExternalAssetOwnerRepositoryImpl implements SearchingExternalAssetOwnerRepository {
|
||||||
|
|
||||||
private final EntityManager entityManager;
|
@PersistenceContext
|
||||||
|
private EntityManager entityManager;
|
||||||
|
|
||||||
private final CriteriaQueryFactory criteriaQueryFactory;
|
private final CriteriaQueryFactory criteriaQueryFactory;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
+4
-1
@@ -19,6 +19,7 @@
|
|||||||
package org.apache.fineract.portfolio.loanaccount.domain;
|
package org.apache.fineract.portfolio.loanaccount.domain;
|
||||||
|
|
||||||
import jakarta.persistence.EntityManager;
|
import jakarta.persistence.EntityManager;
|
||||||
|
import jakarta.persistence.PersistenceContext;
|
||||||
import jakarta.persistence.TypedQuery;
|
import jakarta.persistence.TypedQuery;
|
||||||
import jakarta.persistence.criteria.CriteriaBuilder;
|
import jakarta.persistence.criteria.CriteriaBuilder;
|
||||||
import jakarta.persistence.criteria.CriteriaQuery;
|
import jakarta.persistence.criteria.CriteriaQuery;
|
||||||
@@ -41,7 +42,9 @@ import org.springframework.stereotype.Repository;
|
|||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
public class LoanSummaryBalancesRepository {
|
public class LoanSummaryBalancesRepository {
|
||||||
|
|
||||||
private final EntityManager entityManager;
|
@PersistenceContext
|
||||||
|
private EntityManager entityManager;
|
||||||
|
|
||||||
private final CriteriaQueryFactory criteriaQueryFactory;
|
private final CriteriaQueryFactory criteriaQueryFactory;
|
||||||
|
|
||||||
public Collection<LoanTransactionBalanceWithLoanId> retrieveLoanSummaryBalancesByTransactionType(final Long loanId,
|
public Collection<LoanTransactionBalanceWithLoanId> retrieveLoanSummaryBalancesByTransactionType(final Long loanId,
|
||||||
|
|||||||
+4
-1
@@ -19,6 +19,7 @@
|
|||||||
package org.apache.fineract.portfolio.loanaccount.service;
|
package org.apache.fineract.portfolio.loanaccount.service;
|
||||||
|
|
||||||
import jakarta.persistence.EntityManager;
|
import jakarta.persistence.EntityManager;
|
||||||
|
import jakarta.persistence.PersistenceContext;
|
||||||
import jakarta.persistence.TypedQuery;
|
import jakarta.persistence.TypedQuery;
|
||||||
import jakarta.persistence.criteria.CriteriaBuilder;
|
import jakarta.persistence.criteria.CriteriaBuilder;
|
||||||
import jakarta.persistence.criteria.CriteriaQuery;
|
import jakarta.persistence.criteria.CriteriaQuery;
|
||||||
@@ -42,7 +43,9 @@ import org.springframework.transaction.annotation.Transactional;
|
|||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
public class LoanChargePaidByReadService {
|
public class LoanChargePaidByReadService {
|
||||||
|
|
||||||
private final EntityManager entityManager;
|
@PersistenceContext
|
||||||
|
private EntityManager entityManager;
|
||||||
|
|
||||||
private final LoanChargePaidByMapper loanChargePaidByMapper;
|
private final LoanChargePaidByMapper loanChargePaidByMapper;
|
||||||
|
|
||||||
public List<LoanChargePaidByData> fetchLoanChargesPaidByDataTransactionId(Long transactionId) {
|
public List<LoanChargePaidByData> fetchLoanChargesPaidByDataTransactionId(Long transactionId) {
|
||||||
|
|||||||
+3
-1
@@ -19,6 +19,7 @@
|
|||||||
package org.apache.fineract.portfolio.loanaccount.service;
|
package org.apache.fineract.portfolio.loanaccount.service;
|
||||||
|
|
||||||
import jakarta.persistence.EntityManager;
|
import jakarta.persistence.EntityManager;
|
||||||
|
import jakarta.persistence.PersistenceContext;
|
||||||
import jakarta.persistence.TypedQuery;
|
import jakarta.persistence.TypedQuery;
|
||||||
import jakarta.persistence.criteria.CriteriaBuilder;
|
import jakarta.persistence.criteria.CriteriaBuilder;
|
||||||
import jakarta.persistence.criteria.CriteriaQuery;
|
import jakarta.persistence.criteria.CriteriaQuery;
|
||||||
@@ -41,7 +42,8 @@ import org.springframework.transaction.annotation.Transactional;
|
|||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
public class LoanTransactionReadService {
|
public class LoanTransactionReadService {
|
||||||
|
|
||||||
private final EntityManager entityManager;
|
@PersistenceContext
|
||||||
|
private EntityManager entityManager;
|
||||||
|
|
||||||
public List<LoanTransaction> fetchLoanTransactionsByType(final Long loanId, final String externalId,
|
public List<LoanTransaction> fetchLoanTransactionsByType(final Long loanId, final String externalId,
|
||||||
final LoanTransactionType transactionType) {
|
final LoanTransactionType transactionType) {
|
||||||
|
|||||||
+4
-1
@@ -19,6 +19,7 @@
|
|||||||
package org.apache.fineract.portfolio.loanaccount.service;
|
package org.apache.fineract.portfolio.loanaccount.service;
|
||||||
|
|
||||||
import jakarta.persistence.EntityManager;
|
import jakarta.persistence.EntityManager;
|
||||||
|
import jakarta.persistence.PersistenceContext;
|
||||||
import jakarta.persistence.TypedQuery;
|
import jakarta.persistence.TypedQuery;
|
||||||
import jakarta.persistence.criteria.CriteriaBuilder;
|
import jakarta.persistence.criteria.CriteriaBuilder;
|
||||||
import jakarta.persistence.criteria.CriteriaQuery;
|
import jakarta.persistence.criteria.CriteriaQuery;
|
||||||
@@ -42,7 +43,9 @@ import org.springframework.transaction.annotation.Transactional;
|
|||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
public class LoanTransactionRelationReadService {
|
public class LoanTransactionRelationReadService {
|
||||||
|
|
||||||
private final EntityManager entityManager;
|
@PersistenceContext
|
||||||
|
private EntityManager entityManager;
|
||||||
|
|
||||||
private final LoanTransactionRelationMapper loanTransactionRelationMapper;
|
private final LoanTransactionRelationMapper loanTransactionRelationMapper;
|
||||||
|
|
||||||
public List<LoanTransactionRelationData> fetchLoanTransactionRelationDataFrom(final Long transactionId) {
|
public List<LoanTransactionRelationData> fetchLoanTransactionRelationDataFrom(final Long transactionId) {
|
||||||
|
|||||||
+4
-1
@@ -19,6 +19,7 @@
|
|||||||
package org.apache.fineract.cob.domain;
|
package org.apache.fineract.cob.domain;
|
||||||
|
|
||||||
import jakarta.persistence.EntityManager;
|
import jakarta.persistence.EntityManager;
|
||||||
|
import jakarta.persistence.PersistenceContext;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.apache.fineract.infrastructure.core.service.database.DatabaseSpecificSQLGenerator;
|
import org.apache.fineract.infrastructure.core.service.database.DatabaseSpecificSQLGenerator;
|
||||||
import org.springframework.stereotype.Repository;
|
import org.springframework.stereotype.Repository;
|
||||||
@@ -27,7 +28,9 @@ import org.springframework.stereotype.Repository;
|
|||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
public class CustomLoanAccountLockRepositoryImpl implements CustomLoanAccountLockRepository {
|
public class CustomLoanAccountLockRepositoryImpl implements CustomLoanAccountLockRepository {
|
||||||
|
|
||||||
private final EntityManager entityManager;
|
@PersistenceContext
|
||||||
|
private EntityManager entityManager;
|
||||||
|
|
||||||
private final DatabaseSpecificSQLGenerator databaseSpecificSQLGenerator;
|
private final DatabaseSpecificSQLGenerator databaseSpecificSQLGenerator;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
+2
-6
@@ -28,9 +28,9 @@ import jakarta.persistence.EntityManager;
|
|||||||
import org.apache.fineract.infrastructure.event.external.exception.ExternalEventConfigurationNotFoundException;
|
import org.apache.fineract.infrastructure.event.external.exception.ExternalEventConfigurationNotFoundException;
|
||||||
import org.apache.fineract.infrastructure.event.external.repository.CustomExternalEventConfigurationRepositoryImpl;
|
import org.apache.fineract.infrastructure.event.external.repository.CustomExternalEventConfigurationRepositoryImpl;
|
||||||
import org.apache.fineract.infrastructure.event.external.repository.domain.ExternalEventConfiguration;
|
import org.apache.fineract.infrastructure.event.external.repository.domain.ExternalEventConfiguration;
|
||||||
import org.junit.jupiter.api.BeforeEach;
|
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
import org.junit.jupiter.api.extension.ExtendWith;
|
import org.junit.jupiter.api.extension.ExtendWith;
|
||||||
|
import org.mockito.InjectMocks;
|
||||||
import org.mockito.Mock;
|
import org.mockito.Mock;
|
||||||
import org.mockito.Mockito;
|
import org.mockito.Mockito;
|
||||||
import org.mockito.junit.jupiter.MockitoExtension;
|
import org.mockito.junit.jupiter.MockitoExtension;
|
||||||
@@ -41,13 +41,9 @@ public class CustomExternalEventConfigurationRepositoryImplTest {
|
|||||||
|
|
||||||
@Mock
|
@Mock
|
||||||
private EntityManager entityManager;
|
private EntityManager entityManager;
|
||||||
|
@InjectMocks
|
||||||
private CustomExternalEventConfigurationRepositoryImpl underTest;
|
private CustomExternalEventConfigurationRepositoryImpl underTest;
|
||||||
|
|
||||||
@BeforeEach
|
|
||||||
public void setUp() {
|
|
||||||
underTest = new CustomExternalEventConfigurationRepositoryImpl(entityManager);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void givenConfigurationExistsThenReturnConfiguration() {
|
public void givenConfigurationExistsThenReturnConfiguration() {
|
||||||
// given
|
// given
|
||||||
|
|||||||
Reference in New Issue
Block a user