Skip to content

Commit 5978452

Browse files
authored
Use Resource.class to load resources, rather than its classloader (#353)
This plays nicer with Java's module system, as the class is able to load files from within the current module, whereas the classloader may not necessarily be able to.
1 parent 4bb932d commit 5978452

File tree

6 files changed

+7
-7
lines changed

6 files changed

+7
-7
lines changed

src/main/java/org/apache/commons/codec/Resources.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ public class Resources {
3333
* @return An input stream.
3434
*/
3535
public static InputStream getInputStream(final String name) {
36-
final InputStream inputStream = Resources.class.getClassLoader().getResourceAsStream(name);
36+
final InputStream inputStream = Resources.class.getResourceAsStream(name);
3737
if (inputStream == null) {
3838
throw new IllegalArgumentException("Unable to resolve required resource: " + name);
3939
}

src/main/java/org/apache/commons/codec/language/DaitchMokotoffSoundex.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,7 @@ public String toString() {
212212
private static final String MULTILINE_COMMENT_START = "/*";
213213

214214
/** The resource file containing the replacement and folding rules */
215-
private static final String RESOURCE_FILE = "org/apache/commons/codec/language/dmrules.txt";
215+
private static final String RESOURCE_FILE = "/org/apache/commons/codec/language/dmrules.txt";
216216

217217
/** The code length of a DM soundex value. */
218218
private static final int MAX_LENGTH = 6;

src/main/java/org/apache/commons/codec/language/bm/Lang.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ public boolean matches(final String txt) {
101101

102102
private static final Map<NameType, Lang> LANGS = new EnumMap<>(NameType.class);
103103

104-
private static final String LANGUAGE_RULES_RN = "org/apache/commons/codec/language/bm/%s_lang.txt";
104+
private static final String LANGUAGE_RULES_RN = "/org/apache/commons/codec/language/bm/%s_lang.txt";
105105

106106
static {
107107
for (final NameType s : NameType.values()) {

src/main/java/org/apache/commons/codec/language/bm/Languages.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -271,7 +271,7 @@ public static Languages getInstance(final String languagesResourceName) {
271271
}
272272

273273
private static String langResourceName(final NameType nameType) {
274-
return String.format("org/apache/commons/codec/language/bm/%s_languages.txt", nameType.getName());
274+
return String.format("/org/apache/commons/codec/language/bm/%s_languages.txt", nameType.getName());
275275
}
276276

277277
private final Set<String> languages;

src/main/java/org/apache/commons/codec/language/bm/Rule.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -265,7 +265,7 @@ private static boolean contains(final CharSequence chars, final char input) {
265265
}
266266

267267
private static String createResourceName(final NameType nameType, final RuleType rt, final String lang) {
268-
return String.format("org/apache/commons/codec/language/bm/%s_%s_%s.txt",
268+
return String.format("/org/apache/commons/codec/language/bm/%s_%s_%s.txt",
269269
nameType.getName(), rt.getName(), lang);
270270
}
271271

@@ -277,7 +277,7 @@ private static Scanner createScanner(final NameType nameType, final RuleType rt,
277277

278278
@SuppressWarnings("resource") // Closing the Scanner closes the resource
279279
private static Scanner createScanner(final String lang) {
280-
final String resName = String.format("org/apache/commons/codec/language/bm/%s.txt", lang);
280+
final String resName = String.format("/org/apache/commons/codec/language/bm/%s.txt", lang);
281281
return new Scanner(Resources.getInputStream(resName), ResourceConstants.ENCODING);
282282
}
283283

src/test/java/org/apache/commons/codec/ResourcesTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
public class ResourcesTest {
3232

3333
static List<String> getResourceNames() {
34-
return Arrays.asList("org/apache/commons/codec/language/dmrules.txt", "org/apache/commons/codec/language/bm/lang.txt");
34+
return Arrays.asList("/org/apache/commons/codec/language/dmrules.txt", "/org/apache/commons/codec/language/bm/lang.txt");
3535
}
3636

3737
@ParameterizedTest

0 commit comments

Comments
 (0)