use of org.grails.plugins.BinaryGrailsPlugin 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 org.grails.plugins.BinaryGrailsPlugin in project grails-core by grails.
the class DefaultGroovyPageLocator method findPageInBinding.
public GroovyPageScriptSource findPageInBinding(String pluginName, String uri, TemplateVariableBinding binding) {
GroovyPageScriptSource scriptSource = null;
String contextPath = resolveContextPath(pluginName, uri, binding);
String fullURI = GrailsResourceUtils.appendPiecesForUri(contextPath, uri);
if (pluginManager != null) {
GrailsPlugin grailsPlugin = pluginManager.getGrailsPlugin(pluginName);
if (grailsPlugin instanceof BinaryGrailsPlugin) {
BinaryGrailsPlugin binaryGrailsPlugin = (BinaryGrailsPlugin) grailsPlugin;
File projectDirectory = binaryGrailsPlugin.getProjectDirectory();
if (projectDirectory != null) {
File f = new File(projectDirectory, GrailsResourceUtils.VIEWS_DIR_PATH + uri);
if (f.exists()) {
scriptSource = new GroovyPageResourceScriptSource(uri, new FileSystemResource(f));
}
} else {
scriptSource = resolveViewInBinaryPlugin(binaryGrailsPlugin, uri);
}
}
}
if (scriptSource == null) {
scriptSource = findPageInBinding(fullURI, binding);
}
if (scriptSource == null) {
scriptSource = findResourceScriptSource(uri);
}
//last effort to resolve and force name of plugin to use camel case
if (scriptSource == null) {
contextPath = resolveContextPath(pluginName, uri, binding, true);
scriptSource = findPageInBinding(GrailsResourceUtils.appendPiecesForUri(contextPath, uri), binding);
}
return scriptSource;
}
use of org.grails.plugins.BinaryGrailsPlugin in project grails-core by grails.
the class GroovyPagesServlet method findPageInBinaryPlugins.
protected GroovyPageScriptSource findPageInBinaryPlugins(String pageName) {
if (pageName != null) {
Class<?> pageClass = binaryPluginViewsMap.get(pageName);
if (pageClass == null && pluginManager != null) {
final GrailsPlugin[] allPlugins = pluginManager.getAllPlugins();
for (GrailsPlugin plugin : allPlugins) {
if (plugin instanceof BinaryGrailsPlugin) {
BinaryGrailsPlugin binaryPlugin = (BinaryGrailsPlugin) plugin;
pageClass = binaryPlugin.resolveView(pageName);
if (pageClass != null) {
binaryPluginViewsMap.put(pageName, pageClass);
break;
}
}
}
}
if (pageClass != null) {
return new GroovyPageCompiledScriptSource(pageName, pageName, pageClass);
}
}
return null;
}
use of org.grails.plugins.BinaryGrailsPlugin 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;
}
Aggregations