From 62635cea09c4fcfeb3d7dea276c2254a66b481dc Mon Sep 17 00:00:00 2001 From: MDeLuise <66636702+MDeLuise@users.noreply.github.com> Date: Mon, 1 Jul 2024 11:06:20 +0200 Subject: [PATCH] fix: add input validation to KapuaConfigurableServiceBase Added validation for scopeId and configValues in KapuaConfigurableServiceBase to prevent NullPointerExceptions. Ensured configValues is checked for null and emptiness. --- .../KapuaConfigurableServiceBase.java | 20 ++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/commons/src/main/java/org/eclipse/kapua/commons/configuration/KapuaConfigurableServiceBase.java b/commons/src/main/java/org/eclipse/kapua/commons/configuration/KapuaConfigurableServiceBase.java index 7bde1b1f5e4..daebf7f0cf0 100644 --- a/commons/src/main/java/org/eclipse/kapua/commons/configuration/KapuaConfigurableServiceBase.java +++ b/commons/src/main/java/org/eclipse/kapua/commons/configuration/KapuaConfigurableServiceBase.java @@ -12,7 +12,11 @@ *******************************************************************************/ package org.eclipse.kapua.commons.configuration; +import java.util.Map; +import java.util.Optional; + import org.eclipse.kapua.KapuaException; +import org.eclipse.kapua.commons.util.ArgumentValidator; import org.eclipse.kapua.model.config.metatype.KapuaTocd; import org.eclipse.kapua.model.domain.Actions; import org.eclipse.kapua.model.id.KapuaId; @@ -22,9 +26,6 @@ import org.eclipse.kapua.service.config.KapuaConfigurableService; import org.eclipse.kapua.storage.TxManager; -import java.util.Map; -import java.util.Optional; - /** * Base {@link KapuaConfigurableService} implementation, build upon {@link ServiceConfigurationManager}. *
@@ -60,11 +61,17 @@ public KapuaConfigurableServiceBase(
@Override
public boolean isServiceEnabled(KapuaId scopeId) throws KapuaException {
+ // Argument Validation
+ ArgumentValidator.notNull(scopeId, "scopeId");
+
return txManager.execute(tx -> serviceConfigurationManager.isServiceEnabled(tx, scopeId));
}
@Override
public KapuaTocd getConfigMetadata(KapuaId scopeId) throws KapuaException {
+ // Argument Validation
+ ArgumentValidator.notNull(scopeId, "scopeId");
+
// Check access
authorizationService.checkPermission(permissionFactory.newPermission(domain, Actions.read, scopeId));
return txManager.execute(tx -> serviceConfigurationManager.getConfigMetadata(tx, scopeId, true));
@@ -72,6 +79,9 @@ public KapuaTocd getConfigMetadata(KapuaId scopeId) throws KapuaException {
@Override
public Map