public Collection<Plugin> getEnabledPlugins() { return delegate.getEnabledPlugins(); }
@Override public Collection<Plugin> getEnabledPlugins() { return pluginAccessor.getEnabledPlugins(); }
@Override public Iterable<Properties> loadPluginsFeatureProperties() { final Stream<Pair<ResourceDescriptor, Plugin>> allResources = pluginAccessor.getEnabledPlugins().stream() .flatMap(this::getFeatureResources); return allResources .map(this::getPropertiesFromPlugin) .collect(toList()); }
public List<EnabledPlugin> getEnabledPlugins() { log.debug("getEnabledPlugins"); List<EnabledPlugin> enabledPlugins = new ArrayList<EnabledPlugin>(); for (Plugin plugin : pluginAccessor.getEnabledPlugins()) { enabledPlugins.add(new EnabledPlugin(plugin)); } Collections.sort(enabledPlugins); return enabledPlugins; } }
private PluginsTracker createPluginsTracker() { final PluginAccessor pluginAccessor = pluginAccessorSupplier.get(); final ImmutableList<Plugin> allInvolvedPlugins = pluginAccessor.getEnabledPlugins() .stream() .filter(affectsI18n()) .collect(toImmutableList()); return new SimplePluginsTracker(allInvolvedPlugins); }
private URL getResourceFromPlugins(final String name) { final boolean isMissedResource; synchronized (this) { isMissedResource = missedPluginResource.contains(name); } if (isMissedResource) { return null; } final Collection<Plugin> plugins = pluginAccessor.getEnabledPlugins(); for (final Plugin plugin : plugins) { final URL resource = plugin.getClassLoader().getResource(name); if (resource != null) { synchronized (this) { pluginResourceIndex.put(name, plugin); } return resource; } } synchronized (this) { missedPluginResource.add(name); } return null; }
public List<String> findAllEnabledExtensions(String user) { List<String> result = newArrayList(); for (Plugin plugin : pluginAccessor.getEnabledPlugins()) { if (data.getUsersList(plugin.getKey()).contains(user)) { result.add(plugin.getKey()); } } return result; }
public PluginSupportInfoXmlKeyResolver(PluginAccessor pluginAccessor, PluginEventManager pluginEventManager) { pluginEventManager.register(this); resolveResources(pluginAccessor.getEnabledPlugins()); }
return null; final Collection<Plugin> plugins = pluginAccessor.getEnabledPlugins(); if (log.isDebugEnabled()) { log.debug("loadClassFromPlugins (" + className + ") looping through plugins...");
private Object bruteForceWireInstance(String className) { for (final Plugin plugin : pluginAccessor.getEnabledPlugins()) { try { @SuppressWarnings("unchecked") final Class clazz = plugin.getClassLoader().loadClass(className); if (log.isDebugEnabled()) { log.debug("Class '" + className + "' loaded from plugin " + plugin.getKey() + " - attempting to instantiate with dependencies..."); } Object o = newInstanceFromPlugin(clazz, plugin); if (log.isDebugEnabled()) { log.debug("Wired Class '" + className + "' successfully from plugin " + plugin.getKey() + " ."); } return o; } catch (Exception autowireException) { // continue searching the other plugins } } throw new RuntimeException("Class '" + className + "' is loadable from OSGi but no enabled plugins could autowire an instance."); }
/** * Represents product state considering everything that contributes to content of resources. * * @since v3.5.0 */ public String computeGlobalStateHash() { // This needs to represent all the things that contribute // to the content of files or contribute to what // requireContext() or requireResource() would result in List<String> state = new LinkedList<>(); state.add("productver"); state.add(integration.getHostApplicationVersion()); // annotators impact content of files state.add("annotators"); state.add(String.valueOf(getContentAnnotator(JS_TYPE).hashCode())); state.add(String.valueOf(getContentAnnotator(CSS_TYPE).hashCode())); state.add("plugins"); List<Plugin> plugins = new ArrayList<>(integration.getPluginAccessor().getEnabledPlugins()); sort(plugins, consistentPluginOrder()); for (Plugin plugin : plugins) { state.add(plugin.getKey()); state.add(getPluginVersionOrInstallTime(plugin, usePluginInstallTimeInsteadOfTheVersionForSnapshotPlugins)); } String globalProductStateHash = HashBuilder.buildHash(state); log.info("Calculated global state hash {} based on {}", globalProductStateHash, state); return globalProductStateHash; }
return pluginAccessor.getEnabledPlugins() .stream() .flatMap(plugin ->
private Iterable<ResourceBundle> loadPluginSourcedBundles() final List<Plugin> enabledPlugins = Lists.newArrayList(accessor.getEnabledPlugins());
/** * Clear internal {@link java.util.ResourceBundle#cacheList} from plugin bundles. All plugin related bundles are * cached in I18nHelper so keeping a copy in {@link java.util.ResourceBundle#cacheList} will only be duplication. */ public void cleanPluginBundlesFromResourceBundleCache() { if(!jiraProperties.isResourceBundleCacheCleaningDisabled()) { final List<Plugin> enabledPlugins = Lists.newArrayList(pluginAccessor.get().getEnabledPlugins()); for (final Plugin plugin : enabledPlugins) { final ClassLoader pluginClassLoader = plugin.getClassLoader(); if (isPluginClassLoader(pluginClassLoader)) { ResourceBundle.clearCache(pluginClassLoader); } } } }
for (Iterator i = pluginAccessor.getEnabledPlugins().iterator(); i.hasNext();)
/** * Creates a collection of module descriptors that all share the same given module class * * @param moduleClass The module class we are interested in * @param <M> The module class we are interested in * @return A collection of all module descriptors in the system with module class M */ private <M> List<ModuleDescriptor<M>> getEnabledModuleDescriptorsByModuleClass(final Class<M> moduleClass) { final ModuleOfClassPredicate<M> ofType = new ModuleOfClassPredicate<>(moduleClass); final EnabledModulePredicate enabled = new EnabledModulePredicate(); return getModuleDescriptors(delegate.getEnabledPlugins(), ofType.and(enabled)); }
for (Iterator i = pluginAccessor.getEnabledPlugins().iterator(); i.hasNext();)