@Override public void providerRegistered(Registration registration, ConfigurationProvider provider) { if (clazz.equals(registration.getProvider(ConfigurationProvider.class).getType()) && providers.add(new ConfigurationProviderState<>(provider))) { LOG.debug("Registered configuration provider {} for {}.", provider, clazz.getCanonicalName()); // Force a check on the next get forceReload = true; } }
private void invokeMethod(String methodName, Registration registration) { try { Method method = getMethod(methodName); method.invoke(m_target, registration.getProvider(m_serviceInterface), registration.getProperties()); } catch (Throwable e) { throw new UndeclaredThrowableException(e, "Unexexpected exception invoking method " + methodName); } finally { } }
private void invokeMethod(String methodName, Registration registration) { try { Method method = getMethod(methodName); method.invoke(m_target, registration.getProvider(m_serviceInterface), registration.getProperties()); } catch (Throwable e) { throw new UndeclaredThrowableException(e, "Unexexpected exception invoking method " + methodName); } finally { } }
private <T> void fireProviderRegistered(Class<T> serviceInterface, Registration registration) { Set<RegistrationListener<T>> listeners = getListeners(serviceInterface); for(RegistrationListener<T> listener : listeners) { listener.providerRegistered(registration, registration.getProvider(serviceInterface)); } }
private <T> void fireProviderRegistered(Class<T> serviceInterface, Registration registration) { Set<RegistrationListener<T>> listeners = getListeners(serviceInterface); for(RegistrationListener<T> listener : listeners) { listener.providerRegistered(registration, registration.getProvider(serviceInterface)); } }
@Override public void registrationAdded(final Registration onmsRegistration) { final Map<String, String> onmsProperties = onmsRegistration.getProperties() == null ? Collections.<String,String>emptyMap() : onmsRegistration.getProperties(); if (OSGI_SOURCE.equals(onmsProperties.get(REGISTRATION_SOURCE))) return; final Class<?>[] providerInterfaces = onmsRegistration.getProvidedInterfaces(); final String[] serviceClasses = new String[providerInterfaces.length]; for(int i = 0; i < providerInterfaces.length; i++) { serviceClasses[i] = providerInterfaces[i].getName(); } final Dictionary<String,String> props = new Hashtable<String,String>(); for(final Entry<String, String> entry : onmsProperties.entrySet()) { props.put(entry.getKey(), entry.getValue()); } props.put(REGISTRATION_SOURCE, ONMS_SOURCE); final BundleContext bundleContext = m_bundleContext.get(); if (bundleContext != null) { ServiceRegistration<?> osgiRegistration = bundleContext.registerService(serviceClasses, onmsRegistration.getProvider(), props); m_onmsRegistration2osgiRegistrationMap.put(onmsRegistration, osgiRegistration); } }
@Override public void registrationAdded(final Registration onmsRegistration) { final Map<String, String> onmsProperties = onmsRegistration.getProperties() == null ? Collections.<String,String>emptyMap() : onmsRegistration.getProperties(); if (OSGI_SOURCE.equals(onmsProperties.get(REGISTRATION_SOURCE))) return; final Class<?>[] providerInterfaces = onmsRegistration.getProvidedInterfaces(); final String[] serviceClasses = new String[providerInterfaces.length]; for(int i = 0; i < providerInterfaces.length; i++) { serviceClasses[i] = providerInterfaces[i].getName(); } final Dictionary<String,String> props = new Hashtable<String,String>(); for(final Entry<String, String> entry : onmsProperties.entrySet()) { props.put(entry.getKey(), entry.getValue()); } props.put(REGISTRATION_SOURCE, ONMS_SOURCE); final BundleContext bundleContext = m_bundleContext.get(); if (bundleContext != null) { ServiceRegistration<?> osgiRegistration = bundleContext.registerService(serviceClasses, onmsRegistration.getProvider(), props); m_onmsRegistration2osgiRegistrationMap.put(onmsRegistration, osgiRegistration); } }
private <T> void fireProviderUnregistered(Class<T> serviceInterface, Registration registration) { Set<RegistrationListener<T>> listeners = getListeners(serviceInterface); for(RegistrationListener<T> listener : listeners) { listener.providerUnregistered(registration, registration.getProvider(serviceInterface)); } }
private <T> void fireProviderUnregistered(Class<T> serviceInterface, Registration registration) { Set<RegistrationListener<T>> listeners = getListeners(serviceInterface); for(RegistrationListener<T> listener : listeners) { listener.providerUnregistered(registration, registration.getProvider(serviceInterface)); } }
@Test @DirtiesContext public void testInjected() { assertEquals(m_provider, m_simpleRegistration.getProvider(Hello.class)); assertContains(m_simpleRegistration.getProvidedInterfaces(), Hello.class); assertEquals(m_provider, m_nestedRegistration.getProvider(Hello.class)); assertContains(m_nestedRegistration.getProvidedInterfaces(), Hello.class, Goodbye.class); }
@Test @DirtiesContext public void testRegistration() { assertNotNull(m_provider); assertNotNull(m_registration); assertNotNull(m_registry); assertSame(m_provider, m_registration.getProvider(Hello.class)); assertSame(m_provider, m_registration.getProvider(Goodbye.class)); assertEquals(1, m_registry.findProviders(Hello.class).size()); assertEquals(1, m_registry.findProviders(Goodbye.class).size()); assertSame(m_provider, m_registry.findProvider(Hello.class)); assertSame(m_provider, m_registry.findProvider(Goodbye.class)); }