From 9a5cfbc71f0b96044d6538a5609398157d2e56e1 Mon Sep 17 00:00:00 2001 From: Alberto Codutti Date: Fri, 4 Oct 2024 11:47:44 +0200 Subject: [PATCH] :bug: [Device Management] Fixed KuraInventoryContainer.state mapping Signed-off-by: Alberto Codutti --- ...stractTranslatorAppInventoryKuraKapua.java | 25 ++++++++++++++----- 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/translator/kapua/kura/src/main/java/org/eclipse/kapua/translator/kura/kapua/inventory/AbstractTranslatorAppInventoryKuraKapua.java b/translator/kapua/kura/src/main/java/org/eclipse/kapua/translator/kura/kapua/inventory/AbstractTranslatorAppInventoryKuraKapua.java index ad56c27ad2c..cdac4255d05 100644 --- a/translator/kapua/kura/src/main/java/org/eclipse/kapua/translator/kura/kapua/inventory/AbstractTranslatorAppInventoryKuraKapua.java +++ b/translator/kapua/kura/src/main/java/org/eclipse/kapua/translator/kura/kapua/inventory/AbstractTranslatorAppInventoryKuraKapua.java @@ -140,12 +140,25 @@ protected DeviceInventoryContainers translate(KuraInventoryContainers kuraInvent deviceInventoryContainer.setVersion(kuraInventoryContainer.getVersion()); deviceInventoryContainer.setContainerType(kuraInventoryContainer.getType()); - if (deviceInventoryContainer.getState() != null) { - try { - deviceInventoryContainer.setState(DeviceInventoryContainerState.valueOf(kuraInventoryContainer.getState())); - } catch (IllegalArgumentException iae) { - LOG.warn("Unrecognised KuraInventoryContainer.state '{}' received. Defaulting to UNKNOWN state for DeviceInventoryContainer {}", kuraInventoryContainer.getState(), deviceInventoryContainer.getName(), iae); - deviceInventoryContainer.setState(DeviceInventoryContainerState.UNKNOWN); + if (kuraInventoryContainer.getState() != null) { + switch (kuraInventoryContainer.getState()) { + case "active": + deviceInventoryContainer.setState(DeviceInventoryContainerState.ACTIVE); + break; + case "installed": + deviceInventoryContainer.setState(DeviceInventoryContainerState.INSTALLED); + break; + case "uninstalled": + deviceInventoryContainer.setState(DeviceInventoryContainerState.UNINSTALLED); + break; + case "unknown": + deviceInventoryContainer.setState(DeviceInventoryContainerState.UNKNOWN); + break; + default: { + LOG.warn("Unrecognised KuraInventoryContainer.state '{}' received. Defaulting to UNKNOWN state for DeviceInventoryContainer {}", kuraInventoryContainer.getState(), deviceInventoryContainer.getName()); + deviceInventoryContainer.setState(DeviceInventoryContainerState.UNKNOWN); + } + } } else { LOG.warn("Property KuraInventoryContainer.state '{}' not present. Defaulting to UNKNOWN state for DeviceInventoryContainer {}", kuraInventoryContainer.getState(), deviceInventoryContainer.getName());