@Override public boolean isInstalled(String coreExtensionName) { checkInitialized(); return installedCoreExtensions.stream() .anyMatch(t -> coreExtensionName.equals(t.getName())); }
private static CoreExtension newCoreExtension(String name) { CoreExtension res = mock(CoreExtension.class); when(res.getName()).thenReturn(name); return res; }
private static CoreExtension newCoreExtension(String name) { CoreExtension res = mock(CoreExtension.class); when(res.getName()).thenReturn(name); return res; } }
private static CoreExtension newCoreExtension(Consumer<CoreExtension.Context> loadImplementation) { CoreExtension res = mock(CoreExtension.class); when(res.getName()).thenReturn("name_" + name_counter); name_counter++; doAnswer(invocation -> { CoreExtension.Context context = invocation.getArgument(0); loadImplementation.accept(context); return null; }).when(res).load(any()); return res; }
private void install(ComponentContainer container, Predicate<Object> extensionFilter, Predicate<Object> additionalSideFilter, CoreExtension coreExtension) { String coreExtensionName = coreExtension.getName(); try { List<Object> providerKeys = addDeclaredExtensions(container, extensionFilter, additionalSideFilter, coreExtension); addProvidedExtensions(container, additionalSideFilter, coreExtensionName, providerKeys); LOG.debug("Installed core extension: " + coreExtensionName); coreExtensionRepository.installed(coreExtension); } catch (Exception e) { throw new RuntimeException("Failed to load core extension " + coreExtensionName, e); } }
private List<Object> addDeclaredExtensions(ComponentContainer container, Predicate<Object> extensionFilter, Predicate<Object> additionalSideFilter, CoreExtension coreExtension) { ContextImpl context = new ContextImpl(container, extensionFilter, additionalSideFilter, coreExtension.getName()); coreExtension.load(context); return context.getProviders(); }
@Test public void isInstalled_returns_false_for_loaded_but_not_installed_CoreExtension() { CoreExtension coreExtension = newCoreExtension(); underTest.setLoadedCoreExtensions(singleton(coreExtension)); assertThat(underTest.isInstalled(coreExtension.getName())).isFalse(); }
@Test public void isInstalled_returns_true_for_loaded_and_installed_CoreExtension() { CoreExtension coreExtension = newCoreExtension(); underTest.setLoadedCoreExtensions(singleton(coreExtension)); underTest.installed(coreExtension); assertThat(underTest.isInstalled(coreExtension.getName())).isTrue(); }
private void assertPropertyDefinitions(ComponentContainer container, CoreExtension coreExtension, PropertyDefinition... definitions) { PropertyDefinitions propertyDefinitions = container.getComponentByType(PropertyDefinitions.class); if (definitions.length == 0) { assertThat(propertyDefinitions.getAll()).isEmpty(); } else { for (PropertyDefinition definition : definitions) { PropertyDefinition actual = propertyDefinitions.get(definition.key()); assertThat(actual.category()).isEqualTo(definition.category() == null ? coreExtension.getName() : definition.category()); } } }
@Override public boolean isInstalled(String coreExtensionName) { checkInitialized(); return installedCoreExtensions.stream() .anyMatch(t -> coreExtensionName.equals(t.getName())); }
private void install(ComponentContainer container, Predicate<Object> extensionFilter, Predicate<Object> additionalSideFilter, CoreExtension coreExtension) { String coreExtensionName = coreExtension.getName(); try { List<Object> providerKeys = addDeclaredExtensions(container, extensionFilter, additionalSideFilter, coreExtension); addProvidedExtensions(container, additionalSideFilter, coreExtensionName, providerKeys); LOG.debug("Installed core extension: " + coreExtensionName); coreExtensionRepository.installed(coreExtension); } catch (Exception e) { throw new RuntimeException("Failed to load core extension " + coreExtensionName, e); } }
private List<Object> addDeclaredExtensions(ComponentContainer container, Predicate<Object> extensionFilter, Predicate<Object> additionalSideFilter, CoreExtension coreExtension) { ContextImpl context = new ContextImpl(container, extensionFilter, additionalSideFilter, coreExtension.getName()); coreExtension.load(context); return context.getProviders(); }