@ Override public void run ( ) { while ( ! stop ) { EventModel event ; try { event = blockingQueueHandling ( ) ; //gets the new Event if one was added to the blockingQueue } catch ( InterruptedException e ) { getContext ( ) . getLogger ( ) . warn ( e ) ; continue ; } List < CompletableFuture < X > > outputExtensions = getContext ( ) . getOutput ( ) . generateAllOutputExtensions ( this , getArgument ( ) , event ) ; try { outputExtensions = timeOut ( outputExtensions , getTimeoutLimit ( ) ) ; } catch ( InterruptedException e ) { getContext ( ) . getLogger ( ) . warn ( e ) ; } handleFutures ( outputExtensions , event ) ; //notifies output-manager when done processing isDone ( event ) ; } }
main method for outputPlugin runs the data - conversion and output - renderer