chore: Bump version to 1.6.11 and update spring-boot.version to 3.5.6; refactor JsonAgentResponseHandler for improved property parsing

This commit is contained in:
extio-de
2025-09-21 18:12:26 +02:00
parent 47b63dcb40
commit 7c467fd5b4
2 changed files with 12 additions and 8 deletions

View File

@@ -4,13 +4,13 @@
<artifactId>lm-lib</artifactId> <artifactId>lm-lib</artifactId>
<groupId>de.extio</groupId> <groupId>de.extio</groupId>
<name>lm-lib</name> <name>lm-lib</name>
<version>1.6.10</version> <version>1.6.11</version>
<properties> <properties>
<java.version>21</java.version> <java.version>21</java.version>
<maven.compiler.source>21</maven.compiler.source> <maven.compiler.source>21</maven.compiler.source>
<maven.compiler.target>21</maven.compiler.target> <maven.compiler.target>21</maven.compiler.target>
<spring-boot.version>3.5.5</spring-boot.version> <spring-boot.version>3.5.6</spring-boot.version>
<azureai.version>1.0.0-beta.5</azureai.version> <azureai.version>1.0.0-beta.5</azureai.version>
<jtokkit.version>1.1.0</jtokkit.version> <jtokkit.version>1.1.0</jtokkit.version>
<commons-lang3.version>3.12.0</commons-lang3.version> <commons-lang3.version>3.12.0</commons-lang3.version>

View File

@@ -73,12 +73,7 @@ public class JsonAgentResponseHandler implements AgentResponseHandler {
final Iterator<Map.Entry<String, JsonNode>> fields = jsonNode.properties().iterator(); final Iterator<Map.Entry<String, JsonNode>> fields = jsonNode.properties().iterator();
while (fields.hasNext()) { while (fields.hasNext()) {
final var entry = fields.next(); final var entry = fields.next();
if (entry.getValue().isArray()) { parseEntry(items, entry);
entry.getValue().elements().forEachRemaining(nestedArray -> nestedArray.properties().forEach(nestedProperty -> this.parseProperty(items, nestedProperty)));
}
else {
this.parseProperty(items, entry);
}
} }
LOGGER.debug("Response: {} {}", items.size(), items); LOGGER.debug("Response: {} {}", items.size(), items);
context.getContext().putAll(items); context.getContext().putAll(items);
@@ -86,6 +81,15 @@ public class JsonAgentResponseHandler implements AgentResponseHandler {
return true; return true;
} }
private void parseEntry(final LinkedHashMap<String, List<String>> items, final Entry<String, JsonNode> entry) {
if (entry.getValue().isArray()) {
entry.getValue().elements().forEachRemaining(nestedArray -> nestedArray.properties().forEach(nestedProperty -> this.parseEntry(items, nestedProperty)));
}
else {
this.parseProperty(items, entry);
}
}
private void parseProperty(final LinkedHashMap<String, List<String>> items, final Entry<String, JsonNode> nestedProperty) { private void parseProperty(final LinkedHashMap<String, List<String>> items, final Entry<String, JsonNode> nestedProperty) {
if (nestedProperty.getValue().isObject()) { if (nestedProperty.getValue().isObject()) {
final var nestedValuesIter = nestedProperty.getValue().values(); final var nestedValuesIter = nestedProperty.getValue().values();