diff --git a/registration-processor/core-processor/registration-processor-manual-verification-stage/src/main/java/io/mosip/registration/processor/manual/verification/config/ManualVerificationConfigBean.java b/registration-processor/core-processor/registration-processor-manual-verification-stage/src/main/java/io/mosip/registration/processor/manual/verification/config/ManualVerificationConfigBean.java index d21eab47d21..eb9ab196219 100644 --- a/registration-processor/core-processor/registration-processor-manual-verification-stage/src/main/java/io/mosip/registration/processor/manual/verification/config/ManualVerificationConfigBean.java +++ b/registration-processor/core-processor/registration-processor-manual-verification-stage/src/main/java/io/mosip/registration/processor/manual/verification/config/ManualVerificationConfigBean.java @@ -8,6 +8,7 @@ import io.mosip.registration.processor.manual.verification.service.impl.ManualVerificationServiceImpl; import io.mosip.registration.processor.manual.verification.stage.ManualVerificationStage; import io.mosip.registration.processor.manual.verification.util.ManualVerificationRequestValidator; +import io.mosip.registration.processor.manual.verification.util.ManualVerificationUpdateUtility; @Configuration public class ManualVerificationConfigBean { @@ -16,7 +17,10 @@ public class ManualVerificationConfigBean { @Bean ManualVerificationService getManualVerificationService() { return new ManualVerificationServiceImpl(); } - + @Bean + ManualVerificationUpdateUtility getManualVerificationUpdateUtility() { + return new ManualVerificationUpdateUtility(); + } @Bean public ManualVerificationStage getManualVerificationStage() { return new ManualVerificationStage(); diff --git a/registration-processor/core-processor/registration-processor-manual-verification-stage/src/main/java/io/mosip/registration/processor/manual/verification/service/impl/ManualVerificationServiceImpl.java b/registration-processor/core-processor/registration-processor-manual-verification-stage/src/main/java/io/mosip/registration/processor/manual/verification/service/impl/ManualVerificationServiceImpl.java index 9bf0f08400e..56a2bbbc311 100644 --- a/registration-processor/core-processor/registration-processor-manual-verification-stage/src/main/java/io/mosip/registration/processor/manual/verification/service/impl/ManualVerificationServiceImpl.java +++ b/registration-processor/core-processor/registration-processor-manual-verification-stage/src/main/java/io/mosip/registration/processor/manual/verification/service/impl/ManualVerificationServiceImpl.java @@ -4,7 +4,6 @@ import java.io.IOException; import java.io.InputStream; -import java.sql.Timestamp; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.ArrayList; @@ -19,9 +18,6 @@ import java.util.UUID; import java.util.stream.Collectors; -import io.mosip.registration.processor.core.constant.PolicyConstant; -import io.mosip.registration.processor.core.constant.ProviderStageName; -import io.mosip.registration.processor.packet.storage.utils.PriorityBasedPacketManagerService; import org.apache.commons.io.IOUtils; import org.apache.commons.lang.StringUtils; import org.apache.commons.lang3.exception.ExceptionUtils; @@ -61,6 +57,8 @@ import io.mosip.registration.processor.core.constant.LoggerFileConstant; import io.mosip.registration.processor.core.constant.MappingJsonConstants; import io.mosip.registration.processor.core.constant.PacketFiles; +import io.mosip.registration.processor.core.constant.PolicyConstant; +import io.mosip.registration.processor.core.constant.ProviderStageName; import io.mosip.registration.processor.core.constant.RegistrationType; import io.mosip.registration.processor.core.exception.ApisResourceAccessException; import io.mosip.registration.processor.core.exception.PacketManagerException; @@ -102,12 +100,14 @@ import io.mosip.registration.processor.manual.verification.response.dto.ManualAdjudicationResponseDTO; import io.mosip.registration.processor.manual.verification.service.ManualVerificationService; import io.mosip.registration.processor.manual.verification.stage.ManualVerificationStage; +import io.mosip.registration.processor.manual.verification.util.ManualVerificationUpdateUtility; import io.mosip.registration.processor.packet.manager.exception.FileNotFoundInDestinationException; import io.mosip.registration.processor.packet.storage.dto.ApplicantInfoDto; import io.mosip.registration.processor.packet.storage.dto.Document; import io.mosip.registration.processor.packet.storage.entity.ManualVerificationEntity; import io.mosip.registration.processor.packet.storage.repository.BasePacketRepository; import io.mosip.registration.processor.packet.storage.utils.BIRConverter; +import io.mosip.registration.processor.packet.storage.utils.PriorityBasedPacketManagerService; import io.mosip.registration.processor.packet.storage.utils.Utilities; import io.mosip.registration.processor.rest.client.audit.builder.AuditLogRequestBuilder; import io.mosip.registration.processor.status.code.RegistrationStatusCode; @@ -202,6 +202,9 @@ public class ManualVerificationServiceImpl implements ManualVerificationService @Autowired RegistrationExceptionMapperUtil registrationExceptionMapperUtil; + + @Autowired + private ManualVerificationUpdateUtility manualVerificationUpdateUtility; /* * * (non-Javadoc) @@ -617,14 +620,13 @@ private void pushRequestToQueue(String refId, MosipQueue queue) throws Exception String requestId = UUID.randomUUID().toString(); mar.setRequestId(requestId); regProcLogger.info("Request : " + JsonUtils.javaObjectToJsonString(mar)); + manualVerificationUpdateUtility.updateManualVerificationEntityRID(mves, requestId); if (messageFormat.equalsIgnoreCase(TEXT_MESSAGE)) mosipQueueManager.send(queue, JsonUtils.javaObjectToJsonString(mar), mvRequestAddress, mvRequestMessageTTL); else mosipQueueManager.send(queue, JsonUtils.javaObjectToJsonString(mar).getBytes(), mvRequestAddress, mvRequestMessageTTL); regProcLogger.debug(LoggerFileConstant.SESSIONID.toString(), LoggerFileConstant.REGISTRATIONID.toString(), refId, "ManualVerificationServiceImpl::pushRequestToQueue()::entry"); - - updateManualVerificationEntityRID(mves, requestId); } private String getDataShareUrl(String id, String process) throws Exception { @@ -975,24 +977,7 @@ public MessageDTO process(MessageDTO object, MosipQueue queue) { return object; } - /* - * Update manual verification entity once request is pushed to queue for a given - * RID - */ - private void updateManualVerificationEntityRID(List mves, String requestId) { - mves.stream().forEach(mve -> { - regProcLogger.debug(LoggerFileConstant.SESSIONID.toString(), LoggerFileConstant.REGISTRATIONID.toString(), - mve.getId().getRegId(), "ManualVerificationServiceImpl::updateManualVerificationEntityRID()::entry"); - mve.setStatusCode(ManualVerificationStatus.INQUEUE.name()); - mve.setStatusComment("Sent to manual adjudication queue"); - mve.setUpdDtimes(Timestamp.valueOf(DateUtils.getUTCCurrentDateTime())); - mve.setRequestId(requestId); - basePacketRepository.update(mve); - regProcLogger.debug(LoggerFileConstant.SESSIONID.toString(), LoggerFileConstant.REGISTRATIONID.toString(), - mve.getId().getRegId(), "ManualVerificationServiceImpl::updateManualVerificationEntityRID()::exit"); - }); - } - + /** * Validate the response received from manual verification system. * diff --git a/registration-processor/core-processor/registration-processor-manual-verification-stage/src/main/java/io/mosip/registration/processor/manual/verification/util/ManualVerificationUpdateUtility.java b/registration-processor/core-processor/registration-processor-manual-verification-stage/src/main/java/io/mosip/registration/processor/manual/verification/util/ManualVerificationUpdateUtility.java new file mode 100644 index 00000000000..dc5eacfee17 --- /dev/null +++ b/registration-processor/core-processor/registration-processor-manual-verification-stage/src/main/java/io/mosip/registration/processor/manual/verification/util/ManualVerificationUpdateUtility.java @@ -0,0 +1,46 @@ +package io.mosip.registration.processor.manual.verification.util; + +import java.sql.Timestamp; +import java.util.List; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; + +import io.mosip.kernel.core.logger.spi.Logger; +import io.mosip.kernel.core.util.DateUtils; +import io.mosip.registration.processor.core.constant.LoggerFileConstant; +import io.mosip.registration.processor.core.logger.RegProcessorLogger; +import io.mosip.registration.processor.manual.verification.dto.ManualVerificationStatus; +import io.mosip.registration.processor.packet.storage.entity.ManualVerificationEntity; +import io.mosip.registration.processor.packet.storage.repository.BasePacketRepository; + +@Component +@Transactional(propagation=Propagation.REQUIRES_NEW) +public class ManualVerificationUpdateUtility { + /** The logger. */ + private static Logger regProcLogger = RegProcessorLogger.getLogger(ManualVerificationUpdateUtility.class); + + /** The base packet repository. */ + @Autowired + private BasePacketRepository basePacketRepository; + + /** + * Update manual verification entity once request is pushed to queue for a given + * RID + */ + public void updateManualVerificationEntityRID(List mves, String requestId) { + mves.stream().forEach(mve -> { + regProcLogger.debug(LoggerFileConstant.SESSIONID.toString(), LoggerFileConstant.REGISTRATIONID.toString(), + mve.getId().getRegId(), "ManualVerificationUpdateUtility::updateManualVerificationEntityRID()::entry"); + mve.setStatusCode(ManualVerificationStatus.INQUEUE.name()); + mve.setStatusComment("Sent to manual adjudication queue"); + mve.setUpdDtimes(Timestamp.valueOf(DateUtils.getUTCCurrentDateTime())); + mve.setRequestId(requestId); + basePacketRepository.update(mve); + regProcLogger.debug(LoggerFileConstant.SESSIONID.toString(), LoggerFileConstant.REGISTRATIONID.toString(), + mve.getId().getRegId(), "ManualVerificationUpdateUtility::updateManualVerificationEntityRID()::exit"); + }); + } +} diff --git a/registration-processor/core-processor/registration-processor-manual-verification-stage/src/test/java/io/mosip/registration/processor/manual/verification/service/ManualVerificationServiceTest.java b/registration-processor/core-processor/registration-processor-manual-verification-stage/src/test/java/io/mosip/registration/processor/manual/verification/service/ManualVerificationServiceTest.java index f7a110f5831..9ce5770d451 100644 --- a/registration-processor/core-processor/registration-processor-manual-verification-stage/src/test/java/io/mosip/registration/processor/manual/verification/service/ManualVerificationServiceTest.java +++ b/registration-processor/core-processor/registration-processor-manual-verification-stage/src/test/java/io/mosip/registration/processor/manual/verification/service/ManualVerificationServiceTest.java @@ -73,6 +73,7 @@ import io.mosip.registration.processor.manual.verification.response.dto.ManualAdjudicationResponseDTO; import io.mosip.registration.processor.manual.verification.service.impl.ManualVerificationServiceImpl; import io.mosip.registration.processor.manual.verification.stage.ManualVerificationStage; +import io.mosip.registration.processor.manual.verification.util.ManualVerificationUpdateUtility; import io.mosip.registration.processor.packet.storage.dto.ApplicantInfoDto; import io.mosip.registration.processor.packet.storage.entity.ManualVerificationEntity; import io.mosip.registration.processor.packet.storage.entity.ManualVerificationPKEntity; @@ -83,6 +84,7 @@ import io.mosip.registration.processor.status.exception.TablenotAccessibleException; import io.mosip.registration.processor.status.service.RegistrationStatusService; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.util.ReflectionTestUtils; @RunWith(PowerMockRunner.class) @@ -107,7 +109,8 @@ public class ManualVerificationServiceTest { @Mock private Utilities utilities; - + @Mock + private ManualVerificationUpdateUtility manualVerificationUpdateUtility; @Mock private PacketInfoManager packetInfoManager; @@ -235,7 +238,7 @@ public void createConnection(String username, String password, String brokerUrl) candidateList.setCount(0); manualAdjudicationResponseDTO.setCandidateList(candidateList); Mockito.when(basePacketRepository.getRegistrationIdbyRequestId(anyString())).thenReturn(Lists.newArrayList(registrationStatusDto.getRegistrationId())); - + Mockito.doNothing().when(manualVerificationUpdateUtility).updateManualVerificationEntityRID(any(), any()); } // @Test