use of grails.plugins.GrailsPlugin in project grails-core by grails.
the class ExcludingPluginFilter method addPluginDependencies.
@Override
protected void addPluginDependencies(List additionalList, GrailsPlugin plugin) {
// find the plugins which depend on the one we've excluded
String pluginName = plugin.getName();
Collection<GrailsPlugin> values = getAllPlugins();
for (GrailsPlugin p : values) {
// ignore the current plugin
if (pluginName.equals(p.getName())) {
continue;
}
boolean depends = isDependentOn(p, pluginName);
if (depends) {
registerDependency(additionalList, p);
}
}
}
use of grails.plugins.GrailsPlugin in project grails-core by grails.
the class ProfilingGrailsPluginManager method doPostProcessing.
@Override
public void doPostProcessing(ApplicationContext ctx) {
long time = System.currentTimeMillis();
System.out.println("doWithApplicationContext started");
checkInitialised();
for (GrailsPlugin plugin : pluginList) {
if (plugin.supportsCurrentScopeAndEnvironment()) {
long pluginTime = System.currentTimeMillis();
System.out.println("doWithApplicationContext for plugin [" + plugin.getName() + "] started");
plugin.doWithApplicationContext(ctx);
System.out.println("doWithApplicationContext for plugin [" + plugin.getName() + "] took " + (System.currentTimeMillis() - pluginTime));
}
}
System.out.println("doWithApplicationContext took " + (System.currentTimeMillis() - time));
}
use of grails.plugins.GrailsPlugin in project grails-core by grails.
the class DefaultGroovyPageLocator method findBinaryScriptSource.
protected GroovyPageScriptSource findBinaryScriptSource(String uri) {
if (pluginManager == null) {
return null;
}
List<GrailsPlugin> allPlugins = Arrays.asList(pluginManager.getAllPlugins());
Collections.reverse(allPlugins);
for (GrailsPlugin plugin : allPlugins) {
if (!(plugin instanceof BinaryGrailsPlugin)) {
continue;
}
BinaryGrailsPlugin binaryPlugin = (BinaryGrailsPlugin) plugin;
if (LOG.isDebugEnabled()) {
LOG.debug("Searching plugin [{}] for GSP view [{}]", plugin.getName(), uri);
}
GroovyPageScriptSource scriptSource = resolveViewInBinaryPlugin(binaryPlugin, uri);
if (scriptSource != null) {
if (LOG.isDebugEnabled()) {
LOG.debug("Found GSP view [{}] in plugin [{}]", uri, plugin.getName());
}
return scriptSource;
} else if (binaryPlugin.getProjectDirectory() != null) {
scriptSource = resolveViewInPluginProjectDirectory(binaryPlugin, uri);
if (scriptSource != null) {
return scriptSource;
}
}
}
return null;
}
use of grails.plugins.GrailsPlugin in project grails-core by grails.
the class AbstractGrailsPluginManager method doRuntimeConfiguration.
/**
* Base implementation that simply goes through the list of plugins and calls doWithRuntimeConfiguration on each
* @param springConfig The RuntimeSpringConfiguration instance
*/
public void doRuntimeConfiguration(RuntimeSpringConfiguration springConfig) {
ApplicationContext context = springConfig.getUnrefreshedApplicationContext();
AutowireCapableBeanFactory autowireCapableBeanFactory = context.getAutowireCapableBeanFactory();
if (autowireCapableBeanFactory instanceof ConfigurableListableBeanFactory) {
ConfigurableListableBeanFactory beanFactory = (ConfigurableListableBeanFactory) autowireCapableBeanFactory;
ConversionService existingConversionService = beanFactory.getConversionService();
ConverterRegistry converterRegistry;
if (existingConversionService == null) {
GenericConversionService conversionService = new GenericConversionService();
converterRegistry = conversionService;
beanFactory.setConversionService(conversionService);
} else {
converterRegistry = (ConverterRegistry) existingConversionService;
}
converterRegistry.addConverter(new Converter<NavigableMap.NullSafeNavigator, Object>() {
@Override
public Object convert(NavigableMap.NullSafeNavigator source) {
return null;
}
});
}
checkInitialised();
for (GrailsPlugin plugin : pluginList) {
if (plugin.supportsCurrentScopeAndEnvironment() && plugin.isEnabled(context.getEnvironment().getActiveProfiles())) {
plugin.doWithRuntimeConfiguration(springConfig);
}
}
}
use of grails.plugins.GrailsPlugin in project grails-core by grails.
the class AbstractGrailsPluginManager method setApplication.
public void setApplication(GrailsApplication application) {
Assert.notNull(application, "Argument [application] cannot be null");
this.application = application;
for (GrailsPlugin plugin : pluginList) {
plugin.setApplication(application);
}
}
Aggregations