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
8b298238
Commit
8b298238
authored
Mar 27, 2018
by
Madhura Bhave
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Prevent StackOverFlowException in metadata processor
Fixes gh-11037
parent
13f45e64
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
14 additions
and
3 deletions
+14
-3
ConfigurationPropertiesReportEndpointSerializationTests.java
...figurationPropertiesReportEndpointSerializationTests.java
+1
-3
ConfigurationMetadataAnnotationProcessor.java
...onprocessor/ConfigurationMetadataAnnotationProcessor.java
+13
-0
No files found.
spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/context/properties/ConfigurationPropertiesReportEndpointSerializationTests.java
View file @
8b298238
...
...
@@ -23,7 +23,6 @@ import java.util.List;
import
java.util.Map
;
import
com.zaxxer.hikari.HikariDataSource
;
import
org.junit.Ignore
;
import
org.junit.Test
;
import
org.springframework.boot.actuate.context.properties.ConfigurationPropertiesReportEndpoint.ApplicationConfigurationProperties
;
...
...
@@ -115,7 +114,6 @@ public class ConfigurationPropertiesReportEndpointSerializationTests {
}
@Test
@Ignore
(
"gh-11037"
)
public
void
testCycle
()
{
ApplicationContextRunner
contextRunner
=
new
ApplicationContextRunner
()
.
withUserConfiguration
(
CycleConfig
.
class
);
...
...
@@ -516,7 +514,7 @@ public class ConfigurationPropertiesReportEndpointSerializationTests {
@Bean
// gh-11037
//
@ConfigurationProperties(prefix = "cycle")
@ConfigurationProperties
(
prefix
=
"cycle"
)
public
Cycle
cycle
()
{
return
new
Cycle
();
}
...
...
spring-boot-project/spring-boot-tools/spring-boot-configuration-processor/src/main/java/org/springframework/boot/configurationprocessor/ConfigurationMetadataAnnotationProcessor.java
View file @
8b298238
...
...
@@ -468,10 +468,23 @@ public class ConfigurationMetadataAnnotationProcessor extends AbstractProcessor
if
(
hasAnnotation
(
field
,
nestedConfigurationPropertyAnnotation
()))
{
return
true
;
}
if
(
isCyclePresent
(
returnType
,
element
))
{
return
false
;
}
return
(
isParentTheSame
(
returnType
,
element
))
&&
returnType
.
getKind
()
!=
ElementKind
.
ENUM
;
}
private
boolean
isCyclePresent
(
Element
returnType
,
Element
element
)
{
if
(!(
element
.
getEnclosingElement
()
instanceof
TypeElement
))
{
return
false
;
}
if
(
element
.
getEnclosingElement
().
equals
(
returnType
))
{
return
true
;
}
return
isCyclePresent
(
returnType
,
element
.
getEnclosingElement
());
}
private
boolean
isParentTheSame
(
Element
returnType
,
TypeElement
element
)
{
if
(
returnType
==
null
||
element
==
null
)
{
return
false
;
...
...
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