Skip to content

Commit cde3d45

Browse files
authored
Don't require empty objects when referencing custom components (#6891)
1 parent 2a97eae commit cde3d45

File tree

2 files changed

+23
-0
lines changed

2 files changed

+23
-0
lines changed

sdk-extensions/incubator/src/main/java/io/opentelemetry/sdk/extension/incubator/fileconfig/FileConfiguration.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import java.io.IOException;
2222
import java.io.InputStream;
2323
import java.util.ArrayList;
24+
import java.util.Collections;
2425
import java.util.List;
2526
import java.util.Map;
2627
import java.util.logging.Logger;
@@ -166,6 +167,9 @@ static StructuredConfigProperties toConfigProperties(
166167
Object model, ComponentLoader componentLoader) {
167168
Map<String, Object> configurationMap =
168169
MAPPER.convertValue(model, new TypeReference<Map<String, Object>>() {});
170+
if (configurationMap == null) {
171+
configurationMap = Collections.emptyMap();
172+
}
169173
return YamlStructuredConfigProperties.create(configurationMap, componentLoader);
170174
}
171175

sdk-extensions/incubator/src/test/java/io/opentelemetry/sdk/extension/incubator/fileconfig/FileConfigurationCreateTest.java

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,4 +130,23 @@ void parseAndCreate_Exception_CleansUpPartials() {
130130
"Closing io.opentelemetry.exporter.otlp.http.logs.OtlpHttpLogRecordExporter");
131131
logCapturer.assertContains("Closing io.opentelemetry.sdk.logs.export.BatchLogRecordProcessor");
132132
}
133+
134+
@Test
135+
void parseAndCreate_EmptyComponentProviderConfig() {
136+
String yaml =
137+
"file_format: \"0.3\"\n"
138+
+ "logger_provider:\n"
139+
+ " processors:\n"
140+
+ " - test:\n"
141+
+ "tracer_provider:\n"
142+
+ " processors:\n"
143+
+ " - test:\n";
144+
145+
assertThatCode(
146+
() ->
147+
FileConfiguration.parseAndCreate(
148+
new ByteArrayInputStream(yaml.getBytes(StandardCharsets.UTF_8))))
149+
.doesNotThrowAnyException();
150+
;
151+
}
133152
}

0 commit comments

Comments
 (0)