public <M> List<M> getEnabledModulesByClass(final Class<M> moduleClass) { return delegate.getEnabledModulesByClass(moduleClass); }
@Override protected List<CustomFieldSearcher> create() throws Exception { return pluginAccessor.getEnabledModulesByClass(CustomFieldSearcher.class); } };
@Override protected List<JiraRendererPlugin> create() throws Exception { return pluginAccessor.getEnabledModulesByClass(JiraRendererPlugin.class); } };
private List<AutoConfiguringAuthenticatorProviderPluginModule> getAutoConfiguringModules() { List<AuthenticationProviderPluginModule> providerModules = pluginAccessor.getEnabledModulesByClass(AuthenticationProviderPluginModule.class); ImmutableList.Builder<AutoConfiguringAuthenticatorProviderPluginModule> autoConfigModules = ImmutableList.builder(); for (AuthenticationProviderPluginModule providerModule : providerModules) { if (providerModule instanceof AutoConfiguringAuthenticatorProviderPluginModule) { autoConfigModules.add((AutoConfiguringAuthenticatorProviderPluginModule) providerModule); } } return autoConfigModules.build(); } }
/** * Get filtered Configured providers for the current ApplicationLink. */ private List<AuthenticationProviderEntity> getConfiguredProviders(ApplicationLink applicationLink, Predicate<AuthenticationProviderPluginModule> predicate) throws URISyntaxException { return getConfiguredProviders(applicationLink, Iterables.filter(pluginAccessor.getEnabledModulesByClass(AuthenticationProviderPluginModule.class), predicate)); }
/** * Get unfiltered Configured providers for the current ApplicationLink. */ private List<AuthenticationProviderEntity> getConfiguredProviders(ApplicationLink applicationLink) throws URISyntaxException { return getConfiguredProviders(applicationLink, pluginAccessor.getEnabledModulesByClass(AuthenticationProviderPluginModule.class)); }
/** * Get unfiltered Configured providers for the current ApplicationLink. */ private List<AuthenticationProviderEntity> getConfiguredProviders(ApplicationLink applicationLink) throws URISyntaxException { return getConfiguredProviders(applicationLink, pluginAccessor.getEnabledModulesByClass(AuthenticationProviderPluginModule.class)); }
private Optional<Class<? extends Condition>> getConditionClass( Function<ConnectConditionClassResolver.Entry, Optional<Class<? extends Condition>>> mapper) { List<ConnectConditionClassResolver> resolvers = pluginAccessor.getEnabledModulesByClass(ConnectConditionClassResolver.class); return resolvers .stream() .flatMap(resolver -> resolver.getEntries().stream()) .map(mapper) .filter(Optional::isPresent).map(Optional::get) .findFirst(); } }
public static <V extends SearchRequestView> V getSearchRequestView(final Class<V> searchRequestViewClass) { final PluginAccessor pluginAccessor = ComponentAccessor.getComponentOfType(PluginAccessor.class); final List<V> modules = pluginAccessor.getEnabledModulesByClass(searchRequestViewClass); if (!modules.isEmpty()) { return modules.get(0); } else { return null; } }
public static <V extends IssueView> V getIssueView(final Class<V> issueViewClass) { final PluginAccessor pluginAccessor = ComponentAccessor.getComponentOfType(PluginAccessor.class); final List<V> modules = pluginAccessor.getEnabledModulesByClass(issueViewClass); if (!modules.isEmpty()) { return modules.get(0); } else { return null; } }
@Nonnull @Override public List<CustomFieldType<?, ?>> getCustomFieldTypes() { final List<CustomFieldType> types = pluginAccessor.getEnabledModulesByClass(CustomFieldType.class); List<CustomFieldType<?, ?>> field = Lists.newArrayListWithExpectedSize(types.size()); for (Object type : types) { field.add((CustomFieldType<?, ?>) type); } Collections.sort(field, byName()); return field; }
private Optional<Class<? extends Condition>> getConditionClass(String conditionName, Function<ConnectConditionClassResolver.Entry, Optional<Class<? extends Condition>>> mapper) { List<ConnectConditionClassResolver> resolvers = pluginAccessor.getEnabledModulesByClass(ConnectConditionClassResolver.class); return resolvers.stream() .flatMap(resolver -> resolver.getEntriesForConditionName(conditionName).stream()) .filter(entry -> entry.getConditionName().equals(conditionName)) .map(mapper) .filter(Optional::isPresent) .findFirst() .flatMap(Function.identity()); } }
@Nonnull @Override public <E> Iterable<E> getExtensionsByClassUncacheable(final Class<E> extensionClass) { // This logic assumes that people don't PluginAccessor.getEnabledModulesByClass for ModuleDescriptor subclasses. // I did a survey of the current state of OnDemand and this is true : https://extranet.atlassian.com/x/gjh6lw // It feels like a stable assumption, i can't imagine why you'd want to do this, and Spuddy agreed. if (ModuleDescriptor.class.isAssignableFrom(extensionClass)) { // The test above means that this cast is safe @SuppressWarnings("unchecked") Class<? extends ModuleDescriptor<?>> extensionClassAsModuleDescriptor = (Class<? extends ModuleDescriptor<?>>) extensionClass; final List<? extends ModuleDescriptor<?>> moduleDescriptors = pluginAccessor.getEnabledModuleDescriptorsByClass(extensionClassAsModuleDescriptor); return moduleDescriptors.stream().map(extensionClass::cast).collect(toList()); } else { return pluginAccessor.getEnabledModulesByClass(extensionClass); } } }
protected void validateConditions(ShallowConnectAddonBean descriptor, List<ConnectPageModuleBean> pageBeans) throws ConnectModuleValidationException { List<ConnectConditionClassResolver> conditionClassResolvers = pluginAccessor.getEnabledModulesByClass(ConnectConditionClassResolver.class); for (ConnectPageModuleBean page : pageBeans) { for (SingleConditionBean condition : ConditionUtils.getSingleConditionsRecursively(page.getConditions())) { assertValidPageCondition(descriptor, condition, conditionClassResolvers); } } }
protected void disableAutoConfigurableAuthenticationProviders(final ApplicationLink applicationLink, final RequestFactory requestFactory) throws AuthenticationConfigurationException { for (final AutoConfiguringAuthenticatorProviderPluginModule module : pluginAccessor.getEnabledModulesByClass(AutoConfiguringAuthenticatorProviderPluginModule.class)) { if (authenticationConfigurationManager.isConfigured( applicationLink.getId(), module.getAuthenticationProviderClass())) { module.disable(requestFactory, applicationLink); } } }
for (AuthenticationProviderPluginModule authenticationProviderPluginModule : pluginAccessor.getEnabledModulesByClass(AuthenticationProviderPluginModule.class)) { final AuthenticationProvider authenticationProvider = authenticationProviderPluginModule.getAuthenticationProvider(applicationLink); if (authenticationProvider != null) { final List<EntityType> entityTypes = pluginAccessor.getEnabledModulesByClass(EntityType.class); final Iterable<EntityType> hostApplicationEntityTypes = Iterables.filter(entityTypes, new Predicate<EntityType>() { public boolean apply(@Nullable final EntityType input) {