@SuppressWarnings({ "rawtypes", "unchecked" }) @Override public void injectMapField(Field f, Object target) { f.setAccessible(true); try { Map<Object, Dictionary<?, ?>> map = (Map) f.get(target); if (add || update) { map.put(event.getEvent(), event.getProperties()); } else { map.remove(event.getEvent()); } } catch (Throwable e) { logger.log(Logger.LOG_ERROR, "Could not set field " + f + " in class " + target.getClass().getName(), e); } } });
/** * Copy all dependency service instances to the given map (key = dependency service, value = dependency service properties. */ @Override public void copyToMap(Map<Object, Dictionary<?, ?>> map) { Set<Event> events = m_component.getDependencyEvents(this); if (events.size() > 0) { for (Event e : events) { map.put(e.getEvent(), e.getProperties()); } } else { Object defaultService = getDefaultService(false); if (defaultService != null) { map.put(defaultService, EMPTY_PROPERTIES); } } }