From 08ff739bbe6ec073c1b51b41891ebdfd4fa23e2a Mon Sep 17 00:00:00 2001 From: Avgustin Marinov Date: Thu, 7 Aug 2025 14:29:54 +0300 Subject: [PATCH] Fix DS Type update to do not remove mandatory/optional module types (#2598) Signed-off-by: Avgustin Marinov --- .../resource/MgmtDistributionSetTypeResourceTest.java | 2 ++ .../mgmt/rest/resource/MgmtTargetResourceTest.java | 9 +++------ .../repository/DistributionSetTypeManagement.java | 7 ++----- .../management/DistributionSetTypeManagementTest.java | 4 ++-- 4 files changed, 9 insertions(+), 13 deletions(-) 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 e64cb0c09..60627f5b2 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 @@ -811,11 +811,13 @@ class MgmtDistributionSetTypeResourceTest extends AbstractManagementApiIntegrati .build(), DistributionSetTypeManagement.Create.builder() .key("testKey2").name("TestName2").description("Desc2").colour("col") + .mandatoryModuleTypes(Set.of()) .optionalModuleTypes(Set.of(runtimeType, osType, appType)) .build(), DistributionSetTypeManagement.Create.builder() .key("testKey3").name("TestName3").description("Desc3").colour("col") .mandatoryModuleTypes(Set.of(runtimeType, osType)) + .optionalModuleTypes(Set.of()) .build()); } diff --git a/hawkbit-mgmt/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtTargetResourceTest.java b/hawkbit-mgmt/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtTargetResourceTest.java index 624e3964d..d962d975b 100644 --- a/hawkbit-mgmt/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtTargetResourceTest.java +++ b/hawkbit-mgmt/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtTargetResourceTest.java @@ -3015,15 +3015,12 @@ class MgmtTargetResourceTest extends AbstractManagementApiIntegrationTest { assertThat(targetManagement.isControllerAttributesRequested(knownTargetId)).isTrue(); } - private String getCreateTargetsListJsonString(final String controllerId, final String name, - final String description) { - return "[{\"name\":\"" + name + "\",\"controllerId\":\"" + controllerId + "\",\"description\":\"" + description - + "\"}]"; + private String getCreateTargetsListJsonString(final String controllerId, final String name, final String description) { + return "[{\"name\":\"" + name + "\",\"controllerId\":\"" + controllerId + "\",\"description\":\"" + description + "\"}]"; } private Target createSingleTarget(final String controllerId, final String name) { - targetManagement.create(entityFactory.target().create().controllerId(controllerId).name(name) - .description(TARGET_DESCRIPTION_TEST)); + targetManagement.create(entityFactory.target().create().controllerId(controllerId).name(name).description(TARGET_DESCRIPTION_TEST)); return controllerManagement.findOrRegisterTargetIfItDoesNotExist(controllerId, LOCALHOST); } diff --git a/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/DistributionSetTypeManagement.java b/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/DistributionSetTypeManagement.java index cbc0380c4..a41708b36 100644 --- a/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/DistributionSetTypeManagement.java +++ b/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/DistributionSetTypeManagement.java @@ -17,7 +17,6 @@ import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.Size; -import lombok.Builder; import lombok.EqualsAndHashCode; import lombok.Getter; import lombok.ToString; @@ -125,9 +124,7 @@ public interface DistributionSetTypeManagement @Size(max = Type.COLOUR_MAX_SIZE) private String colour; - @Builder.Default - private Set mandatoryModuleTypes = Set.of(); - @Builder.Default - private Set optionalModuleTypes = Set.of(); + private Set mandatoryModuleTypes; + private Set optionalModuleTypes; } } \ No newline at end of file diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/management/DistributionSetTypeManagementTest.java b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/management/DistributionSetTypeManagementTest.java index 216678e39..80ac1e08e 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/management/DistributionSetTypeManagementTest.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/management/DistributionSetTypeManagementTest.java @@ -50,7 +50,7 @@ import org.junit.jupiter.api.Test; class DistributionSetTypeManagementTest extends AbstractJpaIntegrationTest { /** - * Verifies that management get access react as specfied on calls for non existing entities by means + * Verifies that management get access react as specified on calls for non existing entities by means * of Optional not present. */ @Test @@ -62,7 +62,7 @@ class DistributionSetTypeManagementTest extends AbstractJpaIntegrationTest { } /** - * Verifies that management queries react as specfied on calls for non existing entities + * Verifies that management queries react as specified on calls for non existing entities * by means of throwing EntityNotFoundException. */ @Test