private String getPluginKeyProvidingField(String fieldId) { String pluginKey = ""; String fieldTypeClass = getCustomFieldTypeClassname(fieldId); Collection<ModuleDescriptor> moduleDescriptors = moduleDescriptorLocator.getEnabledModuleDescriptorsByModuleClassname(fieldTypeClass); if(null != moduleDescriptors && !moduleDescriptors.isEmpty()) { pluginKey = moduleDescriptors.iterator().next().getPluginKey(); } return pluginKey; }
public void registerAction(String action, ModuleDescriptor moduleDescriptor) { Assertions.notNull("action", action); Assertions.notNull("moduleDescriptor", moduleDescriptor); if(!(moduleDescriptor.getPlugin() instanceof ContainerManagedPlugin)) { throw new IllegalArgumentException("Plugin must be container managed in order to be registered: " + moduleDescriptor.getPluginKey()); } registry.putIfAbsent(action, moduleDescriptor); }
public boolean matches(final ModuleDescriptor moduleDescriptor) { Plugin plugin = moduleDescriptor.getPlugin(); if (moduleDescriptor != null) { if(AbstractWorkflowModuleDescriptor.class.isAssignableFrom(moduleDescriptor.getClass()) && !moduleDescriptor.getPluginKey().equals("com.atlassian.jira.plugin.system.workflow"))//NON-NLS { AbstractWorkflowModuleDescriptor wfModuleDescriptor = (AbstractWorkflowModuleDescriptor) moduleDescriptor; final Class<?> workflowClassInDescriptor = wfModuleDescriptor.getImplementationClass(); return (workflowClassInDescriptor != null) && workflowClassInDescriptor.getName().equals(moduleClassname); } else if(!AbstractWorkflowModuleDescriptor.class.isAssignableFrom(moduleDescriptor.getClass())) { final Class<?> moduleClassInDescriptor = moduleDescriptor.getModuleClass(); return (null != moduleClassInDescriptor && moduleClassInDescriptor.getName().equals(moduleClassname)); } } return false; } }
<T> Class<T> getModuleClass(final String name, final ModuleDescriptor moduleDescriptor) throws ModuleClassNotFoundException { try { return moduleDescriptor.getPlugin().loadClass(name, null); } catch (ClassNotFoundException e) { throw new ModuleClassNotFoundException(name, moduleDescriptor.getPluginKey(), moduleDescriptor.getKey(), e, createErrorMsg(name)); } }
@Override public DimensionAwareTransformerUrlBuilder makeUrlBuilder(TransformerParameters params) { List<URI> resources = new ArrayList<>(); if (params.isAmdModule()) { resources.add(UriUtils.resolvePluginUri(params.getPluginKey(), params.getAmdModuleLocation())); } else { String webResourceKey = params.getPluginKey() + ":" + params.getModuleKey(); ModuleDescriptor descriptor = pluginAccessor.getEnabledPluginModule(webResourceKey); for (ResourceDescriptor resourceDescriptor : descriptor.getResourceDescriptors()) { if (resourceDescriptor.getLocation().endsWith(".less")) { resources.add(UriUtils.resolveUri( descriptor.getPluginKey(), resourceDescriptor.getResourceLocationForName(null) )); } } } return new LessTransformerUrlBuilder(resources, uriStateManager); }
if (!isPluginEnabled(descriptor.getPluginKey()) || !getState().isEnabled(descriptor)) { log.debug("Plugin module '{}' is explicitly disabled (or so by default), so not re-enabling.", descriptor.getDisplayName());