protected void processCompoundEvent ( CompoundEvent event ) { List < DEvent > events = event . getEvents ( ) ; int ecount = events . size ( ) ; // look up the target object DObject target = _objects . get ( event . getTargetOid ( ) ) ; if ( target == null ) { log . debug ( "Compound event target no longer exists" , "event" , event ) ; return ; } // check the permissions on all of the events for ( int ii = 0 ; ii < ecount ; ii ++ ) { DEvent sevent = events . get ( ii ) ; if ( ! target . checkPermissions ( sevent ) ) { log . warning ( "Event failed permissions check" , "event" , sevent , "target" , target ) ; return ; } } // dispatch the events for ( int ii = 0 ; ii < ecount ; ii ++ ) { dispatchEvent ( events . get ( ii ) , target ) ; } // always notify proxies of compound events target . notifyProxies ( event ) ; }
Performs the processing associated with a compound event notifying listeners and the like .