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
69bc19e0
Commit
69bc19e0
authored
Mar 24, 2018
by
igor-suhorukov
Committed by
Phillip Webb
Apr 05, 2018
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Use lambdas for map entry iteration where possible
See gh-12626
parent
78a94caf
Changes
31
Hide whitespace changes
Inline
Side-by-side
Showing
31 changed files
with
125 additions
and
232 deletions
+125
-232
ConditionsReportEndpoint.java
...ate/autoconfigure/condition/ConditionsReportEndpoint.java
+5
-6
CompositeHealthIndicatorConfiguration.java
...nfigure/health/CompositeHealthIndicatorConfiguration.java
+1
-4
CompositeReactiveHealthIndicatorConfiguration.java
...health/CompositeReactiveHealthIndicatorConfiguration.java
+1
-4
DataSourceHealthIndicatorAutoConfiguration.java
...gure/jdbc/DataSourceHealthIndicatorAutoConfiguration.java
+4
-4
EnvironmentEndpoint.java
...springframework/boot/actuate/env/EnvironmentEndpoint.java
+4
-7
AutoConfigurationSorter.java
...framework/boot/autoconfigure/AutoConfigurationSorter.java
+4
-5
ImportAutoConfigurationImportSelector.java
.../autoconfigure/ImportAutoConfigurationImportSelector.java
+3
-3
CacheConfigurations.java
...amework/boot/autoconfigure/cache/CacheConfigurations.java
+4
-7
AbstractNestedCondition.java
...boot/autoconfigure/condition/AbstractNestedCondition.java
+2
-7
BeanTypeRegistry.java
...mework/boot/autoconfigure/condition/BeanTypeRegistry.java
+7
-15
ConditionEvaluationReport.java
...ot/autoconfigure/condition/ConditionEvaluationReport.java
+14
-17
OnBeanCondition.java
...amework/boot/autoconfigure/condition/OnBeanCondition.java
+4
-4
OnPropertyCondition.java
...ork/boot/autoconfigure/condition/OnPropertyCondition.java
+4
-5
NoSuchBeanDefinitionFailureAnalyzer.java
...nostics/analyzer/NoSuchBeanDefinitionFailureAnalyzer.java
+3
-6
JerseyAutoConfiguration.java
...rk/boot/autoconfigure/jersey/JerseyAutoConfiguration.java
+1
-4
SessionStoreMappings.java
...work/boot/autoconfigure/session/SessionStoreMappings.java
+7
-12
WebMvcAutoConfiguration.java
...ot/autoconfigure/web/servlet/WebMvcAutoConfiguration.java
+1
-4
WebServicesAutoConfiguration.java
...toconfigure/webservices/WebServicesAutoConfiguration.java
+1
-4
ProjectGenerationRequest.java
...ework/boot/cli/command/init/ProjectGenerationRequest.java
+1
-9
AnnotatedNodeASTTransformation.java
...ork/boot/cli/compiler/AnnotatedNodeASTTransformation.java
+2
-9
DevToolsSettings.java
...ingframework/boot/devtools/settings/DevToolsSettings.java
+4
-4
AutoConfigureAnnotationProcessor.java
...oconfigureprocessor/AutoConfigureAnnotationProcessor.java
+12
-17
SimpleConfigurationMetadataRepository.java
...rationmetadata/SimpleConfigurationMetadataRepository.java
+2
-10
ConfigurationMetadataAnnotationProcessor.java
...onprocessor/ConfigurationMetadataAnnotationProcessor.java
+11
-25
TypeElementMembers.java
...ework/boot/configurationprocessor/TypeElementMembers.java
+4
-6
TypeUtils.java
...pringframework/boot/configurationprocessor/TypeUtils.java
+1
-3
BuildInfo.java
...pringframework/boot/gradle/tasks/buildinfo/BuildInfo.java
+1
-4
BuildPropertiesWriter.java
...ingframework/boot/loader/tools/BuildPropertiesWriter.java
+5
-9
PropertiesMergingResourceTransformer.java
...work/boot/maven/PropertiesMergingResourceTransformer.java
+4
-5
Verify.java
.../src/test/java/org/springframework/boot/maven/Verify.java
+4
-7
LoggingSystem.java
.../java/org/springframework/boot/logging/LoggingSystem.java
+4
-6
No files found.
spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/condition/ConditionsReportEndpoint.java
View file @
69bc19e0
...
...
@@ -123,15 +123,14 @@ public class ConditionsReportEndpoint {
this
.
negativeMatches
=
new
LinkedHashMap
<>();
this
.
exclusions
=
report
.
getExclusions
();
this
.
unconditionalClasses
=
report
.
getUnconditionalClasses
();
for
(
Map
.
Entry
<
String
,
ConditionAndOutcomes
>
entry
:
report
.
getConditionAndOutcomesBySource
().
entrySet
())
{
if
(
entry
.
getValue
().
isFullMatch
())
{
add
(
this
.
positiveMatches
,
entry
.
getKey
(),
entry
.
getValue
());
report
.
getConditionAndOutcomesBySource
().
forEach
((
key
,
value
)
->
{
if
(
value
.
isFullMatch
())
{
add
(
this
.
positiveMatches
,
key
,
value
);
}
else
{
add
(
this
.
negativeMatches
,
entry
.
getKey
(),
entry
.
getValue
()
);
add
(
this
.
negativeMatches
,
key
,
value
);
}
}
}
);
this
.
parentId
=
context
.
getParent
()
==
null
?
null
:
context
.
getParent
().
getId
();
}
...
...
spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/health/CompositeHealthIndicatorConfiguration.java
View file @
69bc19e0
...
...
@@ -44,10 +44,7 @@ public abstract class CompositeHealthIndicatorConfiguration<H extends HealthIndi
}
CompositeHealthIndicator
composite
=
new
CompositeHealthIndicator
(
this
.
healthAggregator
);
for
(
Map
.
Entry
<
String
,
S
>
entry
:
beans
.
entrySet
())
{
composite
.
addHealthIndicator
(
entry
.
getKey
(),
createHealthIndicator
(
entry
.
getValue
()));
}
beans
.
forEach
((
key
,
value
)
->
composite
.
addHealthIndicator
(
key
,
createHealthIndicator
(
value
)));
return
composite
;
}
...
...
spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/health/CompositeReactiveHealthIndicatorConfiguration.java
View file @
69bc19e0
...
...
@@ -43,10 +43,7 @@ public abstract class CompositeReactiveHealthIndicatorConfiguration<H extends Re
}
CompositeReactiveHealthIndicator
composite
=
new
CompositeReactiveHealthIndicator
(
this
.
healthAggregator
);
for
(
Map
.
Entry
<
String
,
S
>
entry
:
beans
.
entrySet
())
{
composite
.
addHealthIndicator
(
entry
.
getKey
(),
createHealthIndicator
(
entry
.
getValue
()));
}
beans
.
forEach
((
key
,
value
)
->
composite
.
addHealthIndicator
(
key
,
createHealthIndicator
(
value
)));
return
composite
;
}
...
...
spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/jdbc/DataSourceHealthIndicatorAutoConfiguration.java
View file @
69bc19e0
...
...
@@ -84,11 +84,11 @@ public class DataSourceHealthIndicatorAutoConfiguration extends
return
null
;
}
Map
<
String
,
DataSource
>
dataSources
=
new
LinkedHashMap
<>();
for
(
Map
.
Entry
<
String
,
DataSource
>
entry
:
candidates
.
entrySet
())
{
if
(!(
entry
.
getValue
()
instanceof
AbstractRoutingDataSource
))
{
dataSources
.
put
(
entry
.
getKey
(),
entry
.
getValue
()
);
candidates
.
forEach
((
key
,
value
)
->
{
if
(!(
value
instanceof
AbstractRoutingDataSource
))
{
dataSources
.
put
(
key
,
value
);
}
}
}
);
return
dataSources
;
}
...
...
spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/env/EnvironmentEndpoint.java
View file @
69bc19e0
...
...
@@ -120,13 +120,10 @@ public class EnvironmentEndpoint {
private
PropertySummaryDescriptor
getPropertySummaryDescriptor
(
Map
<
String
,
PropertyValueDescriptor
>
descriptors
)
{
for
(
Map
.
Entry
<
String
,
PropertyValueDescriptor
>
entry
:
descriptors
.
entrySet
())
{
if
(
entry
.
getValue
()
!=
null
)
{
return
new
PropertySummaryDescriptor
(
entry
.
getKey
(),
entry
.
getValue
().
getValue
());
}
}
return
null
;
return
descriptors
.
entrySet
().
stream
().
filter
((
entry
)
->
entry
.
getValue
()
!=
null
).
map
((
entry
)
->
new
PropertySummaryDescriptor
(
entry
.
getKey
(),
entry
.
getValue
().
getValue
())).
findFirst
().
orElse
(
null
);
}
private
Map
<
String
,
PropertyValueDescriptor
>
getPropertySourceDescriptors
(
...
...
spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/AutoConfigurationSorter.java
View file @
69bc19e0
...
...
@@ -142,12 +142,11 @@ class AutoConfigurationSorter {
public
Set
<
String
>
getClassesRequestedAfter
(
String
className
)
{
Set
<
String
>
rtn
=
new
LinkedHashSet
<>();
rtn
.
addAll
(
get
(
className
).
getAfter
());
for
(
Map
.
Entry
<
String
,
AutoConfigurationClass
>
entry
:
this
.
classes
.
entrySet
())
{
if
(
entry
.
getValue
().
getBefore
().
contains
(
className
))
{
rtn
.
add
(
entry
.
getKey
());
this
.
classes
.
forEach
((
key
,
value
)
->
{
if
(
value
.
getBefore
().
contains
(
className
))
{
rtn
.
add
(
key
);
}
}
}
);
return
rtn
;
}
...
...
spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/ImportAutoConfigurationImportSelector.java
View file @
69bc19e0
...
...
@@ -74,9 +74,9 @@ class ImportAutoConfigurationImportSelector extends AutoConfigurationImportSelec
AnnotationAttributes
attributes
)
{
List
<
String
>
candidates
=
new
ArrayList
<>();
Map
<
Class
<?>,
List
<
Annotation
>>
annotations
=
getAnnotations
(
metadata
);
for
(
Map
.
Entry
<
Class
<?>,
List
<
Annotation
>>
entry
:
annotations
.
entrySet
())
{
collectCandidateConfigurations
(
entry
.
getKey
(),
entry
.
getValue
()
,
candidates
);
}
annotations
.
forEach
((
key
,
value
)
->
{
collectCandidateConfigurations
(
key
,
value
,
candidates
);
}
);
return
candidates
;
}
...
...
spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/cache/CacheConfigurations.java
View file @
69bc19e0
...
...
@@ -57,13 +57,10 @@ final class CacheConfigurations {
}
public
static
CacheType
getType
(
String
configurationClassName
)
{
for
(
Map
.
Entry
<
CacheType
,
Class
<?>>
entry
:
MAPPINGS
.
entrySet
())
{
if
(
entry
.
getValue
().
getName
().
equals
(
configurationClassName
))
{
return
entry
.
getKey
();
}
}
throw
new
IllegalStateException
(
"Unknown configuration class "
+
configurationClassName
);
return
MAPPINGS
.
entrySet
().
stream
().
filter
((
entry
)
->
entry
.
getValue
().
getName
().
equals
(
configurationClassName
)).
map
(
Map
.
Entry
::
getKey
).
findFirst
().
orElseThrow
(()
->
new
IllegalStateException
(
"Unknown configuration class "
+
configurationClassName
));
}
}
spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/condition/AbstractNestedCondition.java
View file @
69bc19e0
...
...
@@ -159,13 +159,8 @@ public abstract class AbstractNestedCondition extends SpringBootCondition
public
List
<
ConditionOutcome
>
getMatchOutcomes
()
{
List
<
ConditionOutcome
>
outcomes
=
new
ArrayList
<>();
for
(
Map
.
Entry
<
AnnotationMetadata
,
List
<
Condition
>>
entry
:
this
.
memberConditions
.
entrySet
())
{
AnnotationMetadata
metadata
=
entry
.
getKey
();
List
<
Condition
>
conditions
=
entry
.
getValue
();
outcomes
.
add
(
new
MemberOutcomes
(
this
.
context
,
metadata
,
conditions
)
.
getUltimateOutcome
());
}
this
.
memberConditions
.
forEach
((
metadata
,
conditions
)
->
outcomes
.
add
(
new
MemberOutcomes
(
this
.
context
,
metadata
,
conditions
).
getUltimateOutcome
()));
return
Collections
.
unmodifiableList
(
outcomes
);
}
...
...
spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/condition/BeanTypeRegistry.java
View file @
69bc19e0
...
...
@@ -24,6 +24,7 @@ import java.util.Iterator;
import
java.util.LinkedHashSet
;
import
java.util.Map
;
import
java.util.Set
;
import
java.util.stream.Collectors
;
import
org.apache.commons.logging.Log
;
import
org.apache.commons.logging.LogFactory
;
...
...
@@ -112,13 +113,9 @@ final class BeanTypeRegistry implements SmartInitializingSingleton {
*/
Set
<
String
>
getNamesForType
(
Class
<?>
type
)
{
updateTypesIfNecessary
();
Set
<
String
>
matches
=
new
LinkedHashSet
<>();
for
(
Map
.
Entry
<
String
,
Class
<?>>
entry
:
this
.
beanTypes
.
entrySet
())
{
if
(
entry
.
getValue
()
!=
null
&&
type
.
isAssignableFrom
(
entry
.
getValue
()))
{
matches
.
add
(
entry
.
getKey
());
}
}
return
matches
;
return
this
.
beanTypes
.
entrySet
().
stream
().
filter
((
entry
)
->
entry
.
getValue
()
!=
null
&&
type
.
isAssignableFrom
(
entry
.
getValue
())).
map
(
Map
.
Entry
::
getKey
).
collect
(
Collectors
.
toCollection
(
LinkedHashSet:
:
new
));
}
/**
...
...
@@ -132,14 +129,9 @@ final class BeanTypeRegistry implements SmartInitializingSingleton {
*/
Set
<
String
>
getNamesForAnnotation
(
Class
<?
extends
Annotation
>
annotation
)
{
updateTypesIfNecessary
();
Set
<
String
>
matches
=
new
LinkedHashSet
<>();
for
(
Map
.
Entry
<
String
,
Class
<?>>
entry
:
this
.
beanTypes
.
entrySet
())
{
if
(
entry
.
getValue
()
!=
null
&&
AnnotationUtils
.
findAnnotation
(
entry
.
getValue
(),
annotation
)
!=
null
)
{
matches
.
add
(
entry
.
getKey
());
}
}
return
matches
;
return
this
.
beanTypes
.
entrySet
().
stream
().
filter
((
entry
)
->
entry
.
getValue
()
!=
null
&&
AnnotationUtils
.
findAnnotation
(
entry
.
getValue
(),
annotation
)
!=
null
).
map
(
Map
.
Entry
::
getKey
).
collect
(
Collectors
.
toCollection
(
LinkedHashSet:
:
new
));
}
@Override
...
...
spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/condition/ConditionEvaluationReport.java
View file @
69bc19e0
...
...
@@ -24,7 +24,6 @@ import java.util.Iterator;
import
java.util.LinkedHashSet
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map.Entry
;
import
java.util.Set
;
import
java.util.SortedMap
;
import
java.util.TreeMap
;
...
...
@@ -112,12 +111,11 @@ public final class ConditionEvaluationReport {
*/
public
Map
<
String
,
ConditionAndOutcomes
>
getConditionAndOutcomesBySource
()
{
if
(!
this
.
addedAncestorOutcomes
)
{
for
(
Map
.
Entry
<
String
,
ConditionAndOutcomes
>
entry
:
this
.
outcomes
.
entrySet
())
{
if
(!
entry
.
getValue
().
isFullMatch
())
{
addNoMatchOutcomeToAncestors
(
entry
.
getKey
());
this
.
outcomes
.
forEach
((
key
,
value
)
->
{
if
(!
value
.
isFullMatch
())
{
addNoMatchOutcomeToAncestors
(
key
);
}
}
}
);
this
.
addedAncestorOutcomes
=
true
;
}
return
Collections
.
unmodifiableMap
(
this
.
outcomes
);
...
...
@@ -125,13 +123,13 @@ public final class ConditionEvaluationReport {
private
void
addNoMatchOutcomeToAncestors
(
String
source
)
{
String
prefix
=
source
+
"$"
;
for
(
Entry
<
String
,
ConditionAndOutcomes
>
entry
:
this
.
outcomes
.
entrySet
())
{
if
(
entry
.
getKey
()
.
startsWith
(
prefix
))
{
this
.
outcomes
.
forEach
((
key
,
value
)
->
{
if
(
key
.
startsWith
(
prefix
))
{
ConditionOutcome
outcome
=
ConditionOutcome
.
noMatch
(
ConditionMessage
.
forCondition
(
"Ancestor "
+
source
).
because
(
"did not match"
));
entry
.
getValue
()
.
add
(
ANCESTOR_CONDITION
,
outcome
);
value
.
add
(
ANCESTOR_CONDITION
,
outcome
);
}
}
}
);
}
/**
...
...
@@ -190,16 +188,15 @@ public final class ConditionEvaluationReport {
public
ConditionEvaluationReport
getDelta
(
ConditionEvaluationReport
previousReport
)
{
ConditionEvaluationReport
delta
=
new
ConditionEvaluationReport
();
for
(
Entry
<
String
,
ConditionAndOutcomes
>
entry
:
this
.
outcomes
.
entrySet
())
{
ConditionAndOutcomes
previous
=
previousReport
.
outcomes
.
get
(
entry
.
getKey
()
);
this
.
outcomes
.
forEach
((
key
,
value
)
->
{
ConditionAndOutcomes
previous
=
previousReport
.
outcomes
.
get
(
key
);
if
(
previous
==
null
||
previous
.
isFullMatch
()
!=
entry
.
getValue
().
isFullMatch
())
{
entry
.
getValue
()
.
forEach
((
conditionAndOutcome
)
->
delta
.
recordConditionEvaluation
(
entry
.
getKey
(),
conditionAndOutcome
.
getCondition
(),
||
previous
.
isFullMatch
()
!=
value
.
isFullMatch
())
{
value
.
forEach
((
conditionAndOutcome
)
->
delta
.
recordConditionEvaluation
(
key
,
conditionAndOutcome
.
getCondition
(),
conditionAndOutcome
.
getOutcome
()));
}
}
}
);
List
<
String
>
newExclusions
=
new
ArrayList
<>(
this
.
exclusions
);
newExclusions
.
removeAll
(
previousReport
.
getExclusions
());
delta
.
recordExclusions
(
newExclusions
);
...
...
spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/condition/OnBeanCondition.java
View file @
69bc19e0
...
...
@@ -166,18 +166,18 @@ class OnBeanCondition extends SpringBootCondition implements ConfigurationCondit
private
void
appendMessageForMatches
(
StringBuilder
reason
,
Map
<
String
,
Collection
<
String
>>
matches
,
String
description
)
{
if
(!
matches
.
isEmpty
())
{
for
(
Map
.
Entry
<
String
,
Collection
<
String
>>
match
:
matches
.
entrySet
())
{
matches
.
forEach
((
key
,
value
)
->
{
if
(
reason
.
length
()
>
0
)
{
reason
.
append
(
" and "
);
}
reason
.
append
(
"found beans "
);
reason
.
append
(
description
);
reason
.
append
(
" '"
);
reason
.
append
(
match
.
getKey
()
);
reason
.
append
(
key
);
reason
.
append
(
"' "
);
reason
.
append
(
StringUtils
.
collectionToDelimitedString
(
match
.
getValue
()
,
", "
));
}
StringUtils
.
collectionToDelimitedString
(
value
,
", "
));
}
);
}
}
...
...
spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/condition/OnPropertyCondition.java
View file @
69bc19e0
...
...
@@ -20,7 +20,6 @@ import java.util.ArrayList;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map.Entry
;
import
org.springframework.boot.autoconfigure.condition.ConditionMessage.Style
;
import
org.springframework.context.annotation.Condition
;
...
...
@@ -69,8 +68,8 @@ class OnPropertyCondition extends SpringBootCondition {
private
List
<
AnnotationAttributes
>
annotationAttributesFromMultiValueMap
(
MultiValueMap
<
String
,
Object
>
multiValueMap
)
{
List
<
Map
<
String
,
Object
>>
maps
=
new
ArrayList
<>();
for
(
Entry
<
String
,
List
<
Object
>>
entry
:
multiValueMap
.
entrySet
())
{
for
(
int
i
=
0
;
i
<
entry
.
getValue
()
.
size
();
i
++)
{
multiValueMap
.
forEach
((
key
,
value
)
->
{
for
(
int
i
=
0
;
i
<
value
.
size
();
i
++)
{
Map
<
String
,
Object
>
map
;
if
(
i
<
maps
.
size
())
{
map
=
maps
.
get
(
i
);
...
...
@@ -79,9 +78,9 @@ class OnPropertyCondition extends SpringBootCondition {
map
=
new
HashMap
<>();
maps
.
add
(
map
);
}
map
.
put
(
entry
.
getKey
(),
entry
.
getValue
()
.
get
(
i
));
map
.
put
(
key
,
value
.
get
(
i
));
}
}
}
);
List
<
AnnotationAttributes
>
annotationAttributes
=
new
ArrayList
<>(
maps
.
size
());
for
(
Map
<
String
,
Object
>
map
:
maps
)
{
annotationAttributes
.
add
(
AnnotationAttributes
.
fromMap
(
map
));
...
...
spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/diagnostics/analyzer/NoSuchBeanDefinitionFailureAnalyzer.java
View file @
69bc19e0
...
...
@@ -30,7 +30,6 @@ import org.springframework.beans.factory.NoSuchBeanDefinitionException;
import
org.springframework.beans.factory.config.ConfigurableListableBeanFactory
;
import
org.springframework.boot.autoconfigure.condition.ConditionEvaluationReport
;
import
org.springframework.boot.autoconfigure.condition.ConditionEvaluationReport.ConditionAndOutcome
;
import
org.springframework.boot.autoconfigure.condition.ConditionEvaluationReport.ConditionAndOutcomes
;
import
org.springframework.boot.autoconfigure.condition.ConditionOutcome
;
import
org.springframework.boot.diagnostics.FailureAnalysis
;
import
org.springframework.boot.diagnostics.analyzer.AbstractInjectionFailureAnalyzer
;
...
...
@@ -124,10 +123,8 @@ class NoSuchBeanDefinitionFailureAnalyzer
private
void
collectReportedConditionOutcomes
(
NoSuchBeanDefinitionException
cause
,
List
<
AutoConfigurationResult
>
results
)
{
for
(
Map
.
Entry
<
String
,
ConditionAndOutcomes
>
entry
:
this
.
report
.
getConditionAndOutcomesBySource
().
entrySet
())
{
Source
source
=
new
Source
(
entry
.
getKey
());
ConditionAndOutcomes
conditionAndOutcomes
=
entry
.
getValue
();
this
.
report
.
getConditionAndOutcomesBySource
().
forEach
((
key
,
conditionAndOutcomes
)
->
{
Source
source
=
new
Source
(
key
);
if
(!
conditionAndOutcomes
.
isFullMatch
())
{
BeanMethods
methods
=
new
BeanMethods
(
source
,
cause
);
for
(
ConditionAndOutcome
conditionAndOutcome
:
conditionAndOutcomes
)
{
...
...
@@ -139,7 +136,7 @@ class NoSuchBeanDefinitionFailureAnalyzer
}
}
}
}
}
);
}
private
void
collectExcludedAutoConfiguration
(
NoSuchBeanDefinitionException
cause
,
...
...
spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jersey/JerseyAutoConfiguration.java
View file @
69bc19e0
...
...
@@ -19,7 +19,6 @@ package org.springframework.boot.autoconfigure.jersey;
import
java.util.Arrays
;
import
java.util.EnumSet
;
import
java.util.List
;
import
java.util.Map.Entry
;
import
javax.annotation.PostConstruct
;
import
javax.servlet.DispatcherType
;
...
...
@@ -181,9 +180,7 @@ public class JerseyAutoConfiguration implements ServletContextAware {
}
private
void
addInitParameters
(
DynamicRegistrationBean
<?>
registration
)
{
for
(
Entry
<
String
,
String
>
entry
:
this
.
jersey
.
getInit
().
entrySet
())
{
registration
.
addInitParameter
(
entry
.
getKey
(),
entry
.
getValue
());
}
this
.
jersey
.
getInit
().
forEach
(
registration:
:
addInitParameter
);
}
private
static
String
findApplicationPath
(
ApplicationPath
annotation
)
{
...
...
spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/session/SessionStoreMappings.java
View file @
69bc19e0
...
...
@@ -19,6 +19,7 @@ package org.springframework.boot.autoconfigure.session;
import
java.util.Collections
;
import
java.util.EnumMap
;
import
java.util.Map
;
import
java.util.Objects
;
import
org.springframework.boot.WebApplicationType
;
import
org.springframework.util.Assert
;
...
...
@@ -82,18 +83,12 @@ final class SessionStoreMappings {
static
StoreType
getType
(
WebApplicationType
webApplicationType
,
String
configurationClassName
)
{
for
(
Map
.
Entry
<
StoreType
,
Map
<
WebApplicationType
,
Class
<?>>>
storeEntry
:
MAPPINGS
.
entrySet
())
{
for
(
Map
.
Entry
<
WebApplicationType
,
Class
<?>>
entry
:
storeEntry
.
getValue
()
.
entrySet
())
{
if
(
entry
.
getKey
()
==
webApplicationType
&&
entry
.
getValue
().
getName
().
equals
(
configurationClassName
))
{
return
storeEntry
.
getKey
();
}
}
}
throw
new
IllegalStateException
(
"Unknown configuration class "
+
configurationClassName
);
return
MAPPINGS
.
entrySet
().
stream
().
map
(
entry
->
entry
.
getValue
().
entrySet
().
stream
().
filter
(
webAppEntry
->
webAppEntry
.
getKey
()
==
webApplicationType
&&
webAppEntry
.
getValue
().
getName
().
equals
(
configurationClassName
)).
map
(
webAppEntry
->
entry
.
getKey
()).
findFirst
().
orElse
(
null
)).
filter
(
Objects:
:
nonNull
).
findFirst
().
orElseThrow
(()
->
new
IllegalStateException
(
"Unknown configuration class "
+
configurationClassName
));
}
}
spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/servlet/WebMvcAutoConfiguration.java
View file @
69bc19e0
...
...
@@ -24,7 +24,6 @@ import java.util.Collections;
import
java.util.List
;
import
java.util.ListIterator
;
import
java.util.Map
;
import
java.util.Map.Entry
;
import
java.util.Optional
;
import
javax.servlet.Servlet
;
...
...
@@ -236,9 +235,7 @@ public class WebMvcAutoConfiguration {
}
Map
<
String
,
MediaType
>
mediaTypes
=
this
.
mvcProperties
.
getContentnegotiation
()
.
getMediaTypes
();
for
(
Entry
<
String
,
MediaType
>
mediaType
:
mediaTypes
.
entrySet
())
{
configurer
.
mediaType
(
mediaType
.
getKey
(),
mediaType
.
getValue
());
}
mediaTypes
.
forEach
(
configurer:
:
mediaType
);
}
@Bean
...
...
spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/webservices/WebServicesAutoConfiguration.java
View file @
69bc19e0
...
...
@@ -19,7 +19,6 @@ package org.springframework.boot.autoconfigure.webservices;
import
java.io.IOException
;
import
java.util.Collections
;
import
java.util.List
;
import
java.util.Map
;
import
org.springframework.beans.BeansException
;
import
org.springframework.beans.factory.config.ConfigurableListableBeanFactory
;
...
...
@@ -83,9 +82,7 @@ public class WebServicesAutoConfiguration {
servlet
,
urlMapping
);
WebServicesProperties
.
Servlet
servletProperties
=
this
.
properties
.
getServlet
();
registration
.
setLoadOnStartup
(
servletProperties
.
getLoadOnStartup
());
for
(
Map
.
Entry
<
String
,
String
>
entry
:
servletProperties
.
getInit
().
entrySet
())
{
registration
.
addInitParameter
(
entry
.
getKey
(),
entry
.
getValue
());
}
servletProperties
.
getInit
().
forEach
(
registration:
:
addInitParameter
);
return
registration
;
}
...
...
spring-boot-project/spring-boot-cli/src/main/java/org/springframework/boot/cli/command/init/ProjectGenerationRequest.java
View file @
69bc19e0
...
...
@@ -20,7 +20,6 @@ import java.net.URI;
import
java.net.URISyntaxException
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.Iterator
;
import
java.util.List
;
import
java.util.Map
;
...
...
@@ -423,14 +422,7 @@ class ProjectGenerationRequest {
private
static
void
filter
(
Map
<
String
,
ProjectType
>
projects
,
String
tag
,
String
tagValue
)
{
for
(
Iterator
<
Map
.
Entry
<
String
,
ProjectType
>>
it
=
projects
.
entrySet
()
.
iterator
();
it
.
hasNext
();)
{
Map
.
Entry
<
String
,
ProjectType
>
entry
=
it
.
next
();
String
value
=
entry
.
getValue
().
getTags
().
get
(
tag
);
if
(!
tagValue
.
equals
(
value
))
{
it
.
remove
();
}
}
projects
.
entrySet
().
removeIf
((
entry
)
->
!
tagValue
.
equals
(
entry
.
getValue
().
getTags
().
get
(
tag
)));
}
}
spring-boot-project/spring-boot-cli/src/main/java/org/springframework/boot/cli/compiler/AnnotatedNodeASTTransformation.java
View file @
69bc19e0
...
...
@@ -19,7 +19,6 @@ package org.springframework.boot.cli.compiler;
import
java.util.ArrayList
;
import
java.util.Iterator
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Set
;
import
org.codehaus.groovy.ast.ASTNode
;
...
...
@@ -68,14 +67,8 @@ public abstract class AnnotatedNodeASTTransformation implements ASTTransformatio
for
(
ImportNode
importNode
:
module
.
getStarImports
())
{
visitAnnotatedNode
(
importNode
,
annotationNodes
);
}
for
(
Map
.
Entry
<
String
,
ImportNode
>
entry
:
module
.
getStaticImports
()
.
entrySet
())
{
visitAnnotatedNode
(
entry
.
getValue
(),
annotationNodes
);
}
for
(
Map
.
Entry
<
String
,
ImportNode
>
entry
:
module
.
getStaticStarImports
()
.
entrySet
())
{
visitAnnotatedNode
(
entry
.
getValue
(),
annotationNodes
);
}
module
.
getStaticImports
().
forEach
((
key
,
value
)
->
visitAnnotatedNode
(
value
,
annotationNodes
));
module
.
getStaticStarImports
().
forEach
((
key
,
value
)
->
visitAnnotatedNode
(
value
,
annotationNodes
));
for
(
ClassNode
classNode
:
module
.
getClasses
())
{
visitAnnotatedNode
(
classNode
,
annotationNodes
);
classNode
.
visitContents
(
classVisitor
);
...
...
spring-boot-project/spring-boot-devtools/src/main/java/org/springframework/boot/devtools/settings/DevToolsSettings.java
View file @
69bc19e0
...
...
@@ -63,13 +63,13 @@ public class DevToolsSettings {
private
Map
<
String
,
Pattern
>
getPatterns
(
Map
<?,
?>
properties
,
String
prefix
)
{
Map
<
String
,
Pattern
>
patterns
=
new
LinkedHashMap
<>();
for
(
Map
.
Entry
<?,
?>
entry
:
properties
.
entrySet
())
{
String
name
=
String
.
valueOf
(
entry
.
getKey
()
);
properties
.
forEach
((
key
,
value
)
->
{
String
name
=
String
.
valueOf
(
key
);
if
(
name
.
startsWith
(
prefix
))
{
Pattern
pattern
=
Pattern
.
compile
((
String
)
entry
.
getValue
()
);
Pattern
pattern
=
Pattern
.
compile
((
String
)
value
);
patterns
.
put
(
name
,
pattern
);
}
}
}
);
return
patterns
;
}
...
...
spring-boot-project/spring-boot-tools/spring-boot-autoconfigure-processor/src/main/java/org/springframework/boot/autoconfigureprocessor/AutoConfigureAnnotationProcessor.java
View file @
69bc19e0
...
...
@@ -18,13 +18,13 @@ package org.springframework.boot.autoconfigureprocessor;
import
java.io.IOException
;
import
java.io.OutputStream
;
import
java.util.ArrayList
;
import
java.util.Collections
;
import
java.util.LinkedHashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Properties
;
import
java.util.Set
;
import
java.util.stream.Collectors
;
import
javax.annotation.processing.AbstractProcessor
;
import
javax.annotation.processing.RoundEnvironment
;
...
...
@@ -34,7 +34,6 @@ import javax.lang.model.element.AnnotationMirror;
import
javax.lang.model.element.AnnotationValue
;
import
javax.lang.model.element.Element
;
import
javax.lang.model.element.ElementKind
;
import
javax.lang.model.element.ExecutableElement
;
import
javax.lang.model.element.TypeElement
;
import
javax.lang.model.type.DeclaredType
;
import
javax.lang.model.type.TypeMirror
;
...
...
@@ -158,23 +157,19 @@ public class AutoConfigureAnnotationProcessor extends AbstractProcessor {
@SuppressWarnings
(
"unchecked"
)
private
List
<
Object
>
getValues
(
AnnotationMirror
annotation
)
{
List
<
Object
>
result
=
new
ArrayList
<>();
for
(
Map
.
Entry
<?
extends
ExecutableElement
,
?
extends
AnnotationValue
>
entry
:
annotation
.
getElementValues
().
entrySet
())
{
return
annotation
.
getElementValues
().
entrySet
().
stream
().
filter
(
entry
->
{
String
attributeName
=
entry
.
getKey
().
getSimpleName
().
toString
();
if
(
"name"
.
equals
(
attributeName
)
||
"value"
.
equals
(
attributeName
))
{
Object
value
=
entry
.
getValue
().
getValue
();
if
(
value
instanceof
List
)
{
for
(
AnnotationValue
annotationValue
:
(
List
<
AnnotationValue
>)
value
)
{
result
.
add
(
processValue
(
annotationValue
.
getValue
()));
}
}
else
{
result
.
add
(
processValue
(
value
));
}
return
"name"
.
equals
(
attributeName
)
||
"value"
.
equals
(
attributeName
);
}).
map
((
entry
)
->
{
Object
value
=
entry
.
getValue
().
getValue
();
if
(
value
instanceof
List
)
{
return
((
List
<
AnnotationValue
>)
value
).
stream
().
map
(
annotationValue
->
processValue
(
annotationValue
.
getValue
())).
collect
(
Collectors
.
toList
());
}
}
return
result
;
else
{
return
Collections
.
singletonList
(
processValue
(
value
));
}
}).
flatMap
(
List:
:
stream
).
collect
(
Collectors
.
toList
());
}
private
Object
processValue
(
Object
value
)
{
...
...
spring-boot-project/spring-boot-tools/spring-boot-configuration-metadata/src/main/java/org/springframework/boot/configurationmetadata/SimpleConfigurationMetadataRepository.java
View file @
69bc19e0
...
...
@@ -93,17 +93,9 @@ public class SimpleConfigurationMetadataRepository
}
else
{
// Merge properties
for
(
Map
.
Entry
<
String
,
ConfigurationMetadataProperty
>
entry
:
group
.
getProperties
().
entrySet
())
{
putIfAbsent
(
existingGroup
.
getProperties
(),
entry
.
getKey
(),
entry
.
getValue
());
}
group
.
getProperties
().
forEach
((
key
,
value
)
->
putIfAbsent
(
existingGroup
.
getProperties
(),
key
,
value
));
// Merge sources
for
(
Map
.
Entry
<
String
,
ConfigurationMetadataSource
>
entry
:
group
.
getSources
().
entrySet
())
{
putIfAbsent
(
existingGroup
.
getSources
(),
entry
.
getKey
(),
entry
.
getValue
());
}
group
.
getSources
().
forEach
((
key
,
value
)
->
putIfAbsent
(
existingGroup
.
getSources
(),
key
,
value
));
}
}
...
...
spring-boot-project/spring-boot-tools/spring-boot-configuration-processor/src/main/java/org/springframework/boot/configurationprocessor/ConfigurationMetadataAnnotationProcessor.java
View file @
69bc19e0
...
...
@@ -36,7 +36,6 @@ import javax.annotation.processing.RoundEnvironment;
import
javax.annotation.processing.SupportedAnnotationTypes
;
import
javax.lang.model.SourceVersion
;
import
javax.lang.model.element.AnnotationMirror
;
import
javax.lang.model.element.AnnotationValue
;
import
javax.lang.model.element.Element
;
import
javax.lang.model.element.ElementKind
;
import
javax.lang.model.element.ExecutableElement
;
...
...
@@ -282,10 +281,7 @@ public class ConfigurationMetadataAnnotationProcessor extends AbstractProcessor
private
void
processSimpleTypes
(
String
prefix
,
TypeElement
element
,
ExecutableElement
source
,
TypeElementMembers
members
,
Map
<
String
,
Object
>
fieldValues
)
{
for
(
Map
.
Entry
<
String
,
ExecutableElement
>
entry
:
members
.
getPublicGetters
()
.
entrySet
())
{
String
name
=
entry
.
getKey
();
ExecutableElement
getter
=
entry
.
getValue
();
members
.
getPublicGetters
().
forEach
((
name
,
getter
)
->
{
TypeMirror
returnType
=
getter
.
getReturnType
();
ExecutableElement
setter
=
members
.
getPublicSetter
(
name
,
returnType
);
VariableElement
field
=
members
.
getFields
().
get
(
name
);
...
...
@@ -305,7 +301,7 @@ public class ConfigurationMetadataAnnotationProcessor extends AbstractProcessor
dataType
,
sourceType
,
null
,
description
,
defaultValue
,
(
deprecated
?
getItemDeprecation
(
getter
)
:
null
)));
}
}
}
);
}
private
ItemDeprecation
getItemDeprecation
(
ExecutableElement
getter
)
{
...
...
@@ -325,11 +321,9 @@ public class ConfigurationMetadataAnnotationProcessor extends AbstractProcessor
private
void
processSimpleLombokTypes
(
String
prefix
,
TypeElement
element
,
ExecutableElement
source
,
TypeElementMembers
members
,
Map
<
String
,
Object
>
fieldValues
)
{
for
(
Map
.
Entry
<
String
,
VariableElement
>
entry
:
members
.
getFields
().
entrySet
())
{
String
name
=
entry
.
getKey
();
VariableElement
field
=
entry
.
getValue
();
members
.
getFields
().
forEach
((
name
,
field
)
->
{
if
(!
isLombokField
(
field
,
element
))
{
continue
;
return
;
}
TypeMirror
returnType
=
field
.
asType
();
Element
returnTypeElement
=
this
.
processingEnv
.
getTypeUtils
()
...
...
@@ -348,32 +342,27 @@ public class ConfigurationMetadataAnnotationProcessor extends AbstractProcessor
dataType
,
sourceType
,
null
,
description
,
defaultValue
,
(
deprecated
?
new
ItemDeprecation
()
:
null
)));
}
}
}
);
}
private
void
processNestedTypes
(
String
prefix
,
TypeElement
element
,
ExecutableElement
source
,
TypeElementMembers
members
)
{
for
(
Map
.
Entry
<
String
,
ExecutableElement
>
entry
:
members
.
getPublicGetters
()
.
entrySet
())
{
String
name
=
entry
.
getKey
();
ExecutableElement
getter
=
entry
.
getValue
();
members
.
getPublicGetters
().
forEach
((
name
,
getter
)
->
{
VariableElement
field
=
members
.
getFields
().
get
(
name
);
processNestedType
(
prefix
,
element
,
source
,
name
,
getter
,
field
,
getter
.
getReturnType
());
}
}
);
}
private
void
processNestedLombokTypes
(
String
prefix
,
TypeElement
element
,
ExecutableElement
source
,
TypeElementMembers
members
)
{
for
(
Map
.
Entry
<
String
,
VariableElement
>
entry
:
members
.
getFields
().
entrySet
())
{
String
name
=
entry
.
getKey
();
VariableElement
field
=
entry
.
getValue
();
members
.
getFields
().
forEach
((
name
,
field
)
->
{
if
(
isLombokField
(
field
,
element
))
{
ExecutableElement
getter
=
members
.
getPublicGetter
(
name
,
field
.
asType
());
processNestedType
(
prefix
,
element
,
source
,
name
,
getter
,
field
,
field
.
asType
());
}
}
}
);
}
private
boolean
isLombokField
(
VariableElement
field
,
TypeElement
element
)
{
...
...
@@ -544,11 +533,8 @@ public class ConfigurationMetadataAnnotationProcessor extends AbstractProcessor
private
Map
<
String
,
Object
>
getAnnotationElementValues
(
AnnotationMirror
annotation
)
{
Map
<
String
,
Object
>
values
=
new
LinkedHashMap
<>();
for
(
Map
.
Entry
<?
extends
ExecutableElement
,
?
extends
AnnotationValue
>
entry
:
annotation
.
getElementValues
().
entrySet
())
{
values
.
put
(
entry
.
getKey
().
getSimpleName
().
toString
(),
entry
.
getValue
().
getValue
());
}
annotation
.
getElementValues
().
forEach
((
key
,
value
)
->
values
.
put
(
key
.
getSimpleName
().
toString
(),
value
.
getValue
()));
return
values
;
}
...
...
spring-boot-project/spring-boot-tools/spring-boot-configuration-processor/src/main/java/org/springframework/boot/configurationprocessor/TypeElementMembers.java
View file @
69bc19e0
...
...
@@ -78,13 +78,11 @@ class TypeElementMembers {
processField
(
field
);
}
try
{
Map
<
String
,
Object
>
fieldValues
=
this
.
fieldValuesParser
.
getFieldValues
(
element
);
for
(
Map
.
Entry
<
String
,
Object
>
entry
:
fieldValues
.
entrySet
())
{
if
(!
this
.
fieldValues
.
containsKey
(
entry
.
getKey
()))
{
this
.
fieldValues
.
put
(
entry
.
getKey
(),
entry
.
getValue
());
this
.
fieldValuesParser
.
getFieldValues
(
element
).
forEach
((
key
,
value
)
->
{
if
(!
this
.
fieldValues
.
containsKey
(
key
))
{
this
.
fieldValues
.
put
(
key
,
value
);
}
}
}
);
}
catch
(
Exception
ex
)
{
// continue
...
...
spring-boot-project/spring-boot-tools/spring-boot-configuration-processor/src/main/java/org/springframework/boot/configurationprocessor/TypeUtils.java
View file @
69bc19e0
...
...
@@ -62,9 +62,7 @@ class TypeUtils {
static
{
Map
<
String
,
TypeKind
>
primitives
=
new
HashMap
<>();
for
(
Map
.
Entry
<
TypeKind
,
Class
<?>>
entry
:
PRIMITIVE_WRAPPERS
.
entrySet
())
{
primitives
.
put
(
entry
.
getValue
().
getName
(),
entry
.
getKey
());
}
PRIMITIVE_WRAPPERS
.
forEach
((
key
,
value
)
->
primitives
.
put
(
value
.
getName
(),
key
));
WRAPPER_TO_PRIMITIVE
=
primitives
;
}
...
...
spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/tasks/buildinfo/BuildInfo.java
View file @
69bc19e0
...
...
@@ -20,7 +20,6 @@ import java.io.File;
import
java.io.IOException
;
import
java.util.HashMap
;
import
java.util.Map
;
import
java.util.Map.Entry
;
import
org.gradle.api.Action
;
import
org.gradle.api.Project
;
...
...
@@ -110,9 +109,7 @@ public class BuildInfo extends ConventionTask {
private
Map
<
String
,
String
>
coerceToStringValues
(
Map
<
String
,
Object
>
input
)
{
Map
<
String
,
String
>
output
=
new
HashMap
<>();
for
(
Entry
<
String
,
Object
>
entry
:
input
.
entrySet
())
{
output
.
put
(
entry
.
getKey
(),
entry
.
getValue
().
toString
());
}
input
.
forEach
((
key
,
value
)
->
output
.
put
(
key
,
value
.
toString
()));
return
output
;
}
...
...
spring-boot-project/spring-boot-tools/spring-boot-loader-tools/src/main/java/org/springframework/boot/loader/tools/BuildPropertiesWriter.java
View file @
69bc19e0
...
...
@@ -22,7 +22,6 @@ import java.io.IOException;
import
java.time.Instant
;
import
java.time.format.DateTimeFormatter
;
import
java.util.Map
;
import
java.util.Map.Entry
;
import
java.util.Properties
;
/**
...
...
@@ -79,10 +78,7 @@ public final class BuildPropertiesWriter {
DateTimeFormatter
.
ISO_INSTANT
.
format
(
project
.
getTime
()));
}
if
(
project
.
getAdditionalProperties
()
!=
null
)
{
for
(
Map
.
Entry
<
String
,
String
>
entry
:
project
.
getAdditionalProperties
()
.
entrySet
())
{
properties
.
put
(
"build."
+
entry
.
getKey
(),
entry
.
getValue
());
}
project
.
getAdditionalProperties
().
forEach
((
key
,
value
)
->
properties
.
put
(
"build."
+
key
,
value
));
}
return
properties
;
}
...
...
@@ -118,11 +114,11 @@ public final class BuildPropertiesWriter {
private
static
void
validateAdditionalProperties
(
Map
<
String
,
String
>
additionalProperties
)
{
if
(
additionalProperties
!=
null
)
{
for
(
Entry
<
String
,
String
>
property
:
additionalProperties
.
entrySet
())
{
if
(
property
.
getValue
()
==
null
)
{
throw
new
NullAdditionalPropertyValueException
(
property
.
getKey
()
);
additionalProperties
.
forEach
((
key
,
value
)
->
{
if
(
value
==
null
)
{
throw
new
NullAdditionalPropertyValueException
(
key
);
}
}
}
);
}
}
...
...
spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/PropertiesMergingResourceTransformer.java
View file @
69bc19e0
...
...
@@ -19,7 +19,6 @@ package org.springframework.boot.maven;
import
java.io.IOException
;
import
java.io.InputStream
;
import
java.util.List
;
import
java.util.Map.Entry
;
import
java.util.Properties
;
import
java.util.jar.JarEntry
;
import
java.util.jar.JarOutputStream
;
...
...
@@ -64,13 +63,13 @@ public class PropertiesMergingResourceTransformer implements ResourceTransformer
Properties
properties
=
new
Properties
();
properties
.
load
(
is
);
is
.
close
();
for
(
Entry
<
Object
,
Object
>
entry
:
properties
.
entrySet
())
{
String
name
=
(
String
)
entry
.
getKey
()
;
String
value
=
(
String
)
entry
.
getValue
()
;
properties
.
forEach
((
key
,
valueObject
)
->
{
String
name
=
(
String
)
key
;
String
value
=
(
String
)
valueObject
;
String
existing
=
this
.
data
.
getProperty
(
name
);
this
.
data
.
setProperty
(
name
,
existing
==
null
?
value
:
existing
+
","
+
value
);
}
}
);
}
@Override
...
...
spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/test/java/org/springframework/boot/maven/Verify.java
View file @
69bc19e0
...
...
@@ -140,13 +140,10 @@ public final class Verify {
}
private
ZipEntry
getEntryStartingWith
(
String
entryName
)
{
for
(
Map
.
Entry
<
String
,
ZipEntry
>
entry
:
this
.
content
.
entrySet
())
{
if
(
entry
.
getKey
().
startsWith
(
entryName
))
{
return
entry
.
getValue
();
}
}
throw
new
IllegalStateException
(
"Unable to find entry starting with "
+
entryName
);
return
this
.
content
.
entrySet
().
stream
().
filter
(
entry
->
entry
.
getKey
().
startsWith
(
entryName
)).
map
(
Map
.
Entry
::
getValue
).
findFirst
().
orElseThrow
(()
->
new
IllegalStateException
(
"Unable to find entry starting with "
+
entryName
));
}
public
boolean
hasEntry
(
String
entry
)
{
...
...
spring-boot-project/spring-boot/src/main/java/org/springframework/boot/logging/LoggingSystem.java
View file @
69bc19e0
...
...
@@ -156,12 +156,10 @@ public abstract class LoggingSystem {
}
return
get
(
classLoader
,
loggingSystem
);
}
for
(
Map
.
Entry
<
String
,
String
>
entry
:
SYSTEMS
.
entrySet
())
{
if
(
ClassUtils
.
isPresent
(
entry
.
getKey
(),
classLoader
))
{
return
get
(
classLoader
,
entry
.
getValue
());
}
}
throw
new
IllegalStateException
(
"No suitable logging system located"
);
return
SYSTEMS
.
entrySet
().
stream
().
filter
((
entry
)
->
ClassUtils
.
isPresent
(
entry
.
getKey
(),
classLoader
)).
map
(
entry
->
get
(
classLoader
,
entry
.
getValue
())).
findFirst
().
orElseThrow
(()
->
new
IllegalStateException
(
"No suitable logging system located"
));
}
private
static
LoggingSystem
get
(
ClassLoader
classLoader
,
String
loggingSystemClass
)
{
...
...
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