use of grails.plugins.GrailsPlugin in project grails-core by grails.
the class PluginAwareResourceBundleMessageSource method mergeBinaryPluginProperties.
protected void mergeBinaryPluginProperties(final Locale locale, Properties mergedProps) {
final GrailsPlugin[] allPlugins = pluginManager.getAllPlugins();
for (GrailsPlugin plugin : allPlugins) {
if (plugin instanceof BinaryGrailsPlugin) {
BinaryGrailsPlugin binaryPlugin = (BinaryGrailsPlugin) plugin;
final Properties binaryPluginProperties = binaryPlugin.getProperties(locale);
if (binaryPluginProperties != null) {
mergedProps.putAll(binaryPluginProperties);
}
}
}
}
use of grails.plugins.GrailsPlugin in project grails-core by grails.
the class ProfilingGrailsPluginManager method doRuntimeConfiguration.
@Override
public void doRuntimeConfiguration(RuntimeSpringConfiguration springConfig) {
long time = System.currentTimeMillis();
System.out.println("doWithSpring started");
checkInitialised();
for (GrailsPlugin plugin : pluginList) {
if (plugin.supportsCurrentScopeAndEnvironment()) {
long pluginTime = System.currentTimeMillis();
System.out.println("doWithSpring for plugin [" + plugin.getName() + "] started");
plugin.doWithRuntimeConfiguration(springConfig);
System.out.println("doWithSpring for plugin [" + plugin.getName() + "] took " + (System.currentTimeMillis() - pluginTime));
}
}
System.out.println("doWithSpring took " + (System.currentTimeMillis() - time));
}
use of grails.plugins.GrailsPlugin in project grails-core by grails.
the class ProfilingGrailsPluginManager method doDynamicMethods.
@Override
public void doDynamicMethods() {
long time = System.currentTimeMillis();
System.out.println("doWithDynamicMethods started");
checkInitialised();
// remove common meta classes just to be sure
MetaClassRegistry registry = GroovySystem.getMetaClassRegistry();
for (Class<?> COMMON_CLASS : COMMON_CLASSES) {
registry.removeMetaClass(COMMON_CLASS);
}
for (GrailsPlugin plugin : pluginList) {
if (plugin.supportsCurrentScopeAndEnvironment()) {
try {
long pluginTime = System.currentTimeMillis();
System.out.println("doWithDynamicMethods for plugin [" + plugin.getName() + "] started");
plugin.doWithDynamicMethods(applicationContext);
System.out.println("doWithDynamicMethods for plugin [" + plugin.getName() + "] took " + (System.currentTimeMillis() - pluginTime));
} catch (Throwable t) {
throw new GrailsConfigurationException("Error configuring dynamic methods for plugin " + plugin + ": " + t.getMessage(), t);
}
}
}
System.out.println("doWithDynamicMethods took " + (System.currentTimeMillis() - time));
}
use of grails.plugins.GrailsPlugin in project grails-core by grails.
the class AbstractGrailsPluginManager method doRuntimeConfigurationForDependencies.
private void doRuntimeConfigurationForDependencies(String[] dependencyNames, RuntimeSpringConfiguration springConfig) {
for (String dn : dependencyNames) {
GrailsPlugin current = getGrailsPlugin(dn);
if (current == null) {
throw new PluginException("Cannot load Plugin. Dependency [" + current + "] not found");
}
String[] pluginDependencies = current.getDependencyNames();
if (pluginDependencies.length > 0) {
doRuntimeConfigurationForDependencies(pluginDependencies, springConfig);
}
if (isPluginDisabledForProfile(current))
continue;
current.doWithRuntimeConfiguration(springConfig);
}
}
use of grails.plugins.GrailsPlugin in project grails-core by grails.
the class AbstractGrailsPluginManager method doDynamicMethods.
public void doDynamicMethods() {
checkInitialised();
Class<?>[] allClasses = application.getAllClasses();
if (allClasses != null) {
for (Class<?> c : allClasses) {
ExpandoMetaClass emc = new ExpandoMetaClass(c, true, true);
emc.initialize();
}
ApplicationContext ctx = applicationContext;
for (GrailsPlugin plugin : pluginList) {
if (!plugin.isEnabled(ctx.getEnvironment().getActiveProfiles()))
continue;
plugin.doWithDynamicMethods(ctx);
}
}
}
Aggregations