Bugfix with time precision in windows by adding '.truncatedTo(ChronoUnit.MILLIS)' to 'OffsetDateTime.now()'
This commit is contained in:
parent
f7e8bee7cd
commit
f76ec712c9
@ -14,6 +14,7 @@ import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.transaction.Transactional;
|
||||
import java.time.OffsetDateTime;
|
||||
import java.time.temporal.ChronoUnit;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
@ -32,7 +33,7 @@ public class AddRedactionPersistenceService {
|
||||
ManualRedactionEntryEntity manualRedactionEntry = new ManualRedactionEntryEntity();
|
||||
manualRedactionEntry.setId(new AnnotationEntityId(annotationId, fileId));
|
||||
BeanUtils.copyProperties(addRedactionRequest, manualRedactionEntry);
|
||||
manualRedactionEntry.setRequestDate(OffsetDateTime.now());
|
||||
manualRedactionEntry.setRequestDate(OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS));
|
||||
manualRedactionEntry.setPositions(convert(addRedactionRequest.getPositions()));
|
||||
manualRedactionEntry.setTypeId(addRedactionRequest.getTypeId());
|
||||
|
||||
@ -89,7 +90,7 @@ public class AddRedactionPersistenceService {
|
||||
public void updateStatus(String fileId, String annotationId, AnnotationStatus annotationStatus) {
|
||||
|
||||
manualRedactionRepository.findById(new AnnotationEntityId(annotationId, fileId)).ifPresent(mre -> {
|
||||
mre.setProcessedDate(OffsetDateTime.now());
|
||||
mre.setProcessedDate(OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS));
|
||||
mre.setStatus(annotationStatus);
|
||||
});
|
||||
|
||||
@ -100,7 +101,7 @@ public class AddRedactionPersistenceService {
|
||||
public void updateStatus(String fileId, String annotationId, AnnotationStatus annotationStatus, boolean isAddOrRemoveFromDictionary) {
|
||||
|
||||
manualRedactionRepository.findById(new AnnotationEntityId(annotationId, fileId)).ifPresent(mre -> {
|
||||
mre.setProcessedDate(OffsetDateTime.now());
|
||||
mre.setProcessedDate(OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS));
|
||||
mre.setStatus(annotationStatus);
|
||||
mre.setAddToDictionary(isAddOrRemoveFromDictionary);
|
||||
});
|
||||
|
||||
@ -14,6 +14,7 @@ import org.springframework.data.jpa.domain.Specification;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.time.OffsetDateTime;
|
||||
import java.time.temporal.ChronoUnit;
|
||||
import java.util.List;
|
||||
|
||||
import static com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.AuditRepository.*;
|
||||
@ -32,7 +33,7 @@ public class AuditPersistenceService {
|
||||
|
||||
var auditModel = new AuditEntity();
|
||||
BeanUtils.copyProperties(auditRequest, auditModel);
|
||||
auditModel.setRecordDate(OffsetDateTime.now());
|
||||
auditModel.setRecordDate(OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS));
|
||||
|
||||
auditRepository.save(auditModel);
|
||||
|
||||
@ -50,10 +51,10 @@ public class AuditPersistenceService {
|
||||
}
|
||||
|
||||
if (auditRequest.getFrom() == null) {
|
||||
auditRequest.setFrom(OffsetDateTime.now().minusYears(30));
|
||||
auditRequest.setFrom(OffsetDateTime.now().minusYears(30).truncatedTo(ChronoUnit.MILLIS));
|
||||
}
|
||||
if (auditRequest.getTo() == null) {
|
||||
auditRequest.setTo(OffsetDateTime.now());
|
||||
auditRequest.setTo(OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS));
|
||||
}
|
||||
|
||||
var spec = Specification.where(dateBetween(auditRequest.getFrom(), auditRequest.getTo()));
|
||||
|
||||
@ -14,6 +14,7 @@ import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.transaction.Transactional;
|
||||
import java.time.OffsetDateTime;
|
||||
import java.time.temporal.ChronoUnit;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
@ -36,7 +37,7 @@ public class DossierPersistenceService {
|
||||
BeanUtils.copyProperties(createOrUpdateDossierRequest, dossier);
|
||||
dossier.setId(UUID.randomUUID().toString());
|
||||
dossier.setStatus(DossierStatus.ACTIVE);
|
||||
dossier.setDate(OffsetDateTime.now());
|
||||
dossier.setDate(OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS));
|
||||
|
||||
dossier.setDossierTemplate(dossierTemplateRepository.getOne(createOrUpdateDossierRequest.getDossierTemplateId()));
|
||||
dossier.setReportTemplates(reportTemplateRepository.findAllById(createOrUpdateDossierRequest.getReportTemplateIds()));
|
||||
@ -100,9 +101,9 @@ public class DossierPersistenceService {
|
||||
@Transactional
|
||||
public void hardDelete(String dossierId) {
|
||||
dossierRepository.findById(dossierId).ifPresent(dossier -> {
|
||||
dossier.setHardDeletedTime(OffsetDateTime.now());
|
||||
dossier.setHardDeletedTime(OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS));
|
||||
dossier.setStatus(DossierStatus.DELETED);
|
||||
dossier.setSoftDeletedTime(dossier.getSoftDeletedTime() == null ? OffsetDateTime.now() : dossier.getSoftDeletedTime());
|
||||
dossier.setSoftDeletedTime(dossier.getSoftDeletedTime() == null ? OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS) : dossier.getSoftDeletedTime());
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@ -11,6 +11,7 @@ import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.transaction.Transactional;
|
||||
import java.time.OffsetDateTime;
|
||||
import java.time.temporal.ChronoUnit;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.util.UUID;
|
||||
@ -30,7 +31,7 @@ public class DossierTemplatePersistenceService {
|
||||
if (createOrUpdateDossierRequest.getDossierTemplateId() != null) {
|
||||
Optional<DossierTemplateEntity> dossierTemplate = dossierTemplateRepository.findById(createOrUpdateDossierRequest.getDossierTemplateId());
|
||||
if (dossierTemplate.isPresent()) {
|
||||
dossierTemplate.get().setDateModified(OffsetDateTime.now());
|
||||
dossierTemplate.get().setDateModified(OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS));
|
||||
dossierTemplate.get().setModifiedBy(createOrUpdateDossierRequest.getRequestingUser());
|
||||
BeanUtils.copyProperties(createOrUpdateDossierRequest, dossierTemplate.get());
|
||||
return dossierTemplate.get();
|
||||
@ -40,7 +41,7 @@ public class DossierTemplatePersistenceService {
|
||||
} else {
|
||||
DossierTemplateEntity dossierTemplate = new DossierTemplateEntity();
|
||||
dossierTemplate.setId(UUID.randomUUID().toString());
|
||||
dossierTemplate.setDateAdded(OffsetDateTime.now());
|
||||
dossierTemplate.setDateAdded(OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS));
|
||||
dossierTemplate.setCreatedBy(createOrUpdateDossierRequest.getRequestingUser());
|
||||
BeanUtils.copyProperties(createOrUpdateDossierRequest, dossierTemplate);
|
||||
return dossierTemplateRepository.save(dossierTemplate);
|
||||
@ -64,7 +65,7 @@ public class DossierTemplatePersistenceService {
|
||||
if (dossierTemplate.getDossiers().isEmpty()) {
|
||||
|
||||
dossierTemplate.setModifiedBy(deletingUserId);
|
||||
dossierTemplate.setDateModified(OffsetDateTime.now());
|
||||
dossierTemplate.setDateModified(OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS));
|
||||
dossierTemplate.setDeleted(true);
|
||||
} else {
|
||||
throw new BadRequestException("Cannot delete dossier template with active dossiers!");
|
||||
|
||||
@ -12,6 +12,7 @@ import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.transaction.Transactional;
|
||||
import java.time.OffsetDateTime;
|
||||
import java.time.temporal.ChronoUnit;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
@ -33,7 +34,7 @@ public class DownloadStatusPersistenceService {
|
||||
downloadStatus.setFilename(filename);
|
||||
downloadStatus.setMimeType(mimeType);
|
||||
downloadStatus.setDossier(dossier);
|
||||
downloadStatus.setCreationDate(OffsetDateTime.now());
|
||||
downloadStatus.setCreationDate(OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS));
|
||||
downloadStatus.setFiles(fileRepository.findAllById(fileIds));
|
||||
downloadStatus.setDownloadFileTypes(new ArrayList<>(downloadFileTypes));
|
||||
|
||||
@ -61,7 +62,7 @@ public class DownloadStatusPersistenceService {
|
||||
public void updateLastDownload(String storageId) {
|
||||
|
||||
downloadStatusRepository.findById(storageId).ifPresent(downloadStatus -> {
|
||||
downloadStatus.setLastDownload(OffsetDateTime.now());
|
||||
downloadStatus.setLastDownload(OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS));
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
@ -12,6 +12,7 @@ import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.transaction.Transactional;
|
||||
import java.time.OffsetDateTime;
|
||||
import java.time.temporal.ChronoUnit;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
@ -32,9 +33,9 @@ public class FileStatusPersistenceService {
|
||||
file.setFilename(filename);
|
||||
file.setStatus(FileStatus.UNPROCESSED);
|
||||
file.setNumberOfPages(0);
|
||||
file.setAdded(OffsetDateTime.now());
|
||||
file.setAdded(OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS));
|
||||
file.setUploader(uploader);
|
||||
file.setLastUploaded(OffsetDateTime.now());
|
||||
file.setLastUploaded(OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS));
|
||||
|
||||
fileRepository.save(file);
|
||||
}
|
||||
@ -55,8 +56,8 @@ public class FileStatusPersistenceService {
|
||||
file.setAnalysisDuration(duration);
|
||||
file.setDossierDictionaryVersion(dossierDictionaryVersion);
|
||||
file.setAnalysisVersion(analysisVersion);
|
||||
file.setLastUpdated(OffsetDateTime.now());
|
||||
file.setLastProcessed(OffsetDateTime.now());
|
||||
file.setLastUpdated(OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS));
|
||||
file.setLastProcessed(OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS));
|
||||
}, () -> {
|
||||
throw new NotFoundException("Unknown file=" + fileId);
|
||||
});
|
||||
@ -85,8 +86,8 @@ public class FileStatusPersistenceService {
|
||||
fileRepository.findById(fileId).ifPresentOrElse((file) -> {
|
||||
file.setStatus(status);
|
||||
file.setLastSuccessfulStatus(status);
|
||||
file.setLastUpdated(OffsetDateTime.now());
|
||||
file.setApprovalDate(approval ? OffsetDateTime.now() : null);
|
||||
file.setLastUpdated(OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS));
|
||||
file.setApprovalDate(approval ? OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS) : null);
|
||||
}, () -> {
|
||||
throw new NotFoundException("Unknown file=" + fileId);
|
||||
});
|
||||
@ -105,8 +106,8 @@ public class FileStatusPersistenceService {
|
||||
fileRepository.findById(fileId).ifPresentOrElse((file) -> {
|
||||
file.setStatus(status);
|
||||
file.setUploader(uploader);
|
||||
file.setLastUploaded(OffsetDateTime.now());
|
||||
file.setLastUpdated(OffsetDateTime.now());
|
||||
file.setLastUploaded(OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS));
|
||||
file.setLastUpdated(OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS));
|
||||
}, () -> {
|
||||
throw new NotFoundException("Unknown file=" + fileId);
|
||||
});
|
||||
@ -117,7 +118,7 @@ public class FileStatusPersistenceService {
|
||||
public void updateStatus(String fileId, FileStatus status) {
|
||||
fileRepository.findById(fileId).ifPresentOrElse((file) -> {
|
||||
file.setStatus(status);
|
||||
file.setLastUpdated(OffsetDateTime.now());
|
||||
file.setLastUpdated(OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS));
|
||||
}, () -> {
|
||||
throw new NotFoundException("Unknown file=" + fileId);
|
||||
});
|
||||
@ -128,7 +129,7 @@ public class FileStatusPersistenceService {
|
||||
|
||||
fileRepository.findById(fileId).ifPresentOrElse((file) -> {
|
||||
file.setStatus(status);
|
||||
file.setLastIndexed(OffsetDateTime.now());
|
||||
file.setLastIndexed(OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS));
|
||||
}, () -> {
|
||||
throw new NotFoundException("Unknown file=" + fileId);
|
||||
});
|
||||
@ -183,7 +184,7 @@ public class FileStatusPersistenceService {
|
||||
public void setFileAttributes(String fileId, List<FileAttributeEntity> fileAttributes) {
|
||||
|
||||
fileRepository.findById(fileId).ifPresentOrElse((file) -> {
|
||||
file.setLastFileAttributeChange(OffsetDateTime.now());
|
||||
file.setLastFileAttributeChange(OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS));
|
||||
file.setFileAttributes(fileAttributes);
|
||||
}, () -> {
|
||||
throw new NotFoundException("Unknown file=" + fileId);
|
||||
@ -194,7 +195,7 @@ public class FileStatusPersistenceService {
|
||||
public void setExcludedPages(String fileId, Set<Integer> excludedPages) {
|
||||
|
||||
fileRepository.findById(fileId).ifPresentOrElse((file) -> {
|
||||
file.setLastManualRedaction(OffsetDateTime.now());
|
||||
file.setLastManualRedaction(OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS));
|
||||
file.setExcludedPages(excludedPages);
|
||||
}, () -> {
|
||||
throw new NotFoundException("Unknown file=" + fileId);
|
||||
@ -237,8 +238,8 @@ public class FileStatusPersistenceService {
|
||||
|
||||
fileRepository.findById(fileId).ifPresentOrElse((file) -> {
|
||||
file.setStatus(FileStatus.DELETED);
|
||||
file.setDeleted(file.getDeleted() == null ? OffsetDateTime.now() : file.getDeleted());
|
||||
file.setHardDeletedTime(OffsetDateTime.now());
|
||||
file.setDeleted(file.getDeleted() == null ? OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS) : file.getDeleted());
|
||||
file.setHardDeletedTime(OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS));
|
||||
}, () -> {
|
||||
throw new NotFoundException("Unknown file=" + fileId);
|
||||
});
|
||||
@ -304,8 +305,8 @@ public class FileStatusPersistenceService {
|
||||
file.setUploader(uploader);
|
||||
file.setStatus(FileStatus.FULLREPROCESS);
|
||||
file.setLastSuccessfulStatus(null);
|
||||
file.setLastUploaded(OffsetDateTime.now());
|
||||
file.setLastUpdated(OffsetDateTime.now());
|
||||
file.setLastUploaded(OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS));
|
||||
file.setLastUpdated(OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS));
|
||||
file.setLastOCRTime(null);
|
||||
file.setExcluded(false);
|
||||
file.setLastProcessed(null);
|
||||
|
||||
@ -18,6 +18,7 @@ import org.springframework.stereotype.Service;
|
||||
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.time.OffsetDateTime;
|
||||
import java.time.temporal.ChronoUnit;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
@ -537,7 +538,7 @@ public class ManualRedactionService {
|
||||
.fileId(fileId)
|
||||
.annotationId(annotationId)
|
||||
.user(user)
|
||||
.date(OffsetDateTime.now())
|
||||
.date(OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS))
|
||||
.build());
|
||||
|
||||
fileStatusPersistenceService.updateHasComments(fileId, true);
|
||||
|
||||
@ -12,6 +12,7 @@ import org.springframework.scheduling.annotation.Scheduled;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.time.OffsetDateTime;
|
||||
import java.time.temporal.ChronoUnit;
|
||||
import java.util.List;
|
||||
|
||||
@Slf4j
|
||||
@ -27,7 +28,7 @@ public class DownloadCleanupService {
|
||||
@Scheduled(fixedDelay = 300000, initialDelay = 300000)
|
||||
public void processDocuments() {
|
||||
|
||||
var now = OffsetDateTime.now();
|
||||
var now = OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS);
|
||||
log.info("Checking for downloads to delete at {}", now);
|
||||
List<DownloadStatusEntity> downloadStatusList = downloadStatusPersistenceService.getStatus();
|
||||
downloadStatusList.forEach(downloadStatus -> {
|
||||
|
||||
@ -9,6 +9,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.time.OffsetDateTime;
|
||||
import java.time.temporal.ChronoUnit;
|
||||
|
||||
import static org.assertj.core.api.AssertionsForClassTypes.assertThat;
|
||||
|
||||
@ -21,14 +22,14 @@ public class DossierTemplateTesterAndProvider {
|
||||
public DossierTemplate provideTestTemplate() {
|
||||
CreateOrUpdateDossierTemplateRequest cru = new CreateOrUpdateDossierTemplateRequest();
|
||||
cru.setCreatedBy("1");
|
||||
cru.setDateAdded(OffsetDateTime.now());
|
||||
cru.setDateModified(OffsetDateTime.now());
|
||||
cru.setDateAdded(OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS));
|
||||
cru.setDateModified(OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS));
|
||||
cru.setDownloadFileTypes(Sets.newHashSet(DownloadFileType.ORIGINAL));
|
||||
cru.setName("Template 1");
|
||||
cru.setDescription("Template 1");
|
||||
cru.setRequestingUser("1");
|
||||
cru.setValidFrom(OffsetDateTime.now());
|
||||
cru.setValidTo(OffsetDateTime.now());
|
||||
cru.setValidFrom(OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS));
|
||||
cru.setValidTo(OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS));
|
||||
|
||||
DossierTemplate result = dossierTemplateClient.createOrUpdateDossierTemplate(cru);
|
||||
|
||||
|
||||
@ -10,6 +10,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.time.OffsetDateTime;
|
||||
import java.time.temporal.ChronoUnit;
|
||||
|
||||
import static org.assertj.core.api.AssertionsForClassTypes.assertThat;
|
||||
|
||||
@ -33,7 +34,7 @@ public class DossierTesterAndProvider {
|
||||
cru.setOwnerId("1");
|
||||
cru.setApproverIds(Sets.newHashSet("1"));
|
||||
cru.setRequestingUser("1");
|
||||
cru.setDueDate(OffsetDateTime.now());
|
||||
cru.setDueDate(OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS));
|
||||
cru.setDossierTemplateId(testTemplate.getId());
|
||||
|
||||
Dossier result = dossierClient.addDossier(cru);
|
||||
|
||||
@ -11,6 +11,7 @@ import org.junit.Test;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
import java.time.OffsetDateTime;
|
||||
import java.time.temporal.ChronoUnit;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
@ -37,8 +38,8 @@ public class LicenseReportTest extends AbstractPersistenceServerServiceTest {
|
||||
|
||||
LicenseReportRequest request = new LicenseReportRequest();
|
||||
request.setDossierIds(Lists.newArrayList(dossier.getId()));
|
||||
request.setStartDate(OffsetDateTime.now().minusHours(10).toInstant());
|
||||
request.setEndDate(OffsetDateTime.now().plusHours(10).toInstant());
|
||||
request.setStartDate(OffsetDateTime.now().minusHours(10).toInstant().truncatedTo(ChronoUnit.MILLIS));
|
||||
request.setEndDate(OffsetDateTime.now().plusHours(10).toInstant().truncatedTo(ChronoUnit.MILLIS));
|
||||
request.setRequestId("123");
|
||||
assertThat(licenseReportClient.getLicenseReport(request, 0, 20)).isNotNull();
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user