Skip to content

Commit 9ba1ba1

Browse files
committed
Merge branch '7.0.x' into 7.0.x-i18n-autoconfiguration
2 parents 0abd343 + 0549617 commit 9ba1ba1

File tree

11 files changed

+34
-162
lines changed

11 files changed

+34
-162
lines changed

grails-bootstrap/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ dependencies {
88
// when used by grails-gradle-plugin
99
// see: https://docs.gradle.org/current/userguide/compatibility.html#groovy
1010
implementation "org.springframework:spring-context"
11-
api "org.springframework.boot:spring-boot-autoconfigure"
11+
implementation "org.springframework.boot:spring-boot-autoconfigure"
1212

1313

1414
compileOnly "org.codehaus.groovy:groovy:$GroovySystem.version"

grails-plugin-controllers/src/main/groovy/org/grails/plugins/web/controllers/ControllersAutoConfiguration.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import grails.config.Settings;
44
import jakarta.servlet.DispatcherType;
55
import jakarta.servlet.Filter;
6-
import org.grails.spring.config.http.GrailsFilters;
6+
import org.grails.web.config.http.GrailsFilters;
77
import org.grails.web.filters.HiddenHttpMethodFilter;
88
import org.grails.web.servlet.mvc.GrailsWebRequestFilter;
99
import org.springframework.beans.factory.annotation.Value;
@@ -16,7 +16,6 @@
1616
import org.springframework.boot.web.servlet.filter.OrderedCharacterEncodingFilter;
1717
import org.springframework.context.ApplicationContext;
1818
import org.springframework.context.annotation.Bean;
19-
import org.springframework.context.annotation.Primary;
2019
import org.springframework.web.filter.CharacterEncodingFilter;
2120

2221
import java.util.EnumSet;

grails-plugin-mimetypes/src/main/groovy/org/grails/plugins/web/mime/AbstractMimeTypesGrailsPlugin.groovy

Lines changed: 0 additions & 42 deletions
This file was deleted.

grails-plugin-mimetypes/src/main/groovy/org/grails/plugins/web/mime/MimeTypesConfiguration.groovy

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ import groovy.transform.CompileStatic
2727
import groovy.transform.TypeCheckingMode
2828
import org.grails.web.mime.DefaultMimeTypeResolver
2929
import org.grails.web.mime.DefaultMimeUtility
30-
import org.springframework.context.ApplicationContext
3130
import org.springframework.context.annotation.Bean
3231
import org.springframework.context.annotation.Configuration
3332
import org.springframework.context.annotation.Primary
@@ -43,12 +42,10 @@ import org.springframework.context.annotation.Primary
4342
class MimeTypesConfiguration {
4443

4544
private final GrailsApplication grailsApplication
46-
private final ApplicationContext applicationContext
4745
private final List<MimeTypeProvider> mimeTypeProviders
4846

4947
MimeTypesConfiguration(GrailsApplication grailsApplication, List<MimeTypeProvider> mimeTypeProviders) {
5048
this.grailsApplication = grailsApplication
51-
this.applicationContext = grailsApplication.getMainContext()
5249
this.mimeTypeProviders = mimeTypeProviders
5350
}
5451

@@ -86,7 +83,7 @@ class MimeTypesConfiguration {
8683

8784
final List<MimeTypeProvider> mimeTypeProviders = this.mimeTypeProviders
8885
processProviders(mimes, mimeTypeProviders)
89-
final Map<String, MimeTypeProvider> childTypes = applicationContext.getBeansOfType(MimeTypeProvider.class)
86+
final Map<String, MimeTypeProvider> childTypes = grailsApplication.mainContext.getBeansOfType(MimeTypeProvider.class)
9087
processProviders(mimes, childTypes.values())
9188
mimeTypes = mimes.toArray(new MimeType[0])
9289
}

grails-plugin-mimetypes/src/main/groovy/org/grails/plugins/web/mime/MimeTypesFactoryBean.groovy

Lines changed: 0 additions & 93 deletions
This file was deleted.

grails-plugin-mimetypes/src/main/groovy/org/grails/plugins/web/mime/MimeTypesGrailsPlugin.groovy

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,17 +23,10 @@ import grails.util.GrailsUtil
2323
*
2424
* @author Graeme Rocher
2525
* @since 1.0
26-
* @deprecated Use {@link MimeTypesConfiguration} instead
2726
*/
28-
@Deprecated
29-
class MimeTypesGrailsPlugin extends AbstractMimeTypesGrailsPlugin {
27+
class MimeTypesGrailsPlugin {
3028

3129
def version = GrailsUtil.getGrailsVersion()
3230
def dependsOn = [core:version, controllers:version]
3331
def observe = ['controllers']
34-
35-
@Override
36-
Closure doWithSpring() {
37-
return super.doWithSpring()
38-
}
3932
}

grails-plugin-mimetypes/src/test/groovy/grails/web/mime/MimeUtilitySpec.groovy

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
package grails.web.mime
22

33
import grails.core.DefaultGrailsApplication
4-
import org.grails.plugins.web.mime.MimeTypesFactoryBean
4+
import grails.spring.BeanBuilder
5+
import org.grails.plugins.web.mime.MimeTypesConfiguration
56
import org.grails.web.mime.DefaultMimeUtility
7+
import org.springframework.context.ApplicationContext
68
import spock.lang.Specification
79

810
/**
@@ -26,10 +28,15 @@ class MimeUtilitySpec extends Specification {
2628
multipartForm: 'multipart/form-data'
2729
]
2830

29-
final factory = new MimeTypesFactoryBean(grailsApplication: ga)
31+
def bb = new BeanBuilder()
32+
bb.beans {
33+
grailsApplication = ga
34+
mimeConfiguration(MimeTypesConfiguration, ga, [])
35+
}
36+
ga.setApplicationContext(bb.createApplicationContext())
3037

31-
def mimeTypes = factory.getObject()
32-
return new DefaultMimeUtility(mimeTypes)
38+
MimeTypesConfiguration mimeTypesConfiguration = ga.mainContext.getBean(MimeTypesConfiguration)
39+
return new DefaultMimeUtility(mimeTypesConfiguration.mimeTypes())
3340
}
3441

3542
void "Test get mime by extension method"() {

grails-plugin-mimetypes/src/test/groovy/org/grails/web/servlet/mvc/RequestAndResponseMimeTypesApiSpec.groovy

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import grails.web.mime.MimeType
99
import org.grails.config.PropertySourcesConfig
1010
import org.grails.core.lifecycle.ShutdownOperations
1111
import org.grails.plugins.web.mime.MimeTypesConfiguration
12-
import org.grails.plugins.web.mime.MimeTypesFactoryBean
1312
import org.grails.web.mime.DefaultMimeUtility
1413
import org.springframework.context.ApplicationContext
1514
import org.springframework.context.support.GenericApplicationContext

grails-test-suite-uber/src/test/groovy/org/grails/plugins/web/rest/render/BaseDomainClassRendererSpec.groovy

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import grails.persistence.Entity
77
import grails.rest.Linkable
88
import grails.rest.Resource
99
import grails.rest.render.Renderer
10+
import grails.spring.BeanBuilder
1011
import grails.util.GrailsWebMockUtil
1112
import grails.web.CamelCaseUrlConverter
1213
import grails.web.mapping.LinkGenerator
@@ -15,13 +16,15 @@ import grails.web.mime.MimeType
1516
import org.grails.config.PropertySourcesConfig
1617
import org.grails.datastore.mapping.keyvalue.mapping.config.KeyValueMappingContext
1718
import org.grails.datastore.mapping.model.MappingContext
18-
import org.grails.plugins.web.mime.MimeTypesFactoryBean
19+
import org.grails.plugins.web.mime.MimeTypesConfiguration
1920
import org.grails.support.MockApplicationContext
2021
import org.grails.web.mapping.DefaultLinkGenerator
2122
import org.grails.web.mapping.DefaultUrlMappingEvaluator
2223
import org.grails.web.mapping.DefaultUrlMappingsHolder
2324
import org.grails.web.mime.DefaultMimeUtility
2425
import org.grails.web.servlet.mvc.GrailsWebRequest
26+
import org.springframework.context.ApplicationContext
27+
import org.springframework.context.support.GenericApplicationContext
2528
import org.springframework.core.env.MapPropertySource
2629
import org.springframework.core.env.MutablePropertySources
2730
import org.springframework.mock.web.MockHttpServletRequest
@@ -89,11 +92,19 @@ abstract class BaseDomainClassRendererSpec extends Specification {
8992
return new PropertySourcesConfig(propertySources)
9093
}
9194

92-
protected static MimeType[] buildMimeTypes(application) {
93-
def mimeTypesFactory = new MimeTypesFactoryBean()
94-
mimeTypesFactory.grailsApplication = application
95-
def mimeTypes = mimeTypesFactory.getObject()
96-
return mimeTypes
95+
private MimeType[] buildMimeTypes(application) {
96+
final def mainContext = new GenericApplicationContext()
97+
mainContext.refresh()
98+
application.setApplicationContext(mainContext)
99+
100+
def bb = new BeanBuilder()
101+
bb.beans {
102+
grailsApplication = application
103+
mimeConfiguration(MimeTypesConfiguration, application, [])
104+
}
105+
final ApplicationContext context = bb.createApplicationContext()
106+
final MimeTypesConfiguration mimeTypesConfiguration = context.getBean(MimeTypesConfiguration)
107+
mimeTypesConfiguration.mimeTypes()
97108
}
98109

99110
protected static String toCompactXml(String xml) {

grails-web-common/build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ dependencies {
1010
compileOnly "jakarta.servlet:jakarta.servlet-api"
1111
testCompileOnly "org.springframework:spring-test"
1212

13+
compileOnly "org.springframework.boot:spring-boot-autoconfigure"
1314
api "org.springframework:spring-webmvc"
1415
api "org.springframework:spring-context-support"
1516
implementation "com.github.ben-manes.caffeine:caffeine"

0 commit comments

Comments
 (0)