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
692885f7
Commit
692885f7
authored
Apr 21, 2020
by
Stephane Nicoll
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch '2.2.x'
Closes gh-21049
parents
11c1980c
8cbd7f5c
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
65 additions
and
3 deletions
+65
-3
ConfigurationMetadataAnnotationProcessorTests.java
...cessor/ConfigurationMetadataAnnotationProcessorTests.java
+11
-0
DeducedImmutablePropertiesMetadataGenerationTests.java
...or/DeducedImmutablePropertiesMetadataGenerationTests.java
+9
-1
DefaultValue.java
...pringframework/boot/configurationsample/DefaultValue.java
+1
-1
DeducedImmutableClassProperties.java
...tionsample/immutable/DeducedImmutableClassProperties.java
+2
-1
EmptyDefaultValueProperties.java
...igurationsample/specific/EmptyDefaultValueProperties.java
+42
-0
No files found.
spring-boot-project/spring-boot-tools/spring-boot-configuration-processor/src/test/java/org/springframework/boot/configurationprocessor/ConfigurationMetadataAnnotationProcessorTests.java
View file @
692885f7
...
...
@@ -19,6 +19,7 @@ package org.springframework.boot.configurationprocessor;
import
org.junit.jupiter.api.Test
;
import
org.springframework.boot.configurationprocessor.metadata.ConfigurationMetadata
;
import
org.springframework.boot.configurationprocessor.metadata.ItemMetadata
;
import
org.springframework.boot.configurationprocessor.metadata.Metadata
;
import
org.springframework.boot.configurationsample.recursive.RecursiveProperties
;
import
org.springframework.boot.configurationsample.simple.ClassWithNestedProperties
;
...
...
@@ -39,6 +40,7 @@ import org.springframework.boot.configurationsample.specific.BoxingPojo;
import
org.springframework.boot.configurationsample.specific.BuilderPojo
;
import
org.springframework.boot.configurationsample.specific.DeprecatedUnrelatedMethodPojo
;
import
org.springframework.boot.configurationsample.specific.DoubleRegistrationProperties
;
import
org.springframework.boot.configurationsample.specific.EmptyDefaultValueProperties
;
import
org.springframework.boot.configurationsample.specific.ExcludedTypesPojo
;
import
org.springframework.boot.configurationsample.specific.InnerClassAnnotatedGetterConfig
;
import
org.springframework.boot.configurationsample.specific.InnerClassHierarchicalProperties
;
...
...
@@ -362,6 +364,15 @@ class ConfigurationMetadataAnnotationProcessorTests extends AbstractMetadataGene
.
withMessageContaining
(
"Compilation failed"
);
}
@Test
void
constructorParameterPropertyWithEmptyDefaultValueOnProperty
()
{
ConfigurationMetadata
metadata
=
compile
(
EmptyDefaultValueProperties
.
class
);
assertThat
(
metadata
).
has
(
Metadata
.
withProperty
(
"test.name"
));
ItemMetadata
nameMetadata
=
metadata
.
getItems
().
stream
().
filter
((
item
)
->
item
.
getName
().
equals
(
"test.name"
))
.
findFirst
().
get
();
assertThat
(
nameMetadata
.
getDefaultValue
()).
isNull
();
}
@Test
void
recursivePropertiesDoNotCauseAStackOverflow
()
{
compile
(
RecursiveProperties
.
class
);
...
...
spring-boot-project/spring-boot-tools/spring-boot-configuration-processor/src/test/java/org/springframework/boot/configurationprocessor/DeducedImmutablePropertiesMetadataGenerationTests.java
View file @
692885f7
...
...
@@ -19,6 +19,7 @@ package org.springframework.boot.configurationprocessor;
import
org.junit.jupiter.api.Test
;
import
org.springframework.boot.configurationprocessor.metadata.ConfigurationMetadata
;
import
org.springframework.boot.configurationprocessor.metadata.ItemMetadata
;
import
org.springframework.boot.configurationprocessor.metadata.Metadata
;
import
org.springframework.boot.configurationsample.immutable.DeducedImmutableClassProperties
;
...
...
@@ -28,6 +29,7 @@ import static org.assertj.core.api.Assertions.assertThat;
* Metadata generation tests for immutable properties deduced because they're nested.
*
* @author Phillip Webb
* @author Stephane Nicoll
*/
class
DeducedImmutablePropertiesMetadataGenerationTests
extends
AbstractMetadataGenerationTests
{
...
...
@@ -35,7 +37,13 @@ class DeducedImmutablePropertiesMetadataGenerationTests extends AbstractMetadata
void
immutableSimpleProperties
()
{
ConfigurationMetadata
metadata
=
compile
(
DeducedImmutableClassProperties
.
class
);
assertThat
(
metadata
).
has
(
Metadata
.
withGroup
(
"test"
).
fromSource
(
DeducedImmutableClassProperties
.
class
));
assertThat
(
metadata
).
has
(
Metadata
.
withProperty
(
"test.nested.name"
,
String
.
class
));
assertThat
(
metadata
).
has
(
Metadata
.
withGroup
(
"test.nested"
,
DeducedImmutableClassProperties
.
Nested
.
class
)
.
fromSource
(
DeducedImmutableClassProperties
.
class
));
assertThat
(
metadata
).
has
(
Metadata
.
withProperty
(
"test.nested.name"
,
String
.
class
)
.
fromSource
(
DeducedImmutableClassProperties
.
Nested
.
class
));
ItemMetadata
nestedMetadata
=
metadata
.
getItems
().
stream
()
.
filter
((
item
)
->
item
.
getName
().
equals
(
"test.nested"
)).
findFirst
().
get
();
assertThat
(
nestedMetadata
.
getDefaultValue
()).
isNull
();
}
}
spring-boot-project/spring-boot-tools/spring-boot-configuration-processor/src/test/java/org/springframework/boot/configurationsample/DefaultValue.java
View file @
692885f7
...
...
@@ -33,6 +33,6 @@ import java.lang.annotation.Target;
@Documented
public
@interface
DefaultValue
{
String
[]
value
();
String
[]
value
()
default
{}
;
}
spring-boot-project/spring-boot-tools/spring-boot-configuration-processor/src/test/java/org/springframework/boot/configurationsample/immutable/DeducedImmutableClassProperties.java
View file @
692885f7
...
...
@@ -18,6 +18,7 @@ package org.springframework.boot.configurationsample.immutable;
import
org.springframework.boot.configurationsample.ConfigurationProperties
;
import
org.springframework.boot.configurationsample.ConstructorBinding
;
import
org.springframework.boot.configurationsample.DefaultValue
;
/**
* Inner properties, in immutable format.
...
...
@@ -30,7 +31,7 @@ public class DeducedImmutableClassProperties {
private
final
Nested
nested
;
public
DeducedImmutableClassProperties
(
Nested
nested
)
{
public
DeducedImmutableClassProperties
(
@DefaultValue
Nested
nested
)
{
this
.
nested
=
nested
;
}
...
...
spring-boot-project/spring-boot-tools/spring-boot-configuration-processor/src/test/java/org/springframework/boot/configurationsample/specific/EmptyDefaultValueProperties.java
0 → 100644
View file @
692885f7
/*
* Copyright 2012-2020 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
org
.
springframework
.
boot
.
configurationsample
.
specific
;
import
org.springframework.boot.configurationsample.ConfigurationProperties
;
import
org.springframework.boot.configurationsample.ConstructorBinding
;
import
org.springframework.boot.configurationsample.DefaultValue
;
/**
* Demonstrates that an empty default value on a property leads to no default value.
*
* @author Stephane Nicoll
*/
@ConfigurationProperties
(
"test"
)
public
class
EmptyDefaultValueProperties
{
private
final
String
name
;
@ConstructorBinding
public
EmptyDefaultValueProperties
(
@DefaultValue
String
name
)
{
this
.
name
=
name
;
}
public
String
getName
()
{
return
this
.
name
;
}
}
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