diff --git a/core/src/main/groovy/grails/views/GenericViewConfiguration.groovy b/core/src/main/groovy/grails/views/GenericViewConfiguration.groovy index 4592d5b43..4d255d654 100644 --- a/core/src/main/groovy/grails/views/GenericViewConfiguration.groovy +++ b/core/src/main/groovy/grails/views/GenericViewConfiguration.groovy @@ -103,7 +103,7 @@ trait GenericViewConfiguration implements ViewConfiguration, GrailsApplicationAw String moduleName = viewModuleName GroovyObject configObject = (GroovyObject)this if (config != null) { - PropertyDescriptor[] descriptors = BeanUtils.getPropertyDescriptors(GenericViewConfiguration) + def descriptors = findViewConfigPropertyDescriptor() for (PropertyDescriptor desc in descriptors) { if (desc.writeMethod != null) { String propertyName = desc.name @@ -131,4 +131,8 @@ trait GenericViewConfiguration implements ViewConfiguration, GrailsApplicationAw } packages as String[] } + + PropertyDescriptor[] findViewConfigPropertyDescriptor() { + BeanUtils.getPropertyDescriptors(GenericViewConfiguration) + } } diff --git a/core/src/test/groovy/grails/views/GenericViewConfigurationSpec.groovy b/core/src/test/groovy/grails/views/GenericViewConfigurationSpec.groovy index f387b8162..57f82998c 100644 --- a/core/src/test/groovy/grails/views/GenericViewConfigurationSpec.groovy +++ b/core/src/test/groovy/grails/views/GenericViewConfigurationSpec.groovy @@ -1,9 +1,6 @@ package grails.views -import grails.util.GrailsUtil import org.grails.config.CodeGenConfig -import org.springframework.beans.BeanUtils -import java.beans.PropertyDescriptor import spock.lang.Specification class GenericViewConfigurationSpec extends Specification { @@ -33,8 +30,4 @@ class TestClass implements GenericViewConfiguration { String getViewModuleName() { "json" } - - PropertyDescriptor[] findViewConfigPropertyDescriptor() { - BeanUtils.getPropertyDescriptors(GenericViewConfiguration) - } } diff --git a/json/src/main/groovy/grails/plugin/json/view/JsonViewConfiguration.groovy b/json/src/main/groovy/grails/plugin/json/view/JsonViewConfiguration.groovy index dd93baf24..d3c231383 100644 --- a/json/src/main/groovy/grails/plugin/json/view/JsonViewConfiguration.groovy +++ b/json/src/main/groovy/grails/plugin/json/view/JsonViewConfiguration.groovy @@ -2,11 +2,8 @@ package grails.plugin.json.view import grails.views.GenericViewConfiguration import grails.web.mime.MimeType -import org.springframework.beans.BeanUtils import org.springframework.boot.context.properties.ConfigurationProperties -import java.beans.PropertyDescriptor - /** * Default configuration for JSON views * @@ -32,9 +29,4 @@ class JsonViewConfiguration implements GenericViewConfiguration { String getViewModuleName() { MODULE_NAME } - - PropertyDescriptor[] findViewConfigPropertyDescriptor() { - BeanUtils.getPropertyDescriptors(GenericViewConfiguration) - } - } diff --git a/markup/src/main/groovy/grails/plugin/markup/view/MarkupViewConfiguration.groovy b/markup/src/main/groovy/grails/plugin/markup/view/MarkupViewConfiguration.groovy index 4e99dafc0..37e494a6c 100644 --- a/markup/src/main/groovy/grails/plugin/markup/view/MarkupViewConfiguration.groovy +++ b/markup/src/main/groovy/grails/plugin/markup/view/MarkupViewConfiguration.groovy @@ -57,10 +57,15 @@ class MarkupViewConfiguration extends TemplateConfiguration implements GenericVi MODULE_NAME } + @Override PropertyDescriptor[] findViewConfigPropertyDescriptor() { - List allDescriptors = [] - allDescriptors.addAll(BeanUtils.getPropertyDescriptors(GenericViewConfiguration)) - allDescriptors.addAll(BeanUtils.getPropertyDescriptors(TemplateConfiguration)) + def allDescriptors = [] + allDescriptors.addAll( + GenericViewConfiguration.super.findViewConfigPropertyDescriptor() + ) + allDescriptors.addAll( + BeanUtils.getPropertyDescriptors(TemplateConfiguration) + ) return allDescriptors as PropertyDescriptor[] } }