break cyclic service injection
This commit is contained in:
parent
d0b15e045b
commit
e7ae4e3ed6
@ -65,7 +65,7 @@ public class DossierPersistenceService {
|
||||
|
||||
if (createOrUpdateDossierRequest.getDossierStatusId() != null) {
|
||||
var dossierStatus = dossierStatusPersistenceService.getDossierStatus(createOrUpdateDossierRequest.getDossierStatusId());
|
||||
if (dossierStatus.getDossierTemplateId().equals(createOrUpdateDossierRequest.getDossierTemplateId())) {
|
||||
if (dossierStatus.getDossierTemplate().getId().equals(createOrUpdateDossierRequest.getDossierTemplateId())) {
|
||||
dossier.setDossierStatus(dossierStatus);
|
||||
} else {
|
||||
throw new BadRequestException("Invalid Dossier Status");
|
||||
|
||||
@ -15,6 +15,7 @@ import com.iqser.red.service.persistence.management.v1.processor.exception.BadRe
|
||||
import com.iqser.red.service.persistence.management.v1.processor.exception.ConflictException;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.exception.NotFoundException;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.DossierStatusRepository;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.DossierTemplateRepository;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.utils.DossierStatusFilteringMapper;
|
||||
import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.dossier.CreateOrUpdateDossierStatusRequest;
|
||||
import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.dossier.DossierStatusInfo;
|
||||
@ -30,7 +31,7 @@ public class DossierStatusPersistenceService {
|
||||
public static final String DOSSIER_STATUS_NOT_FOUND_MESSAGE = "Dossier Status with Id %s not found.";
|
||||
|
||||
private final DossierStatusRepository dossierStatusRepository;
|
||||
private final DossierTemplatePersistenceService dossierTemplatePersistenceService;
|
||||
private final DossierTemplateRepository dossierTemplateRepository;
|
||||
private final DossierStatusFilteringMapper dossierStatusFilteringMapper;
|
||||
|
||||
private final static int MAX_STATUS_NAME_LENGTH = 255;
|
||||
@ -63,16 +64,19 @@ public class DossierStatusPersistenceService {
|
||||
validateDossierStatusForTemplate(createOrUpdateDossierStatusRequest.getName(), createOrUpdateDossierStatusRequest.getDossierTemplateId(), null);
|
||||
DossierStatusEntity dossierStatus = new DossierStatusEntity();
|
||||
dossierStatus.setId(UUID.randomUUID().toString());
|
||||
BeanUtils.copyProperties(createOrUpdateDossierStatusRequest, dossierStatus);
|
||||
var dossierTemplate = dossierTemplatePersistenceService.getDossierTemplate(createOrUpdateDossierStatusRequest.getDossierTemplateId());
|
||||
// in case of duplicate ranks, increase the ranks
|
||||
if (dossierStatusRepository.getDuplicateRanks(createOrUpdateDossierStatusRequest.getDossierTemplateId(), createOrUpdateDossierStatusRequest.getRank()) > 0) {
|
||||
dossierStatusRepository.adjustRanksForDossierTemplate(createOrUpdateDossierStatusRequest.getDossierTemplateId(), createOrUpdateDossierStatusRequest.getRank());
|
||||
}
|
||||
var loadedDossierStatus = dossierStatusRepository.save(dossierStatus);
|
||||
loadedDossierStatus.setDossierTemplate(dossierTemplate);
|
||||
BeanUtils.copyProperties(createOrUpdateDossierStatusRequest, dossierStatus);
|
||||
if (createOrUpdateDossierStatusRequest.getDossierTemplateId() != null) {
|
||||
var dossierTemplate = dossierTemplateRepository.findById(createOrUpdateDossierStatusRequest.getDossierTemplateId())
|
||||
.orElseThrow(() -> new NotFoundException("DossierTemplate with id" + createOrUpdateDossierStatusRequest.getDossierTemplateId()));
|
||||
|
||||
return loadedDossierStatus;
|
||||
dossierStatus.setDossierTemplate(dossierTemplate);
|
||||
}
|
||||
|
||||
return dossierStatusRepository.save(dossierStatus);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user