/** * Searches for {@link ProviderMetadata} and {@link ApiMetadata} registered under the {@link Bundle} id. If metadata * are found they are removed the {@link ProviderRegistry} and {@link ApiRegistry}. Also the {@link ProviderListener} * and {@link ApiListener} are notified. * * @param bundle */ private synchronized void removeBundle(Bundle bundle) { for (ProviderMetadata providerMetadata : providerMetadataMap.removeAll(bundle.getBundleId())) { ProviderRegistry.unregisterProvider(providerMetadata); for (ProviderListener listener : providerListeners) { listener.removed(providerMetadata); } } for (ApiMetadata apiMetadata : apiMetadataMap.removeAll(bundle.getBundleId())) { ApiRegistry.unRegisterApi(apiMetadata); for (ApiListener listener : apiListeners) { listener.removed(apiMetadata); } } }
/** * Searches for {@link ProviderMetadata} and {@link ApiMetadata} registered under the {@link Bundle} id. If metadata * are found they are removed the {@link ProviderRegistry} and {@link ApiRegistry}. Also the {@link ProviderListener} * and {@link ApiListener} are notified. * * @param bundle */ private synchronized void removeBundle(Bundle bundle) { for (ProviderMetadata providerMetadata : providerMetadataMap.removeAll(bundle.getBundleId())) { ProviderRegistry.unregisterProvider(providerMetadata); for (ProviderListener listener : providerListeners) { listener.removed(providerMetadata); } } for (ApiMetadata apiMetadata : apiMetadataMap.removeAll(bundle.getBundleId())) { ApiRegistry.unRegisterApi(apiMetadata); for (ApiListener listener : apiListeners) { listener.removed(apiMetadata); } } }
/** * Searches for {@link ProviderMetadata} and {@link ApiMetadata} registered under the {@link Bundle} id. If metadata * are found they are removed the {@link ProviderRegistry} and {@link ApiRegistry}. Also the {@link ProviderListener} * and {@link ApiListener} are notified. * * @param bundle */ private synchronized void removeBundle(Bundle bundle) { for (ProviderMetadata providerMetadata : providerMetadataMap.removeAll(bundle.getBundleId())) { ProviderRegistry.unregisterProvider(providerMetadata); for (ProviderListener listener : providerListeners) { listener.removed(providerMetadata); } } for (ApiMetadata apiMetadata : apiMetadataMap.removeAll(bundle.getBundleId())) { ApiRegistry.unRegisterApi(apiMetadata); for (ApiListener listener : apiListeners) { listener.removed(apiMetadata); } } }
/** * Searches for {@link ProviderMetadata} and {@link ApiMetadata} registered under the {@link Bundle} id. If metadata * are found they are removed the {@link ProviderRegistry} and {@link ApiRegistry}. Also the {@link ProviderListener} * and {@link ApiListener} are notified. * * @param bundle */ private synchronized void removeBundle(Bundle bundle) { for (ProviderMetadata providerMetadata : providerMetadataMap.removeAll(bundle.getBundleId())) { ProviderRegistry.unregisterProvider(providerMetadata); for (ProviderListener listener : providerListeners) { listener.removed(providerMetadata); } } for (ApiMetadata apiMetadata : apiMetadataMap.removeAll(bundle.getBundleId())) { ApiRegistry.unRegisterApi(apiMetadata); for (ApiListener listener : apiListeners) { listener.removed(apiMetadata); } } }
/** * Searches for {@link ProviderMetadata} and {@link ApiMetadata} registered under the {@link Bundle} id. If metadata * are found they are removed the {@link ProviderRegistry} and {@link ApiRegistry}. Also the {@link ProviderListener} * and {@link ApiListener} are notified. * * @param bundle */ private synchronized void removeBundle(Bundle bundle) { for (ProviderMetadata providerMetadata : providerMetadataMap.removeAll(bundle.getBundleId())) { ProviderRegistry.unregisterProvider(providerMetadata); for (ProviderListener listener : providerListeners) { listener.removed(providerMetadata); } } for (ApiMetadata apiMetadata : apiMetadataMap.removeAll(bundle.getBundleId())) { ApiRegistry.unRegisterApi(apiMetadata); for (ApiListener listener : apiListeners) { listener.removed(apiMetadata); } } }
/** * Searches for {@link ProviderMetadata} and {@link ApiMetadata} registered under the {@link Bundle} id. If metadata * are found they are removed the {@link ProviderRegistry} and {@link ApiRegistry}. Also the {@link ProviderListener} * and {@link ApiListener} are notified. * * @param bundle */ private synchronized void removeBundle(Bundle bundle) { for (ProviderMetadata providerMetadata : providerMetadataMap.removeAll(bundle.getBundleId())) { ProviderRegistry.unregisterProvider(providerMetadata); for (ProviderListener listener : providerListeners) { listener.removed(providerMetadata); } } for (ApiMetadata apiMetadata : apiMetadataMap.removeAll(bundle.getBundleId())) { ApiRegistry.unRegisterApi(apiMetadata); for (ApiListener listener : apiListeners) { listener.removed(apiMetadata); } } }
@Test public void testRegisteredProvider() throws Exception { String id = "my-example-provider"; assertFalse(JcloudsProviderAndApiLoader.isProvider(id)); ProviderMetadata provider = new BaseProviderMetadata.Builder() .id(id) .name("My Example Provider") .apiMetadata(new AWSEC2ApiMetadata()) .build(); ProviderRegistry.registerProvider(provider); try { assertIsProvider(id); ProviderRegistry.unregisterProvider(provider); assertFalse(JcloudsProviderAndApiLoader.isProvider(id)); } finally { ProviderRegistry.unregisterProvider(provider); } }
@Test public void testRenamedRegisteredProvider() throws Exception { String newId = "my-example-provider2"; String oldId = "my-example-provider-renamed"; assertFalse(JcloudsProviderAndApiLoader.isProvider(newId)); ProviderMetadata provider = new BaseProviderMetadata.Builder() .id(newId) .name("My Example Provider 2") .apiMetadata(new AWSEC2ApiMetadata()) .build(); ProviderRegistry.registerProvider(provider); try { assertIsProvider(newId); assertFalse(JcloudsProviderAndApiLoader.isProvider(oldId)); DeserializingJcloudsRenamesProvider.INSTANCE.loadDeserializingMapping().put(oldId,newId); assertIsProvider(oldId, newId); ProviderRegistry.unregisterProvider(provider); assertFalse(JcloudsProviderAndApiLoader.isProvider(newId)); assertFalse(JcloudsProviderAndApiLoader.isProvider(oldId)); } finally { ProviderRegistry.unregisterProvider(provider); } }