/** * @see org.openmrs.api.AdministrationService#removeGlobalPropertyListener(GlobalPropertyListener) */ @Override public void removeGlobalPropertyListener(GlobalPropertyListener listener) { eventListeners.getGlobalPropertyListeners().remove(listener); }
/** * @see org.openmrs.api.AdministrationService#addGlobalPropertyListener(GlobalPropertyListener) */ @Override public void addGlobalPropertyListener(GlobalPropertyListener listener) { eventListeners.getGlobalPropertyListeners().add(listener); }
/** * Calls global property listeners registered for this delete * * @param propertyName */ private void notifyGlobalPropertyDelete(String propertyName) { for (GlobalPropertyListener listener : eventListeners.getGlobalPropertyListeners()) { if (listener.supportsPropertyName(propertyName)) { listener.globalPropertyDeleted(propertyName); } } }
/** * Calls global property listeners registered for this create/change * * @param gp */ private void notifyGlobalPropertyChange(GlobalProperty gp) { for (GlobalPropertyListener listener : eventListeners.getGlobalPropertyListeners()) { if (listener.supportsPropertyName(gp.getProperty())) { listener.globalPropertyChanged(gp); } } }
@Test public void addGlobalPropertyListener_shouldAddListener() { List<GlobalPropertyListener> listeners = new ArrayList<>(); when(eventListeners.getGlobalPropertyListeners()).thenReturn(listeners); GlobalPropertyListener listener = mock(GlobalPropertyListener.class); adminService.addGlobalPropertyListener(listener); assertThat(listeners.size(), is(1)); assertThat(listeners, contains(listener)); }
@Test public void removeGlobalPropertyListener_shouldRemoveListener() { List<GlobalPropertyListener> listeners = new ArrayList<>(); when(eventListeners.getGlobalPropertyListeners()).thenReturn(listeners); GlobalPropertyListener listener = mock(GlobalPropertyListener.class); adminService.addGlobalPropertyListener(listener); assertThat(listeners.size(), is(1)); assertThat(listeners, contains(listener)); adminService.removeGlobalPropertyListener(listener); assertThat(listeners.size(), is(0)); } }