Skip to content

Commit 7d70b39

Browse files
committed
updates after code review
1 parent a9b64dc commit 7d70b39

File tree

2 files changed

+13
-22
lines changed

2 files changed

+13
-22
lines changed

spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/context/MessageSourceAutoConfiguration.java

Lines changed: 8 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,10 @@
1919
import java.io.IOException;
2020
import java.io.UncheckedIOException;
2121
import java.time.Duration;
22-
import java.util.Arrays;
23-
import java.util.List;
24-
import java.util.stream.Collectors;
22+
import java.util.Properties;
2523

2624
import org.springframework.aot.hint.RuntimeHints;
2725
import org.springframework.aot.hint.RuntimeHintsRegistrar;
28-
import org.springframework.beans.factory.config.PropertiesFactoryBean;
2926
import org.springframework.boot.autoconfigure.AutoConfiguration;
3027
import org.springframework.boot.autoconfigure.AutoConfigureOrder;
3128
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
@@ -45,10 +42,9 @@
4542
import org.springframework.context.support.AbstractApplicationContext;
4643
import org.springframework.context.support.ResourceBundleMessageSource;
4744
import org.springframework.core.Ordered;
48-
import org.springframework.core.io.DefaultResourceLoader;
4945
import org.springframework.core.io.Resource;
50-
import org.springframework.core.io.ResourceLoader;
5146
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
47+
import org.springframework.core.io.support.PropertiesLoaderUtils;
5248
import org.springframework.core.type.AnnotatedTypeMetadata;
5349
import org.springframework.util.ConcurrentReferenceHashMap;
5450
import org.springframework.util.StringUtils;
@@ -91,19 +87,12 @@ public MessageSource messageSource(MessageSourceProperties properties) {
9187
messageSource.setUseCodeAsDefaultMessage(properties.isUseCodeAsDefaultMessage());
9288

9389
try {
94-
if (StringUtils.hasText(properties.getCommonMessages())) {
95-
PropertiesFactoryBean propertiesFactory = new PropertiesFactoryBean();
96-
ResourceLoader resourceLoader = new DefaultResourceLoader();
97-
String[] commonMessages = StringUtils.commaDelimitedListToStringArray(
98-
StringUtils.trimAllWhitespace(properties.getCommonMessages()));
99-
List<Resource> commonResources = Arrays.stream(commonMessages)
100-
.map(resourceLoader::getResource)
101-
.toList();
102-
propertiesFactory.setLocations(commonResources.toArray(Resource[]::new));
103-
propertiesFactory.setSingleton(true);
104-
propertiesFactory.setIgnoreResourceNotFound(true);
105-
propertiesFactory.afterPropertiesSet();
106-
messageSource.setCommonMessages(propertiesFactory.getObject());
90+
if (properties.getCommonMessages() != null) {
91+
Properties commonProperties = new Properties();
92+
for (Resource commonResource : properties.getCommonMessages()) {
93+
PropertiesLoaderUtils.fillProperties(commonProperties, commonResource);
94+
}
95+
messageSource.setCommonMessages(commonProperties);
10796
}
10897
} catch (IOException e) {
10998
throw new UncheckedIOException("Failed to load common messages", e);

spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/context/MessageSourceProperties.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,11 @@
2020
import java.nio.charset.StandardCharsets;
2121
import java.time.Duration;
2222
import java.time.temporal.ChronoUnit;
23+
import java.util.List;
2324

2425
import org.springframework.boot.context.properties.ConfigurationProperties;
2526
import org.springframework.boot.convert.DurationUnit;
27+
import org.springframework.core.io.Resource;
2628

2729
/**
2830
* Configuration properties for Message Source.
@@ -45,7 +47,7 @@ public class MessageSourceProperties {
4547
/**
4648
* Comma-separated list of locale-independent common messages.
4749
*/
48-
private String commonMessages;
50+
private List<Resource> commonMessages;
4951

5052
/**
5153
* Message bundles encoding.
@@ -126,11 +128,11 @@ public void setUseCodeAsDefaultMessage(boolean useCodeAsDefaultMessage) {
126128
this.useCodeAsDefaultMessage = useCodeAsDefaultMessage;
127129
}
128130

129-
public String getCommonMessages() {
131+
public List<Resource> getCommonMessages() {
130132
return this.commonMessages;
131133
}
132134

133-
public void setCommonMessages(String commonMessages) {
135+
public void setCommonMessages(List<Resource> commonMessages) {
134136
this.commonMessages = commonMessages;
135137
}
136138
}

0 commit comments

Comments
 (0)