in osgi/event/src/main/java/org/apache/karaf/webconsole/osgi/event/model/EventTopicsProvider.java [41:63]
public EventTopicsProvider(BundleContext context) {
try {
ServiceReference[] references = context.getAllServiceReferences(EventHandler.class.getName(), null);
if (references == null) {
return;
}
for (ServiceReference reference : references) {
Object topics = reference.getProperty(EventConstants.EVENT_TOPIC);
if ("*".equals(topics)) {
// do not track all listeners
continue;
} else if (topics instanceof String[]) {
for (String topic : (String[]) topics) {
handleTopic(topic);
}
} else if (topics instanceof String) { // then String
handleTopic((String) topics);
}
}
} catch (InvalidSyntaxException e) {
e.printStackTrace();
}
}