continue;
}
try {
String filterstr = info.getFilter();
ServiceListener listener = listenerReg.getListener();
if (listenerReg.isAllServiceListener() || listenerReg.filter.match(reference)) {
listener.serviceChanged(event);
}
// The MODIFIED_ENDMATCH event is synchronously delivered after the service properties have been modified.
// This event is only delivered to listeners which were added with a non-null filter where
// the filter matched the service properties prior to the modification but the filter does
// not match the modified service properties.
else if (filterstr != null && ServiceEvent.MODIFIED == event.getType()) {
Filter filter = listenerReg.filter;
if (/* filter.match(reference.getPreviousProperties()) && */ !filter.match(reference)) {
ServiceEvent endmatch = new ServiceEventImpl(ServiceEvent.MODIFIED_ENDMATCH, reference);
listener.serviceChanged(endmatch);
}
}
} catch (Throwable th) {
LOGGER.warn("Error while firing service event " + typeName + " for: " + reference, th);
}