Fix component spec parsing (#1370)

* Fix component spec parsing

Signed-off-by: Deepak <sdeepaksharma15@gmail.com>

* Fix component spec parsing

Signed-off-by: Deepak <sdeepaksharma15@gmail.com>

* Fix component spec metadata parsing

Signed-off-by: Deepak <sdeepaksharma15@gmail.com>

* fix checkstyle-error

Signed-off-by: Deepak <sdeepaksharma15@gmail.com>

---------

Signed-off-by: Deepak <sdeepaksharma15@gmail.com>
Co-authored-by: Cassie Coyle <cassie.i.coyle@gmail.com>
Co-authored-by: artur-ciocanu <artur.ciocanu@gmail.com>
This commit is contained in:
iddeepak 2025-05-20 05:02:09 +05:30 committed by GitHub
parent c07e07b782
commit e4cc0303fa
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 7 additions and 15 deletions

View File

@ -210,21 +210,19 @@ public class DaprContainer extends GenericContainer<DaprContainer> {
try { try {
Map<String, Object> component = YAML_MAPPER.loadAs(Files.newInputStream(path), Map.class); Map<String, Object> component = YAML_MAPPER.loadAs(Files.newInputStream(path), Map.class);
String type = (String) component.get("type");
Map<String, Object> metadata = (Map<String, Object>) component.get("metadata"); Map<String, Object> metadata = (Map<String, Object>) component.get("metadata");
String name = (String) metadata.get("name"); String name = (String) metadata.get("name");
Map<String, Object> spec = (Map<String, Object>) component.get("spec"); Map<String, Object> spec = (Map<String, Object>) component.get("spec");
String type = (String) spec.get("type");
String version = (String) spec.get("version"); String version = (String) spec.get("version");
List<Map<String, String>> specMetadata = List<Map<String, String>> specMetadata =
(List<Map<String, String>>) spec.getOrDefault("metadata", Collections.emptyMap()); (List<Map<String, String>>) spec.getOrDefault("metadata", Collections.emptyList());
ArrayList<MetadataEntry> metadataEntries = new ArrayList<>(); ArrayList<MetadataEntry> metadataEntries = new ArrayList<>();
for (Map<String, String> specMetadataItem : specMetadata) { for (Map<String, String> specMetadataItem : specMetadata) {
for (Map.Entry<String, String> metadataItem : specMetadataItem.entrySet()) { metadataEntries.add(new MetadataEntry(specMetadataItem.get("name"), specMetadataItem.get("value")));
metadataEntries.add(new MetadataEntry(metadataItem.getKey(), metadataItem.getValue()));
}
} }
return withComponent(new Component(name, type, version, metadataEntries)); return withComponent(new Component(name, type, version, metadataEntries));

View File

@ -69,20 +69,14 @@ public class DaprComponentTest {
+ "metadata:\n" + "metadata:\n"
+ " name: statestore\n" + " name: statestore\n"
+ "spec:\n" + "spec:\n"
+ " type: null\n" + " type: state.redis\n"
+ " version: v1\n" + " version: v1\n"
+ " metadata:\n" + " metadata:\n"
+ " - name: name\n" + " - name: keyPrefix\n"
+ " value: keyPrefix\n"
+ " - name: value\n"
+ " value: name\n" + " value: name\n"
+ " - name: name\n" + " - name: redisHost\n"
+ " value: redisHost\n"
+ " - name: value\n"
+ " value: redis:6379\n" + " value: redis:6379\n"
+ " - name: name\n" + " - name: redisPassword\n"
+ " value: redisPassword\n"
+ " - name: value\n"
+ " value: ''\n"; + " value: ''\n";
assertEquals(expectedComponentYaml, componentYaml); assertEquals(expectedComponentYaml, componentYaml);