39
39
import java .io .File ;
40
40
import java .io .FilenameFilter ;
41
41
import java .text .MessageFormat ;
42
- import java .util .ArrayList ;
43
- import java .util .List ;
44
- import java .util .Locale ;
45
- import java .util .Properties ;
42
+ import java .util .*;
46
43
import java .util .concurrent .Callable ;
47
44
import java .util .concurrent .ConcurrentHashMap ;
48
45
import java .util .concurrent .ConcurrentMap ;
@@ -65,6 +62,7 @@ public class PluginAwareResourceBundleMessageSource extends ReloadableResourceBu
65
62
private long pluginCacheMillis = Long .MIN_VALUE ;
66
63
private boolean searchClasspath = false ;
67
64
private String messageBundleLocationPattern = "classpath*:*.properties" ;
65
+ String [] basenamesDefinition = {};
68
66
69
67
public PluginAwareResourceBundleMessageSource () {
70
68
}
@@ -86,6 +84,12 @@ public void setResourceResolver(PathMatchingResourcePatternResolver resourceReso
86
84
this .resourceResolver = resourceResolver ;
87
85
}
88
86
87
+ @ Override
88
+ public void setBasenames (String ... basenames ){
89
+ basenamesDefinition = basenames ;
90
+ super .setBasenames (basenames );
91
+ }
92
+
89
93
public void afterPropertiesSet () throws Exception {
90
94
if (pluginCacheMillis == Long .MIN_VALUE ) {
91
95
pluginCacheMillis = cacheMillis ;
@@ -148,8 +152,10 @@ public boolean accept(File dir, String name) {
148
152
basenames .add (baseName );
149
153
}
150
154
151
- setBasenames (basenames .toArray ( new String [basenames .size ()]));
152
-
155
+ List <String > mergedBasenames = Arrays .asList (basenamesDefinition );
156
+ basenames .removeAll (mergedBasenames );
157
+ mergedBasenames .addAll (basenames );
158
+ super .setBasenames (mergedBasenames .toArray (new String [0 ]));
153
159
}
154
160
155
161
0 commit comments