question: private synchronized void processingsDone ( String ended_message ) { logger . info ( "Scanner and processings are completed: update the UI status." ) ; SimpleDateFormat sdf = new SimpleDateFormat ( "EEEE dd MMMM yyyy - HH:mm:ss" , Locale . ENGLISH ) ; String processing_message = "Ingestion completed at " + sdf . format ( new Date ( ) ) + "<br>with " + endCounter + " products processed and " + errorCounter + " error" + ( errorCounter > 1 ? "s" : "" ) + " during this processing.<br>" ; if ( ! processingErrors . isEmpty ( ) ) processing_message += "<u>Processing error(s):</u><br>" + processingErrors ; if ( ended_message != null ) { processing_message += ended_message + "<br>" ; } FileScannerDao fileScannerDao = ApplicationContextProvider . getBean ( FileScannerDao . class ) ; persistentScanner = fileScannerDao . read ( persistentScanner . getId ( ) ) ; if ( persistentScanner != null ) { persistentScanner . setStatus ( scannerStatus ) ; persistentScanner . setStatusMessage ( truncateMessageForDB ( persistentScanner . getStatusMessage ( ) + scannerMessage + "<br>" + processing_message ) ) ; fileScannerDao . update ( persistentScanner ) ; } else { logger . error ( "Scanner has been removed." ) ; } }
target:  Notifies the scanner that the processings are done.