From 0ed056c7f1123e79120c924f4685bd9666353775 Mon Sep 17 00:00:00 2001 From: Avgustin Marinov Date: Fri, 12 Jun 2026 13:05:12 +0300 Subject: [PATCH] Fix sonar findings (#3135) Signed-off-by: Avgustin Marinov --- .../org/eclipse/hawkbit/amqp/DmfApiConfiguration.java | 5 ++--- .../hawkbit/amqp/RequeueExceptionStrategy.java | 2 +- .../hawkbit/amqp/RequestExceptionStrategyTest.java | 2 +- .../dmf/amqp/DmfApiAutoConfiguration.java | 2 +- .../resource/MgmtDistributionSetTypeResourceTest.java | 11 ++++------- .../rest/resource/MgmtSoftwareModuleResourceTest.java | 3 +-- .../resource/MgmtSoftwareModuleTypeResourceTest.java | 3 +-- .../hawkbit/ui/security/UserDetailsSetter.java | 5 ++++- 8 files changed, 15 insertions(+), 18 deletions(-) diff --git a/hawkbit-dmf/hawkbit-dmf-amqp/src/main/java/org/eclipse/hawkbit/amqp/DmfApiConfiguration.java b/hawkbit-dmf/hawkbit-dmf-amqp/src/main/java/org/eclipse/hawkbit/amqp/DmfApiConfiguration.java index 48cfb33cf..5a017857e 100644 --- a/hawkbit-dmf/hawkbit-dmf-amqp/src/main/java/org/eclipse/hawkbit/amqp/DmfApiConfiguration.java +++ b/hawkbit-dmf/hawkbit-dmf-amqp/src/main/java/org/eclipse/hawkbit/amqp/DmfApiConfiguration.java @@ -28,13 +28,12 @@ import org.eclipse.hawkbit.repository.model.DistributionSet; import org.eclipse.hawkbit.repository.model.SoftwareModule; import org.eclipse.hawkbit.repository.model.Target; import org.jspecify.annotations.NonNull; -import org.jspecify.annotations.NullMarked; import org.jspecify.annotations.Nullable; import org.springframework.amqp.core.Message; +import org.springframework.amqp.listener.ConditionalRejectingErrorHandler; +import org.springframework.amqp.listener.FatalExceptionStrategy; import org.springframework.amqp.rabbit.connection.ConnectionFactory; import org.springframework.amqp.rabbit.core.RabbitTemplate; -import org.springframework.amqp.rabbit.listener.ConditionalRejectingErrorHandler; -import org.springframework.amqp.rabbit.listener.FatalExceptionStrategy; import org.springframework.amqp.rabbit.listener.RabbitListenerContainerFactory; import org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer; import org.springframework.amqp.support.converter.JacksonJsonMessageConverter; diff --git a/hawkbit-dmf/hawkbit-dmf-amqp/src/main/java/org/eclipse/hawkbit/amqp/RequeueExceptionStrategy.java b/hawkbit-dmf/hawkbit-dmf-amqp/src/main/java/org/eclipse/hawkbit/amqp/RequeueExceptionStrategy.java index 76c77949d..927c6f23f 100644 --- a/hawkbit-dmf/hawkbit-dmf-amqp/src/main/java/org/eclipse/hawkbit/amqp/RequeueExceptionStrategy.java +++ b/hawkbit-dmf/hawkbit-dmf-amqp/src/main/java/org/eclipse/hawkbit/amqp/RequeueExceptionStrategy.java @@ -21,7 +21,7 @@ import org.eclipse.hawkbit.repository.exception.CancelActionNotAllowedException; import org.eclipse.hawkbit.repository.exception.EntityNotFoundException; import org.eclipse.hawkbit.repository.exception.InvalidTargetAttributeException; import org.eclipse.hawkbit.repository.exception.TenantNotExistException; -import org.springframework.amqp.rabbit.listener.FatalExceptionStrategy; +import org.springframework.amqp.listener.FatalExceptionStrategy; import org.springframework.amqp.support.converter.MessageConversionException; import org.springframework.messaging.MessageHandlingException; import org.springframework.messaging.handler.invocation.MethodArgumentResolutionException; diff --git a/hawkbit-dmf/hawkbit-dmf-amqp/src/test/java/org/eclipse/hawkbit/amqp/RequestExceptionStrategyTest.java b/hawkbit-dmf/hawkbit-dmf-amqp/src/test/java/org/eclipse/hawkbit/amqp/RequestExceptionStrategyTest.java index bfa729a0f..81fc73a6b 100644 --- a/hawkbit-dmf/hawkbit-dmf-amqp/src/test/java/org/eclipse/hawkbit/amqp/RequestExceptionStrategyTest.java +++ b/hawkbit-dmf/hawkbit-dmf-amqp/src/test/java/org/eclipse/hawkbit/amqp/RequestExceptionStrategyTest.java @@ -14,7 +14,7 @@ import static org.assertj.core.api.Assertions.assertThat; import java.util.List; import org.junit.jupiter.api.Test; -import org.springframework.amqp.rabbit.listener.FatalExceptionStrategy; +import org.springframework.amqp.listener.FatalExceptionStrategy; import org.springframework.amqp.support.converter.MessageConversionException; /** diff --git a/hawkbit-dmf/hawkbit-dmf-starter/src/main/java/org/eclipse/hawkbit/autoconfigure/dmf/amqp/DmfApiAutoConfiguration.java b/hawkbit-dmf/hawkbit-dmf-starter/src/main/java/org/eclipse/hawkbit/autoconfigure/dmf/amqp/DmfApiAutoConfiguration.java index d81d52445..28b737d86 100644 --- a/hawkbit-dmf/hawkbit-dmf-starter/src/main/java/org/eclipse/hawkbit/autoconfigure/dmf/amqp/DmfApiAutoConfiguration.java +++ b/hawkbit-dmf/hawkbit-dmf-starter/src/main/java/org/eclipse/hawkbit/autoconfigure/dmf/amqp/DmfApiAutoConfiguration.java @@ -10,7 +10,7 @@ package org.eclipse.hawkbit.autoconfigure.dmf.amqp; import org.eclipse.hawkbit.amqp.DmfApiConfiguration; -import org.springframework.amqp.rabbit.listener.ConditionalRejectingErrorHandler; +import org.springframework.amqp.listener.ConditionalRejectingErrorHandler; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.context.annotation.Bean; diff --git a/hawkbit-mgmt/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtDistributionSetTypeResourceTest.java b/hawkbit-mgmt/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtDistributionSetTypeResourceTest.java index 8f6a4ce69..3ddc7067f 100644 --- a/hawkbit-mgmt/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtDistributionSetTypeResourceTest.java +++ b/hawkbit-mgmt/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtDistributionSetTypeResourceTest.java @@ -495,16 +495,13 @@ class MgmtDistributionSetTypeResourceTest extends AbstractManagementApiIntegrati @Test void getDistributionSetTypesFilteredBySoftDeletedMode() throws Exception { - final DistributionSetType activeType = distributionSetTypeManagement.create( - DistributionSetTypeManagement.Create.builder() - .key("activeKey").name("activeType").build()); + distributionSetTypeManagement.create(DistributionSetTypeManagement.Create.builder().key("activeKey").name("activeType").build()); // create type + DS using it, then delete type → soft-delete final DistributionSetType deletedType = distributionSetTypeManagement.create( - DistributionSetTypeManagement.Create.builder() - .key("deletedKey").name("deletedType").build()); - distributionSetManagement.create(DistributionSetManagement.Create.builder() - .type(deletedType).name("ds").version("1.0").build()); + DistributionSetTypeManagement.Create.builder().key("deletedKey").name("deletedType").build()); + distributionSetManagement.create( + DistributionSetManagement.Create.builder().type(deletedType).name("ds").version("1.0").build()); distributionSetTypeManagement.delete(deletedType.getId()); // default — built-in + activeType, no deletedType diff --git a/hawkbit-mgmt/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtSoftwareModuleResourceTest.java b/hawkbit-mgmt/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtSoftwareModuleResourceTest.java index dd02d2c68..ac3e5a7e6 100644 --- a/hawkbit-mgmt/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtSoftwareModuleResourceTest.java +++ b/hawkbit-mgmt/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtSoftwareModuleResourceTest.java @@ -1230,8 +1230,7 @@ class MgmtSoftwareModuleResourceTest extends AbstractManagementApiIntegrationTes @Test void getSoftwareModulesFilteredBySoftDeletedMode() throws Exception { - final SoftwareModule activeSm = softwareModuleManagement.create( - SoftwareModuleManagement.Create.builder().type(osType).name("activeSm").version("1.0").build()); + softwareModuleManagement.create(SoftwareModuleManagement.Create.builder().type(osType).name("activeSm").version("1.0").build()); SoftwareModule deletedSm = softwareModuleManagement.create( SoftwareModuleManagement.Create.builder().type(osType).name("deletedSm").version("1.0").build()); diff --git a/hawkbit-mgmt/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtSoftwareModuleTypeResourceTest.java b/hawkbit-mgmt/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtSoftwareModuleTypeResourceTest.java index 3b250668b..362ec14e7 100644 --- a/hawkbit-mgmt/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtSoftwareModuleTypeResourceTest.java +++ b/hawkbit-mgmt/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtSoftwareModuleTypeResourceTest.java @@ -494,8 +494,7 @@ public class MgmtSoftwareModuleTypeResourceTest extends AbstractManagementApiInt // 3 built-in types exist (os, runtime, application) final int builtInTypes = 3; - final SoftwareModuleType activeType = softwareModuleTypeManagement.create( - SoftwareModuleTypeManagement.Create.builder().key("activeKey").name("activeType").build()); + softwareModuleTypeManagement.create(SoftwareModuleTypeManagement.Create.builder().key("activeKey").name("activeType").build()); // create type + SM using it, then delete type → soft-delete final SoftwareModuleType deletedType = softwareModuleTypeManagement.create( diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/security/UserDetailsSetter.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/security/UserDetailsSetter.java index 37bb0621f..e7a9b56db 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/security/UserDetailsSetter.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/security/UserDetailsSetter.java @@ -12,6 +12,7 @@ package org.eclipse.hawkbit.ui.security; import java.io.IOException; import java.time.Instant; import java.util.Collection; +import java.util.Objects; import jakarta.servlet.FilterChain; import jakarta.servlet.ServletException; @@ -50,7 +51,9 @@ class UserDetailsSetter extends OncePerRequestFilter { final Collection grantedAuthorities = grantedAuthoritiesService.getGrantedAuthorities(authentication); if (authentication instanceof OAuth2AuthenticationToken oAuth2AuthenticationToken) { newAuthentication = new OAuth2AuthenticationToken( - oAuth2AuthenticationToken.getPrincipal(), grantedAuthorities, + // principal is not null, but the method is not @NonNull annotated + Objects.requireNonNull(oAuth2AuthenticationToken.getPrincipal()), + grantedAuthorities, oAuth2AuthenticationToken.getAuthorizedClientRegistrationId()); if (authentication.getPrincipal() instanceof OidcUser user) { // if there is no refresh token and the access token is expired then re-login is required