Search in sources :

Example 21 with GrailsPlugin

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);
        }
    }
}
Also used : GrailsPlugin(grails.plugins.GrailsPlugin)

Example 22 with GrailsPlugin

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));
}
Also used : GrailsPlugin(grails.plugins.GrailsPlugin)

Example 23 with GrailsPlugin

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;
}
Also used : GrailsPlugin(grails.plugins.GrailsPlugin) BinaryGrailsPlugin(org.grails.plugins.BinaryGrailsPlugin) BinaryGrailsPlugin(org.grails.plugins.BinaryGrailsPlugin)

Example 24 with GrailsPlugin

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);
        }
    }
}
Also used : NavigableMap(org.grails.config.NavigableMap) AutowireCapableBeanFactory(org.springframework.beans.factory.config.AutowireCapableBeanFactory) ApplicationContext(org.springframework.context.ApplicationContext) ConverterRegistry(org.springframework.core.convert.converter.ConverterRegistry) GrailsPlugin(grails.plugins.GrailsPlugin) ConversionService(org.springframework.core.convert.ConversionService) GenericConversionService(org.springframework.core.convert.support.GenericConversionService) ConfigObject(groovy.util.ConfigObject) ConfigurableListableBeanFactory(org.springframework.beans.factory.config.ConfigurableListableBeanFactory) GenericConversionService(org.springframework.core.convert.support.GenericConversionService)

Example 25 with GrailsPlugin

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);
    }
}
Also used : GrailsPlugin(grails.plugins.GrailsPlugin)

Aggregations

GrailsPlugin (grails.plugins.GrailsPlugin)27 DefaultGrailsPlugin (org.grails.plugins.DefaultGrailsPlugin)9 PluginException (grails.plugins.exceptions.PluginException)4 BinaryGrailsPlugin (org.grails.plugins.BinaryGrailsPlugin)4 ApplicationContext (org.springframework.context.ApplicationContext)4 ExpandoMetaClass (groovy.lang.ExpandoMetaClass)2 MetaClassRegistry (groovy.lang.MetaClassRegistry)2 ConfigObject (groovy.util.ConfigObject)2 File (java.io.File)2 NavigableMap (org.grails.config.NavigableMap)2 DefaultRuntimeSpringConfiguration (org.grails.spring.DefaultRuntimeSpringConfiguration)2 RuntimeSpringConfiguration (org.grails.spring.RuntimeSpringConfiguration)2 FileSystemResource (org.springframework.core.io.FileSystemResource)2 Enhanced (grails.artefact.Enhanced)1 ArtefactHandler (grails.core.ArtefactHandler)1 ConfigSlurper (groovy.util.ConfigSlurper)1 ArrayList (java.util.ArrayList)1 HashMap (java.util.HashMap)1 Map (java.util.Map)1 Properties (java.util.Properties)1