Thread derived from Control fields not triggered
Thank you for your explanation.
I get what happens then.
About the external data, we get them and include them in our IDocument in data-services. Then we call the "update "method from “DocumentService”:
public void updateCandidateDocument(CandidateDataPayload payload) {
String ext<PROJECT_NAME>UserId = payload.getExt<PROJECT_NAME>UserId();
log.info("Starting synchronize document from external <PROJECT_NAME> for ext<PROJECT_NAME>UserId: {}", ext<PROJECT_NAME>UserId);
try {
runAsUserService.runAsSystemAdmin(() -> {
DocumentReference candidateDocRef = candidateDocumentService.getDocRefByExternal<PROJECT_NAME>UserId(ext<PROJECT_NAME>UserId);
if (candidateDocRef == null) {
return;
}
IDocument candidateDocument = <PROJECT_NAME>DocumentService.getDocument(candidateDocRef);
external<PROJECT_NAME>Convertor.injectExtCandidateDataToCandidateDocument(candidateDocument, payload.getDocument(), payload.getAttachments(), candidateDocRef);
<PROJECT_NAME>DocumentService.update(candidateDocRef, candidateDocument);
log.info("Document {} has been successfully updated for external user [{}].", candidateDocRef, ext<PROJECT_NAME>UserId);
});
} catch (NullPointerException | NotFoundException | InvalidInputException e) {
log.error(String.format("Could not update document for external <PROJECT_NAME> user [%s] due to: %s", ext<PROJECT_NAME>UserId, e));
throw new RuntimeException(e);
}
}
Our overriden update method:
private final DocumentService documentService;
...
/**
* @param docRef {@link DocumentReference}
* @param newDocument the iDocument we want to update
*/
@Override
public void update(DocumentReference docRef, IDocument newDocument) {
documentService.update(docRef, newDocument, null);
}
Shouldn’t the update retrigger the computations? Or should I trigger them manually before the update?

