public void serviceInactive ( ReceivableService receivableService ) { for ( ReceivableEvent receivableEvent : receivableService . getReceivableEvents ( ) ) { Set < ServiceID > servicesReceivingEvent = eventID2serviceIDs . get ( receivableEvent . getEventType ( ) ) ; if ( servicesReceivingEvent != null ) { synchronized ( servicesReceivingEvent ) { servicesReceivingEvent . remove ( receivableService . getService ( ) ) ; } if ( servicesReceivingEvent . isEmpty ( ) ) { eventID2serviceIDs . remove ( receivableEvent . getEventType ( ) ) ; } } } }
Informs the filter that a receivable service is now inactive . For the events related with the service if there are no other services bound then events of such event type should be filtered