/** * Multiple data-sources version of execute() method. Enqueues multiple sources inputs (Content * objects) and associated modules at once * * @param modules modules to execute on every data source * @param inputs input data sources to enqueue and execute the ingest modules on */ public void execute(final List<IngestModuleAbstract> modules, final List<Content> inputs) { logger.log( Level.INFO, "Will enqueue number of inputs: " + inputs.size() + " to " + modules.size() + " modules."); if (!isIngestRunning() && ui != null) { ui.clearMessages(); } queueWorker = new EnqueueWorker(modules, inputs); queueWorker.execute(); if (ui != null) { ui.restoreMessages(); } }
/** * Module publishes message using InegestManager handle Does not block. The message gets enqueued * in the GUI thread and displayed in a widget IngestModule should make an attempt not to publish * the same message multiple times. Viewer will attempt to identify duplicate messages and filter * them out (slower) */ void postMessage(final IngestMessage message) { if (stats != null) { // record the error for stats, if stats are running if (message.getMessageType() == MessageType.ERROR) { stats.addError(message.getSource()); } } if (ui != null) { ui.displayMessage(message); } }