Skip to content

Commit c9ba9a9

Browse files
committed
try and fix resource path on windows
1 parent 245793a commit c9ba9a9

File tree

2 files changed

+17
-12
lines changed

2 files changed

+17
-12
lines changed

ibm-mq-metrics/src/main/java/io/opentelemetry/ibm/mq/opentelemetry/ConfigWrapper.java

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,8 @@
88
import static java.util.Collections.emptyList;
99

1010
import java.io.IOException;
11-
import java.nio.charset.Charset;
12-
import java.nio.file.Files;
13-
import java.nio.file.Paths;
11+
import java.io.InputStream;
12+
import java.net.URL;
1413
import java.time.Duration;
1514
import java.util.Collections;
1615
import java.util.List;
@@ -37,10 +36,15 @@ private ConfigWrapper(Map<String, ?> config) {
3736
}
3837

3938
public static ConfigWrapper parse(String configFile) throws IOException {
39+
return parse(new URL("file://" + configFile));
40+
}
41+
42+
public static ConfigWrapper parse(URL configFile) throws IOException {
4043
Yaml yaml = new Yaml();
41-
Map<String, ?> config =
42-
yaml.load(Files.newBufferedReader(Paths.get(configFile), Charset.defaultCharset()));
43-
return new ConfigWrapper(config);
44+
try (InputStream in = configFile.openStream()) {
45+
Map<String, ?> config = yaml.load(in);
46+
return new ConfigWrapper(config);
47+
}
4448
}
4549

4650
public int getNumberOfThreads() {

ibm-mq-metrics/src/test/java/io/opentelemetry/ibm/mq/opentelemetry/ConfigWrapperTest.java

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,41 +8,42 @@
88
import static java.util.Collections.singletonList;
99
import static org.assertj.core.api.AssertionsForClassTypes.assertThat;
1010

11+
import java.net.URL;
1112
import java.time.Duration;
1213
import java.time.temporal.ChronoUnit;
1314
import org.junit.jupiter.api.BeforeEach;
1415
import org.junit.jupiter.api.Test;
1516

1617
class ConfigWrapperTest {
1718

18-
String file;
19+
URL configFile;
1920

2021
@BeforeEach
2122
void setUp() {
22-
file = ConfigWrapperTest.class.getResource("/conf/config.yml").getFile();
23+
configFile = ConfigWrapperTest.class.getResource("/conf/config.yml");
2324
}
2425

2526
@Test
2627
void testQueueManagerNames() throws Exception {
27-
ConfigWrapper config = ConfigWrapper.parse(file);
28+
ConfigWrapper config = ConfigWrapper.parse(configFile);
2829
assertThat(config.getQueueManagerNames()).isEqualTo(singletonList("QM1"));
2930
}
3031

3132
@Test
3233
void testNumberOfThreads() throws Exception {
33-
ConfigWrapper config = ConfigWrapper.parse(file);
34+
ConfigWrapper config = ConfigWrapper.parse(configFile);
3435
assertThat(config.getNumberOfThreads()).isEqualTo(20);
3536
}
3637

3738
@Test
3839
void testTaskDelay() throws Exception {
39-
ConfigWrapper config = ConfigWrapper.parse(file);
40+
ConfigWrapper config = ConfigWrapper.parse(configFile);
4041
assertThat(config.getTaskDelay()).isEqualTo(Duration.of(27, ChronoUnit.SECONDS));
4142
}
4243

4344
@Test
4445
void testTaskInitialDelay() throws Exception {
45-
ConfigWrapper config = ConfigWrapper.parse(file);
46+
ConfigWrapper config = ConfigWrapper.parse(configFile);
4647
assertThat(config.getTaskInitialDelaySeconds()).isEqualTo(0);
4748
}
4849
}

0 commit comments

Comments
 (0)