Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in / Register
Toggle navigation
S
spring-boot
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
DEMO
spring-boot
Commits
31736466
Commit
31736466
authored
Apr 25, 2014
by
Dave Syer
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix another test from gh-708
parent
26c5a3ed
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
38 additions
and
37 deletions
+38
-37
MultipartAutoConfiguration.java
...rk/boot/autoconfigure/web/MultipartAutoConfiguration.java
+35
-34
AutoConfigurationReportTests.java
...autoconfigure/condition/AutoConfigurationReportTests.java
+3
-3
No files found.
spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/MultipartAutoConfiguration.java
View file @
31736466
...
@@ -16,9 +16,13 @@
...
@@ -16,9 +16,13 @@
package
org
.
springframework
.
boot
.
autoconfigure
.
web
;
package
org
.
springframework
.
boot
.
autoconfigure
.
web
;
import
javax.servlet.MultipartConfigElement
;
import
javax.servlet.Servlet
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.autoconfigure.EnableAutoConfiguration
;
import
org.springframework.boot.autoconfigure.EnableAutoConfiguration
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnClass
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnClass
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnExpression
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean
;
import
org.springframework.boot.context.embedded.EmbeddedWebApplicationContext
;
import
org.springframework.boot.context.embedded.EmbeddedWebApplicationContext
;
import
org.springframework.boot.context.embedded.MultipartConfigFactory
;
import
org.springframework.boot.context.embedded.MultipartConfigFactory
;
...
@@ -28,58 +32,55 @@ import org.springframework.context.annotation.Configuration;
...
@@ -28,58 +32,55 @@ import org.springframework.context.annotation.Configuration;
import
org.springframework.util.StringUtils
;
import
org.springframework.util.StringUtils
;
import
org.springframework.web.multipart.support.StandardServletMultipartResolver
;
import
org.springframework.web.multipart.support.StandardServletMultipartResolver
;
import
javax.servlet.MultipartConfigElement
;
import
javax.servlet.Servlet
;
/**
/**
* {@link EnableAutoConfiguration Auto-configuration} for multi-part uploads. Adds a
* {@link EnableAutoConfiguration Auto-configuration} for multi-part uploads. Adds a
* {@link StandardServletMultipartResolver} if none is present, and adds a
* {@link StandardServletMultipartResolver} if none is present, and adds a
* {@link javax.servlet.MultipartConfigElement multipartConfigElement} if none is
otherwise defined.
* {@link javax.servlet.MultipartConfigElement multipartConfigElement} if none is
* The {@link EmbeddedWebApplicationContext} will associate the
*
otherwise defined.
The {@link EmbeddedWebApplicationContext} will associate the
* {@link MultipartConfigElement} bean to any {@link Servlet} beans.
* {@link MultipartConfigElement} bean to any {@link Servlet} beans.
* <p/>
* <p/>
* The {@link javax.servlet.MultipartConfigElement} is a Servlet API that's used to
configure how the container handles
* The {@link javax.servlet.MultipartConfigElement} is a Servlet API that's used to
* file uploads. By default
*
configure how the container handles
file uploads. By default
*
*
* @author Greg Turnquist
* @author Greg Turnquist
* @author Josh Long
* @author Josh Long
*/
*/
@Configuration
@Configuration
@ConditionalOnClass
({
Servlet
.
class
,
StandardServletMultipartResolver
.
class
})
@ConditionalOnClass
({
Servlet
.
class
,
StandardServletMultipartResolver
.
class
})
@ConditionalOnExpression
(
"${multipart.enabled:true}"
)
@EnableConfigurationProperties
(
MultipartProperties
.
class
)
@EnableConfigurationProperties
(
MultipartProperties
.
class
)
public
class
MultipartAutoConfiguration
{
public
class
MultipartAutoConfiguration
{
@Autowired
@Autowired
private
MultipartProperties
multipartProperties
=
new
MultipartProperties
();
private
MultipartProperties
multipartProperties
=
new
MultipartProperties
();
@Bean
@ConditionalOnMissingBean
public
MultipartConfigElement
multipartConfigElement
()
{
MultipartConfigFactory
factory
=
new
MultipartConfigFactory
();
if
(
StringUtils
.
hasText
(
this
.
multipartProperties
.
getFileSizeThreshold
()))
{
@Bean
factory
.
setFileSizeThreshold
(
this
.
multipartProperties
.
getFileSizeThreshold
());
@ConditionalOnMissingBean
}
public
MultipartConfigElement
multipartConfigElement
()
{
MultipartConfigFactory
factory
=
new
MultipartConfigFactory
();
if
(
StringUtils
.
hasText
(
this
.
multipartProperties
.
getLocation
()))
{
if
(
StringUtils
.
hasText
(
this
.
multipartProperties
.
getFileSizeThreshold
()))
{
factory
.
setLocation
(
this
.
multipartProperties
.
getLocation
());
factory
.
setFileSizeThreshold
(
this
.
multipartProperties
.
getFileSizeThreshold
());
}
}
if
(
StringUtils
.
hasText
(
this
.
multipartProperties
.
getMaxRequestSize
()))
{
if
(
StringUtils
.
hasText
(
this
.
multipartProperties
.
getLocation
()))
{
factory
.
setMaxRequestSize
(
this
.
multipartProperties
.
getMaxRequestSize
());
factory
.
setLocation
(
this
.
multipartProperties
.
getLocation
());
}
}
if
(
StringUtils
.
hasText
(
this
.
multipartProperties
.
getMaxFile
Size
()))
{
if
(
StringUtils
.
hasText
(
this
.
multipartProperties
.
getMaxRequest
Size
()))
{
factory
.
setMaxFileSize
(
this
.
multipartProperties
.
getMaxFile
Size
());
factory
.
setMaxRequestSize
(
this
.
multipartProperties
.
getMaxRequest
Size
());
}
}
return
factory
.
createMultipartConfig
();
if
(
StringUtils
.
hasText
(
this
.
multipartProperties
.
getMaxFileSize
()))
{
}
factory
.
setMaxFileSize
(
this
.
multipartProperties
.
getMaxFileSize
());
}
return
factory
.
createMultipartConfig
();
}
@Bean
@Bean
@ConditionalOnMissingBean
@ConditionalOnMissingBean
public
StandardServletMultipartResolver
multipartResolver
()
{
public
StandardServletMultipartResolver
multipartResolver
()
{
return
new
StandardServletMultipartResolver
();
return
new
StandardServletMultipartResolver
();
}
}
}
}
spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/AutoConfigurationReportTests.java
View file @
31736466
...
@@ -37,9 +37,9 @@ import org.springframework.context.annotation.AnnotationConfigApplicationContext
...
@@ -37,9 +37,9 @@ import org.springframework.context.annotation.AnnotationConfigApplicationContext
import
org.springframework.context.annotation.Condition
;
import
org.springframework.context.annotation.Condition
;
import
org.springframework.context.annotation.Import
;
import
org.springframework.context.annotation.Import
;
import
static
org
.
hamcrest
.
Matchers
.
contains
;
import
static
org
.
hamcrest
.
Matchers
.
containsString
;
import
static
org
.
hamcrest
.
Matchers
.
containsString
;
import
static
org
.
hamcrest
.
Matchers
.
equalTo
;
import
static
org
.
hamcrest
.
Matchers
.
equalTo
;
import
static
org
.
hamcrest
.
Matchers
.
hasItem
;
import
static
org
.
hamcrest
.
Matchers
.
not
;
import
static
org
.
hamcrest
.
Matchers
.
not
;
import
static
org
.
hamcrest
.
Matchers
.
nullValue
;
import
static
org
.
hamcrest
.
Matchers
.
nullValue
;
import
static
org
.
hamcrest
.
Matchers
.
sameInstance
;
import
static
org
.
hamcrest
.
Matchers
.
sameInstance
;
...
@@ -211,7 +211,7 @@ public class AutoConfigurationReportTests {
...
@@ -211,7 +211,7 @@ public class AutoConfigurationReportTests {
ConditionAndOutcomes
outcomes
=
report
.
getConditionAndOutcomesBySource
().
get
(
ConditionAndOutcomes
outcomes
=
report
.
getConditionAndOutcomesBySource
().
get
(
autoconfigKey
);
autoconfigKey
);
assertThat
(
outcomes
,
not
(
nullValue
()));
assertThat
(
outcomes
,
not
(
nullValue
()));
assertThat
(
getNumberOfOutcomes
(
outcomes
),
equalTo
(
1
));
assertThat
(
getNumberOfOutcomes
(
outcomes
),
equalTo
(
2
));
List
<
String
>
messages
=
new
ArrayList
<
String
>();
List
<
String
>
messages
=
new
ArrayList
<
String
>();
for
(
ConditionAndOutcome
outcome
:
outcomes
)
{
for
(
ConditionAndOutcome
outcome
:
outcomes
)
{
...
@@ -221,7 +221,7 @@ public class AutoConfigurationReportTests {
...
@@ -221,7 +221,7 @@ public class AutoConfigurationReportTests {
Matcher
<
String
>
onClassMessage
=
containsString
(
"@ConditionalOnClass "
Matcher
<
String
>
onClassMessage
=
containsString
(
"@ConditionalOnClass "
+
"classes found: javax.servlet.Servlet,org.springframework.web.multipart.support.StandardServletMultipartResolver"
);
+
"classes found: javax.servlet.Servlet,org.springframework.web.multipart.support.StandardServletMultipartResolver"
);
assertThat
(
messages
,
contains
(
onClassMessage
));
assertThat
(
messages
,
hasItem
(
onClassMessage
));
context
.
close
();
context
.
close
();
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment