/** * Returns the class name, including package, for the given class. This method will deals with proxies and closures. * * @param cls The class name */ public static String getFullClassName(Class cls) { String className = cls.getName(); return getFullClassName(className); }
protected String getNameForController(Object controller) { final Class<?> cls = controller.getClass(); return GrailsNameUtils.getLogicalPropertyName(GrailsNameUtils.getFullClassName(cls), ControllerArtefactHandler.TYPE); }
/** * Finds a template for the given controller name and template name * * @param controller The controller n * @param templateName The view name * @return The GroovyPageScriptSource */ public GroovyPageScriptSource findTemplate(Object controller, String templateName) { String controllerName = getNameForController(controller); GroovyPageScriptSource scriptSource = null; final String templateURI = uriService.getTemplateURI(controllerName, templateName); final String fullClassName = GrailsNameUtils.getFullClassName(controller.getClass()); Object controllerArtefact = grailsApplication != null ? grailsApplication.getArtefact(ControllerArtefactHandler.TYPE, fullClassName) : null; if(controllerArtefact instanceof GrailsControllerClass) { GrailsControllerClass gcc = (GrailsControllerClass)controllerArtefact; String namespace = gcc.getNamespace(); if(namespace != null) { scriptSource = findPage("/" + namespace + templateURI); } } if(scriptSource == null) { scriptSource = findPage(templateURI); } return scriptSource; }
final GrailsControllerClass controllerClass = (GrailsControllerClass)grailsApplication.getArtefact(ControllerArtefactHandler.TYPE, GrailsNameUtils.getFullClassName(controller.getClass()) );
final String controllerClassName = GrailsNameUtils.getFullClassName( controller.getClass() ); Object controllerArtefact = grailsApplication != null ? grailsApplication.getArtefact(ControllerArtefactHandler.TYPE, controllerClassName) : null; if(controllerArtefact instanceof GrailsControllerClass) {