* @param handler
*/
@ServiceDependency(removed = "remove", required = false)
public void add(Map serviceProperties, ResourceHandler handler) {
String filterString = (String) serviceProperties.get("filter");
Filter filter = null;
if (filterString != null) {
try {
filter = m_context.createFilter(filterString);
} catch (InvalidSyntaxException e) {
Assert.fail("Could not create filter for resource handler: " + e);
return;
}
}
synchronized (m_handlers) {
m_handlers.put(handler, filter);
}
for (int i = 0; i < m_resources.length; i++) {
if (filter == null || filter.match(ResourceUtil.createProperties(m_resources[i]))) {
handler.added(m_resources[i]);
}
}
}