From d2a740823d5f9307052c43496dc687c814ba6da8 Mon Sep 17 00:00:00 2001 From: Avgustin Marinov Date: Sat, 3 Feb 2024 02:47:28 +0200 Subject: [PATCH] Improve Security Core with lombok (#1592) Add lombok to repository modules Signed-off-by: Marinov Avgustin --- .../model/AbstractAssignmentResult.java | 7 +- .../repository/model/ActionProperties.java | 38 +--- .../repository/model/ArtifactUpload.java | 38 +--- .../model/AssignedSoftwareModule.java | 56 +----- .../repository/model/DeploymentRequest.java | 43 +---- .../model/DeploymentRequestBuilder.java | 3 +- .../DistributionSetAssignmentResult.java | 13 +- .../model/DistributionSetFilter.java | 132 +------------- .../model/DistributionSetInvalidation.java | 46 ++--- .../DistributionSetInvalidationCount.java | 18 +- .../model/DistributionSetMetadata.java | 1 - .../DistributionSetTagAssignmentResult.java | 8 +- .../hawkbit/repository/model/PollStatus.java | 31 +--- .../model/RepositoryModelConstants.java | 3 +- .../model/RolloutGroupConditionBuilder.java | 1 + .../model/RolloutGroupConditions.java | 69 +------ .../model/RolloutGroupsValidation.java | 12 +- .../model/TargetTagAssignmentResult.java | 7 +- .../model/TargetTypeAssignmentResult.java | 9 +- .../model/TargetWithActionStatus.java | 28 +-- .../model/TargetWithActionType.java | 133 ++------------ .../model/TenantConfigurationValue.java | 170 +----------------- .../model/TotalTargetCountActionStatus.java | 29 +-- .../jpa/management/JpaArtifactManagement.java | 2 +- .../DistributionSetAccessControllerTest.java | 2 +- .../DistributionSetManagementTest.java | 117 ++++++------ .../DistributionSetTagManagementTest.java | 26 +-- 27 files changed, 168 insertions(+), 874 deletions(-) diff --git a/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/AbstractAssignmentResult.java b/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/AbstractAssignmentResult.java index 8560d6f28..1bac1fdb0 100644 --- a/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/AbstractAssignmentResult.java +++ b/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/AbstractAssignmentResult.java @@ -15,9 +15,7 @@ import java.util.List; /** * Generic assignment result bean. * - * @param - * type of the assigned and unassigned {@link BaseEntity}s. - * + * @param type of the assigned and unassigned {@link BaseEntity}s. */ public abstract class AbstractAssignmentResult { @@ -90,5 +88,4 @@ public abstract class AbstractAssignmentResult { return Collections.unmodifiableList(unassignedEntity); } - -} +} \ No newline at end of file diff --git a/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/ActionProperties.java b/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/ActionProperties.java index b8e1c8fef..a6b312cdf 100644 --- a/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/ActionProperties.java +++ b/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/ActionProperties.java @@ -10,12 +10,14 @@ package org.eclipse.hawkbit.repository.model; import com.fasterxml.jackson.annotation.JsonIgnore; +import lombok.Data; import java.io.Serializable; /** * Holds properties for {@link Action} */ +@Data public class ActionProperties implements Serializable { private static final long serialVersionUID = 1L; @@ -43,42 +45,6 @@ public class ActionProperties implements Serializable { this.status = action.getStatus(); } - public void setId(final Long id) { - this.id = id; - } - - public Long getId() { - return id; - } - - public void setTenant(final String tenant) { - this.tenant = tenant; - } - - public String getTenant() { - return tenant; - } - - public void setMaintenanceWindowAvailable(final boolean maintenanceWindowAvailable) { - this.maintenanceWindowAvailable = maintenanceWindowAvailable; - } - - public boolean isMaintenanceWindowAvailable() { - return maintenanceWindowAvailable; - } - - public Action.ActionType getActionType() { - return actionType; - } - - public void setActionType(final Action.ActionType actionType) { - this.actionType = actionType; - } - - public Action.Status getStatus() { - return status; - } - @JsonIgnore public boolean isWaitingConfirmation() { return status == Action.Status.WAIT_FOR_CONFIRMATION; diff --git a/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/ArtifactUpload.java b/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/ArtifactUpload.java index f9fc57d9d..f9a13f454 100644 --- a/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/ArtifactUpload.java +++ b/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/ArtifactUpload.java @@ -14,12 +14,14 @@ import java.io.InputStream; import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotNull; +import lombok.Data; import org.eclipse.hawkbit.repository.ValidString; /** * Use to create a new artifact. * */ +@Data public class ArtifactUpload { @NotNull @@ -97,40 +99,4 @@ public class ArtifactUpload { this.contentType = contentType; this.filesize = filesize; } - - public InputStream getInputStream() { - return inputStream; - } - - public long getModuleId() { - return moduleId; - } - - public String getFilename() { - return filename; - } - - public String getProvidedMd5Sum() { - return providedMd5Sum; - } - - public String getProvidedSha1Sum() { - return providedSha1Sum; - } - - public String getProvidedSha256Sum() { - return providedSha256Sum; - } - - public boolean overrideExisting() { - return overrideExisting; - } - - public String getContentType() { - return contentType; - } - - public long getFilesize() { - return filesize; - } } diff --git a/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/AssignedSoftwareModule.java b/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/AssignedSoftwareModule.java index 4ab9027e5..ec9b16fc9 100644 --- a/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/AssignedSoftwareModule.java +++ b/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/AssignedSoftwareModule.java @@ -9,6 +9,7 @@ */ package org.eclipse.hawkbit.repository.model; +import lombok.Data; import org.eclipse.hawkbit.repository.Identifiable; import java.io.Serializable; @@ -18,6 +19,7 @@ import java.io.Serializable; * Use to display software modules for the selected distribution. * */ +@Data public class AssignedSoftwareModule implements Serializable, Identifiable { private static final long serialVersionUID = 1L; @@ -40,62 +42,8 @@ public class AssignedSoftwareModule implements Serializable, Identifiable this.assigned = assigned; } - /** - * @return {@link SoftwareModule} - */ - public SoftwareModule getSoftwareModule() { - return softwareModule; - } - - /** - * @return true if assigned - */ - public boolean isAssigned() { - return assigned; - } - - @Override - public String toString() { - return "AssignedSoftwareModule [softwareModule=" + softwareModule + ", assigned=" + assigned + "]"; - } - - @Override - public int hashCode() { - final int prime = 31; - int result = 1; - result = prime * result + (assigned ? 1231 : 1237); - result = prime * result + ((softwareModule == null) ? 0 : softwareModule.hashCode()); - return result; - } - - @Override - public boolean equals(final Object obj) { - if (this == obj) { - return true; - } - if (obj == null) { - return false; - } - if (getClass() != obj.getClass()) { - return false; - } - final AssignedSoftwareModule other = (AssignedSoftwareModule) obj; - if (assigned != other.assigned) { - return false; - } - if (softwareModule == null) { - if (other.softwareModule != null) { - return false; - } - } else if (!softwareModule.equals(other.softwareModule)) { - return false; - } - return true; - } - @Override public Long getId() { return softwareModule.getId(); } - } diff --git a/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/DeploymentRequest.java b/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/DeploymentRequest.java index 059a90331..7dd5c11db 100644 --- a/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/DeploymentRequest.java +++ b/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/DeploymentRequest.java @@ -13,14 +13,16 @@ import java.util.Objects; import jakarta.validation.Valid; +import lombok.Data; import org.eclipse.hawkbit.repository.exception.InvalidMaintenanceScheduleException; import org.eclipse.hawkbit.repository.model.Action.ActionType; /** * A custom view on assigning a {@link DistributionSet} to a {@link Target}. - * */ +@Data public class DeploymentRequest { + private final Long distributionSetId; @Valid private final TargetWithActionType targetWithActionType; @@ -76,46 +78,7 @@ public class DeploymentRequest { this.distributionSetId = distributionSetId; } - public Long getDistributionSetId() { - return distributionSetId; - } - public String getControllerId() { return targetWithActionType.getControllerId(); } - - public TargetWithActionType getTargetWithActionType() { - return targetWithActionType; - } - - @Override - public String toString() { - return String.format( - "DeploymentRequest [controllerId=%s, distributionSetId=%d, actionType=%s, forceTime=%d, weight=%d, maintenanceSchedule=%s, maintenanceWindowDuration=%s, maintenanceWindowTimeZone=%s, confirmationRequired=%s]", - targetWithActionType.getControllerId(), getDistributionSetId(), targetWithActionType.getActionType(), - targetWithActionType.getForceTime(), targetWithActionType.getWeight(), - targetWithActionType.getMaintenanceSchedule(), targetWithActionType.getMaintenanceWindowDuration(), - targetWithActionType.getMaintenanceWindowTimeZone(), targetWithActionType.isConfirmationRequired()); - } - - @Override - public int hashCode() { - return Objects.hash(distributionSetId, targetWithActionType); - } - - @Override - public boolean equals(final Object obj) { - if (this == obj) { - return true; - } - if (obj == null) { - return false; - } - if (getClass() != obj.getClass()) { - return false; - } - final DeploymentRequest other = (DeploymentRequest) obj; - return Objects.equals(distributionSetId, other.distributionSetId) - && Objects.equals(targetWithActionType, other.targetWithActionType); - } } diff --git a/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/DeploymentRequestBuilder.java b/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/DeploymentRequestBuilder.java index 6291be971..01fd6da6a 100644 --- a/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/DeploymentRequestBuilder.java +++ b/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/DeploymentRequestBuilder.java @@ -123,5 +123,4 @@ public class DeploymentRequestBuilder { return new DeploymentRequest(controllerId, distributionSetId, actionType, forceTime, weight, maintenanceSchedule, maintenanceWindowDuration, maintenanceWindowTimeZone, confirmationRequired); } - -} +} \ No newline at end of file diff --git a/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/DistributionSetAssignmentResult.java b/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/DistributionSetAssignmentResult.java index 1e903d52d..b7b2bf1fa 100644 --- a/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/DistributionSetAssignmentResult.java +++ b/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/DistributionSetAssignmentResult.java @@ -9,6 +9,8 @@ */ package org.eclipse.hawkbit.repository.model; +import lombok.Data; + import java.util.Collections; import java.util.List; @@ -18,6 +20,7 @@ import java.util.List; * how much of the assignments had already been existed. * */ +@Data public class DistributionSetAssignmentResult extends AbstractAssignmentResult { private final DistributionSet distributionSet; @@ -37,12 +40,4 @@ public class DistributionSetAssignmentResult extends AbstractAssignmentResult tagNames; - private String assignedTargetId; - private String installedTargetId; - - /** - * Build filter. - * - * @return DistributionSetFilter - */ - public DistributionSetFilter build() { - return new DistributionSetFilter(this); - } - - public DistributionSetFilterBuilder setAssignedTargetId(final String assignedTargetId) { - this.assignedTargetId = assignedTargetId; - return this; - } - - public DistributionSetFilterBuilder setInstalledTargetId(final String installedTargetId) { - this.installedTargetId = installedTargetId; - return this; - } - - public DistributionSetFilterBuilder setIsComplete(final Boolean isComplete) { - this.isComplete = isComplete; - return this; - } - - public DistributionSetFilterBuilder setIsDeleted(final Boolean isDeleted) { - this.isDeleted = isDeleted; - return this; - } - - public DistributionSetFilterBuilder setIsValid(final Boolean isValid) { - this.isValid = isValid; - return this; - } - - public DistributionSetFilterBuilder setSearchText(final String searchText) { - this.searchText = searchText; - return this; - } - - public DistributionSetFilterBuilder setSelectDSWithNoTag(final Boolean selectDSWithNoTag) { - this.selectDSWithNoTag = selectDSWithNoTag; - return this; - } - - public DistributionSetFilterBuilder setTagNames(final Collection tagNames) { - this.tagNames = tagNames; - return this; - } - - public DistributionSetFilterBuilder setTypeId(final Long typeId) { - this.typeId = typeId; - return this; - } - - } private final Boolean isDeleted; private final Boolean isComplete; @@ -93,61 +29,5 @@ public final class DistributionSetFilter { private final Boolean selectDSWithNoTag; private final Collection tagNames; private final String assignedTargetId; - private final String installedTargetId; - - /** - * Parametric constructor. - * - * @param builder - * DistributionSetFilterBuilder - */ - public DistributionSetFilter(final DistributionSetFilterBuilder builder) { - this.isDeleted = builder.isDeleted; - this.isComplete = builder.isComplete; - this.isValid = builder.isValid; - this.typeId = builder.typeId; - this.searchText = builder.searchText; - this.selectDSWithNoTag = builder.selectDSWithNoTag; - this.tagNames = builder.tagNames; - this.assignedTargetId = builder.assignedTargetId; - this.installedTargetId = builder.installedTargetId; - } - - public String getAssignedTargetId() { - return assignedTargetId; - } - - public String getInstalledTargetId() { - return installedTargetId; - } - - public Boolean getIsComplete() { - return isComplete; - } - - public Boolean getIsDeleted() { - return isDeleted; - } - - public Boolean getIsValid() { - return isValid; - } - - public String getSearchText() { - return searchText; - } - - public Boolean getSelectDSWithNoTag() { - return selectDSWithNoTag; - } - - public Collection getTagNames() { - return tagNames; - } - - public Long getTypeId() { - return typeId; - } - -} +} \ No newline at end of file diff --git a/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/DistributionSetInvalidation.java b/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/DistributionSetInvalidation.java index e3b7b2167..d49a02b07 100644 --- a/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/DistributionSetInvalidation.java +++ b/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/DistributionSetInvalidation.java @@ -9,13 +9,24 @@ */ package org.eclipse.hawkbit.repository.model; +import lombok.Data; + import java.util.Collection; /** * Holds the information about the invalidation of a distribution set */ +@Data public class DistributionSetInvalidation { + /** + * Defines if and how actions should be canceled when invalidating a + * distribution set + */ + public enum CancelationType { + FORCE, SOFT, NONE + } + private Collection distributionSetIds; private CancelationType cancelationType; private boolean cancelRollouts; @@ -36,37 +47,4 @@ public class DistributionSetInvalidation { this.cancelationType = cancelationType; this.cancelRollouts = cancelRollouts; } - - public Collection getDistributionSetIds() { - return distributionSetIds; - } - - public void setDistributionSetIds(final Collection distributionSetIds) { - this.distributionSetIds = distributionSetIds; - } - - public CancelationType getCancelationType() { - return cancelationType; - } - - public void setCancelationType(final CancelationType cancelationType) { - this.cancelationType = cancelationType; - } - - public boolean isCancelRollouts() { - return cancelRollouts; - } - - public void setCancelRollouts(final boolean cancelRollouts) { - this.cancelRollouts = cancelRollouts; - } - - /** - * Defines if and how actions should be canceled when invalidating a - * distribution set - */ - public enum CancelationType { - FORCE, SOFT, NONE - } - -} +} \ No newline at end of file diff --git a/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/DistributionSetInvalidationCount.java b/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/DistributionSetInvalidationCount.java index d871acddd..62a8ffcb0 100644 --- a/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/DistributionSetInvalidationCount.java +++ b/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/DistributionSetInvalidationCount.java @@ -9,11 +9,14 @@ */ package org.eclipse.hawkbit.repository.model; +import lombok.Data; + /** * object that holds information about the count of affected rollouts, * auto-assignments and actions, when a list of distribution sets gets * invalidated */ +@Data public class DistributionSetInvalidationCount { private final long rolloutsCount; @@ -26,17 +29,4 @@ public class DistributionSetInvalidationCount { this.autoAssignmentCount = autoAssignmentCount; this.actionCount = actionCount; } - - public long getRolloutsCount() { - return rolloutsCount; - } - - public long getAutoAssignmentCount() { - return autoAssignmentCount; - } - - public long getActionCount() { - return actionCount; - } - -} +} \ No newline at end of file diff --git a/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/DistributionSetMetadata.java b/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/DistributionSetMetadata.java index fb374db73..3ad1609d0 100644 --- a/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/DistributionSetMetadata.java +++ b/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/DistributionSetMetadata.java @@ -24,5 +24,4 @@ public interface DistributionSetMetadata extends MetaData { default Long getEntityId() { return getDistributionSet().getId(); } - } diff --git a/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/DistributionSetTagAssignmentResult.java b/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/DistributionSetTagAssignmentResult.java index fc2f31a60..5dc6a0165 100644 --- a/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/DistributionSetTagAssignmentResult.java +++ b/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/DistributionSetTagAssignmentResult.java @@ -9,12 +9,15 @@ */ package org.eclipse.hawkbit.repository.model; +import lombok.Data; + import java.util.List; /** * Result object for {@link DistributionSetTag} assignments. * */ +@Data public class DistributionSetTagAssignmentResult extends AbstractAssignmentResult { private final DistributionSetTag distributionSetTag; @@ -37,9 +40,4 @@ public class DistributionSetTagAssignmentResult extends AbstractAssignmentResult super(alreadyAssigned, assigned, unassigned); this.distributionSetTag = distributionSetTag; } - - public DistributionSetTag getDistributionSetTag() { - return distributionSetTag; - } - } diff --git a/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/PollStatus.java b/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/PollStatus.java index 88ac7d1c3..7579311fb 100644 --- a/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/PollStatus.java +++ b/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/PollStatus.java @@ -9,6 +9,8 @@ */ package org.eclipse.hawkbit.repository.model; +import lombok.Data; + import java.time.LocalDateTime; /** @@ -17,7 +19,9 @@ import java.time.LocalDateTime; * poll time. * */ +@Data public class PollStatus { + private final LocalDateTime lastPollDate; private final LocalDateTime nextPollDate; private final LocalDateTime overdueDate; @@ -41,29 +45,4 @@ public class PollStatus { public boolean isOverdue() { return currentDate.isAfter(overdueDate); } - - /** - * @return the lastPollDate - */ - public LocalDateTime getLastPollDate() { - return lastPollDate; - } - - public LocalDateTime getNextPollDate() { - return nextPollDate; - } - - public LocalDateTime getOverdueDate() { - return overdueDate; - } - - public LocalDateTime getCurrentDate() { - return currentDate; - } - - @Override - public String toString() { - return "PollTime [lastPollDate=" + lastPollDate + ", nextPollDate=" + nextPollDate + ", overdueDate=" - + overdueDate + ", currentDate=" + currentDate + "]"; - } -} +} \ No newline at end of file diff --git a/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/RepositoryModelConstants.java b/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/RepositoryModelConstants.java index 4816d3e38..c0686daf2 100644 --- a/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/RepositoryModelConstants.java +++ b/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/RepositoryModelConstants.java @@ -24,5 +24,4 @@ public final class RepositoryModelConstants { private RepositoryModelConstants() { // Utility class. } - -} +} \ No newline at end of file diff --git a/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/RolloutGroupConditionBuilder.java b/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/RolloutGroupConditionBuilder.java index a5dbd2c93..66882bdde 100644 --- a/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/RolloutGroupConditionBuilder.java +++ b/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/RolloutGroupConditionBuilder.java @@ -19,6 +19,7 @@ import org.eclipse.hawkbit.repository.model.RolloutGroup.RolloutGroupSuccessCond * */ public class RolloutGroupConditionBuilder { + private final RolloutGroupConditions conditions = new RolloutGroupConditions(); /** diff --git a/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/RolloutGroupConditions.java b/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/RolloutGroupConditions.java index b71f0df15..12f3da408 100644 --- a/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/RolloutGroupConditions.java +++ b/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/RolloutGroupConditions.java @@ -9,6 +9,7 @@ */ package org.eclipse.hawkbit.repository.model; +import lombok.Data; import org.eclipse.hawkbit.repository.model.RolloutGroup.RolloutGroupErrorAction; import org.eclipse.hawkbit.repository.model.RolloutGroup.RolloutGroupErrorCondition; import org.eclipse.hawkbit.repository.model.RolloutGroup.RolloutGroupSuccessAction; @@ -18,7 +19,9 @@ import org.eclipse.hawkbit.repository.model.RolloutGroup.RolloutGroupSuccessCond * Object which holds all {@link RolloutGroup} conditions together which can * easily built. */ +@Data public class RolloutGroupConditions { + private RolloutGroupSuccessCondition successCondition; private String successConditionExp; private RolloutGroupSuccessAction successAction; @@ -27,68 +30,4 @@ public class RolloutGroupConditions { private String errorConditionExp; private RolloutGroupErrorAction errorAction; private String errorActionExp; - - public RolloutGroupSuccessCondition getSuccessCondition() { - return successCondition; - } - - public void setSuccessCondition(final RolloutGroupSuccessCondition finishCondition) { - successCondition = finishCondition; - } - - public String getSuccessConditionExp() { - return successConditionExp; - } - - public void setSuccessConditionExp(final String finishConditionExp) { - successConditionExp = finishConditionExp; - } - - public RolloutGroupSuccessAction getSuccessAction() { - return successAction; - } - - public void setSuccessAction(final RolloutGroupSuccessAction successAction) { - this.successAction = successAction; - } - - public String getSuccessActionExp() { - return successActionExp; - } - - public void setSuccessActionExp(final String successActionExp) { - this.successActionExp = successActionExp; - } - - public RolloutGroupErrorCondition getErrorCondition() { - return errorCondition; - } - - public void setErrorCondition(final RolloutGroupErrorCondition errorCondition) { - this.errorCondition = errorCondition; - } - - public String getErrorConditionExp() { - return errorConditionExp; - } - - public void setErrorConditionExp(final String errorConditionExp) { - this.errorConditionExp = errorConditionExp; - } - - public RolloutGroupErrorAction getErrorAction() { - return errorAction; - } - - public void setErrorAction(final RolloutGroupErrorAction errorAction) { - this.errorAction = errorAction; - } - - public String getErrorActionExp() { - return errorActionExp; - } - - public void setErrorActionExp(final String errorActionExp) { - this.errorActionExp = errorActionExp; - } -} +} \ No newline at end of file diff --git a/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/RolloutGroupsValidation.java b/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/RolloutGroupsValidation.java index dcb2e3174..addb4b245 100644 --- a/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/RolloutGroupsValidation.java +++ b/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/RolloutGroupsValidation.java @@ -12,11 +12,13 @@ package org.eclipse.hawkbit.repository.model; import java.util.List; import jakarta.validation.constraints.NotNull; +import lombok.Data; /** * Represents information to validate the correct distribution of targets to * rollout groups. */ +@Data public class RolloutGroupsValidation { /** @@ -43,14 +45,6 @@ public class RolloutGroupsValidation { this.targetsPerGroup = targetsPerGroup; } - public long getTotalTargets() { - return totalTargets; - } - - public List getTargetsPerGroup() { - return targetsPerGroup; - } - /** * @return the count of targets that are in groups */ @@ -64,4 +58,4 @@ public class RolloutGroupsValidation { public boolean isValid() { return totalTargets == getTargetsInGroups(); } -} +} \ No newline at end of file diff --git a/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/TargetTagAssignmentResult.java b/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/TargetTagAssignmentResult.java index f2768e590..934bd7f88 100644 --- a/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/TargetTagAssignmentResult.java +++ b/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/TargetTagAssignmentResult.java @@ -9,12 +9,15 @@ */ package org.eclipse.hawkbit.repository.model; +import lombok.Data; + import java.util.List; /** * Result object for {@link TargetTag} assignments. * */ +@Data public class TargetTagAssignmentResult extends AbstractAssignmentResult { private final TargetTag targetTag; @@ -36,8 +39,4 @@ public class TargetTagAssignmentResult extends AbstractAssignmentResult super(alreadyAssigned, assigned, unassigned); this.targetTag = targetTag; } - - public TargetTag getTargetTag() { - return targetTag; - } } diff --git a/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/TargetTypeAssignmentResult.java b/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/TargetTypeAssignmentResult.java index 32fcc8da6..c4ad3b0fe 100644 --- a/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/TargetTypeAssignmentResult.java +++ b/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/TargetTypeAssignmentResult.java @@ -9,12 +9,15 @@ */ package org.eclipse.hawkbit.repository.model; +import lombok.Data; + import java.util.List; /** * Result object for {@link TargetType} assignments. * */ +@Data public class TargetTypeAssignmentResult extends AbstractAssignmentResult { private final TargetType targetType; @@ -36,8 +39,4 @@ public class TargetTypeAssignmentResult extends AbstractAssignmentResult super(alreadyAssigned, assigned, unassigned); this.targetType = targetType; } - - public TargetType getTargetType() { - return targetType; - } -} +} \ No newline at end of file diff --git a/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/TargetWithActionStatus.java b/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/TargetWithActionStatus.java index 1a0e18b7f..d2ecddac4 100644 --- a/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/TargetWithActionStatus.java +++ b/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/TargetWithActionStatus.java @@ -9,14 +9,14 @@ */ package org.eclipse.hawkbit.repository.model; +import lombok.Data; import org.eclipse.hawkbit.repository.Identifiable; import org.eclipse.hawkbit.repository.model.Action.Status; /** - * * Target with action status. - * */ +@Data public class TargetWithActionStatus implements Identifiable { private Target target; @@ -40,32 +40,8 @@ public class TargetWithActionStatus implements Identifiable { this.lastActionStatusCode = lastActionStatusCode; } - public Target getTarget() { - return target; - } - - public Status getStatus() { - return status; - } - - public void setTarget(final Target target) { - this.target = target; - } - - public void setStatus(final Status status) { - this.status = status; - } - @Override public Long getId() { return target.getId(); } - - public Integer getLastActionStatusCode() { - return lastActionStatusCode; - } - - public void setLastActionStatusCode(final Integer lastActionStatusCode) { - this.lastActionStatusCode = lastActionStatusCode; - } } diff --git a/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/TargetWithActionType.java b/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/TargetWithActionType.java index b97de4c3e..6ff5522fe 100644 --- a/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/TargetWithActionType.java +++ b/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/TargetWithActionType.java @@ -9,29 +9,28 @@ */ package org.eclipse.hawkbit.repository.model; -import java.util.Objects; - import jakarta.validation.constraints.Max; import jakarta.validation.constraints.Min; +import lombok.Data; import org.eclipse.hawkbit.repository.exception.InvalidMaintenanceScheduleException; import org.eclipse.hawkbit.repository.model.Action.ActionType; /** * A custom view on {@link Target} with {@link ActionType}. - * */ +@Data public class TargetWithActionType { + private final String controllerId; private final ActionType actionType; private final long forceTime; - @Min(Action.WEIGHT_MIN) - @Max(Action.WEIGHT_MAX) + @Min(Action.WEIGHT_MIN) @Max(Action.WEIGHT_MAX) private final Integer weight; - private String maintenanceSchedule; - private String maintenanceWindowDuration; - private String maintenanceWindowTimeZone; private final boolean confirmationRequired; + private final String maintenanceSchedule; + private final String maintenanceWindowDuration; + private final String maintenanceWindowTimeZone; /** * Constructor that uses {@link ActionType#FORCED} @@ -62,11 +61,7 @@ public class TargetWithActionType { public TargetWithActionType( final String controllerId, final ActionType actionType, final long forceTime, final Integer weight, final boolean confirmationRequired) { - this.controllerId = controllerId; - this.actionType = actionType != null ? actionType : ActionType.FORCED; - this.forceTime = forceTime; - this.weight = weight; - this.confirmationRequired = confirmationRequired; + this(controllerId, actionType, forceTime, weight, null, null, null, confirmationRequired); } /** @@ -98,109 +93,19 @@ public class TargetWithActionType { * @throws InvalidMaintenanceScheduleException * if the parameters do not define a valid maintenance schedule. */ - public TargetWithActionType(final String controllerId, final ActionType actionType, final long forceTime, - final Integer weight, final String maintenanceSchedule, final String maintenanceWindowDuration, - final String maintenanceWindowTimeZone, final boolean confirmationRequired) { - this(controllerId, actionType, forceTime, weight, confirmationRequired); + public TargetWithActionType( + final String controllerId, final ActionType actionType, final long forceTime, final Integer weight, + final String maintenanceSchedule, final String maintenanceWindowDuration, final String maintenanceWindowTimeZone, + final boolean confirmationRequired) { + this.controllerId = controllerId; + this.actionType = actionType != null ? actionType : ActionType.FORCED; + this.forceTime = actionType == ActionType.TIMEFORCED ? + forceTime : RepositoryModelConstants.NO_FORCE_TIME; + this.weight = weight; + this.confirmationRequired = confirmationRequired; this.maintenanceSchedule = maintenanceSchedule; this.maintenanceWindowDuration = maintenanceWindowDuration; this.maintenanceWindowTimeZone = maintenanceWindowTimeZone; } - - public ActionType getActionType() { - if (actionType != null) { - return actionType; - } - // default value - return ActionType.FORCED; - } - - public long getForceTime() { - if (actionType == ActionType.TIMEFORCED) { - return forceTime; - } - return RepositoryModelConstants.NO_FORCE_TIME; - } - - public Integer getWeight() { - return weight; - - } - - public String getControllerId() { - return controllerId; - } - - /** - * Returns the maintenance schedule for the {@link Action}. - * - * @return cron expression as {@link String}. - */ - public String getMaintenanceSchedule() { - return this.maintenanceSchedule; - } - - /** - * Returns the duration of maintenance window for the {@link Action}. - * - * @return duration in HH:mm:ss format as {@link String}. - */ - public String getMaintenanceWindowDuration() { - return maintenanceWindowDuration; - } - - /** - * Returns the timezone of maintenance window for the {@link Action}. - * - * @return the timezone offset from UTC in +/-hh:mm as {@link String}. - */ - public String getMaintenanceWindowTimeZone() { - return maintenanceWindowTimeZone; - } - - /** - * Return if a confirmation is required for this assignment (depends on confirmation flow active) - * - * @return the flag - */ - public boolean isConfirmationRequired() { - return confirmationRequired; - } - - @Override - public String toString() { - return "TargetWithActionType [controllerId=" + controllerId + ", actionType=" + getActionType() + ", forceTime=" - + getForceTime() + ", weight=" + getWeight() + ", maintenanceSchedule=" + getMaintenanceSchedule() - + ", maintenanceWindowDuration=" + getMaintenanceWindowDuration() + ", maintenanceWindowTimeZone=" - + getMaintenanceWindowTimeZone() + ", confirmationRequired=" + isConfirmationRequired() + "]"; - } - - @Override - public int hashCode() { - return Objects.hash(actionType, controllerId, forceTime, weight, confirmationRequired, maintenanceSchedule, - maintenanceWindowDuration, maintenanceWindowTimeZone); - } - - @SuppressWarnings("squid:S1067") - @Override - public boolean equals(final Object obj) { - if (this == obj) { - return true; - } - if (obj == null) { - return false; - } - if (getClass() != obj.getClass()) { - return false; - } - final TargetWithActionType other = (TargetWithActionType) obj; - return Objects.equals(actionType, other.actionType) && Objects.equals(controllerId, other.controllerId) - && Objects.equals(forceTime, other.forceTime) && Objects.equals(weight, other.weight) - && Objects.equals(confirmationRequired, other.confirmationRequired) - && Objects.equals(maintenanceSchedule, other.maintenanceSchedule) - && Objects.equals(maintenanceWindowDuration, other.maintenanceWindowDuration) - && Objects.equals(maintenanceWindowTimeZone, other.maintenanceWindowTimeZone); - } - -} +} \ No newline at end of file diff --git a/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/TenantConfigurationValue.java b/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/TenantConfigurationValue.java index 81670f5f8..b15335038 100644 --- a/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/TenantConfigurationValue.java +++ b/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/TenantConfigurationValue.java @@ -9,6 +9,9 @@ */ package org.eclipse.hawkbit.repository.model; +import lombok.Builder; +import lombok.Data; + import java.io.Serializable; /** @@ -17,175 +20,16 @@ import java.io.Serializable; * @param * type of the configuration value */ +@Data +@Builder public final class TenantConfigurationValue implements Serializable { private static final long serialVersionUID = 1L; + private T value; private Long lastModifiedAt; private String lastModifiedBy; private Long createdAt; private String createdBy; private boolean global = true; - - private TenantConfigurationValue() { - } - - /** - * Gets the value. - * - * @return the value - */ - public T getValue() { - return value; - } - - /** - * Checks if is global. - * - * @return true, if is global - */ - public boolean isGlobal() { - return global; - } - - /** - * Gets the last modified at. - * - * @return the last modified at - */ - public Long getLastModifiedAt() { - return lastModifiedAt; - } - - /** - * Gets the last modified by. - * - * @return the last modified by - */ - public String getLastModifiedBy() { - return lastModifiedBy; - } - - /** - * Gets the created at. - * - * @return the created at - */ - public Long getCreatedAt() { - return createdAt; - } - - /** - * Gets the created by. - * - * @return the created by - */ - public String getCreatedBy() { - return createdBy; - } - - /** - * Builder. - * - * @param - * the key type - * @return the tenant configuration value builder - */ - public static TenantConfigurationValueBuilder builder() { - - return new TenantConfigurationValueBuilder<>(); - } - - /** - * builds the tenant configuration value including some meta data - * - * @param - * type of the configuration value - */ - public static class TenantConfigurationValueBuilder { - - private final TenantConfigurationValue configuration = new TenantConfigurationValue<>(); - - /** - * Builds the. - * - * @return the tenant configuration value - */ - public TenantConfigurationValue build() { - return configuration; - } - - /** - * sets the configuration value itself - * - * @param value - * the value - * @return the tenant configuration value builder - */ - public TenantConfigurationValueBuilder value(final T value) { - this.configuration.value = value; - return this; - } - - /** - * set the is global attribute. - * - * @param global - * true when there is no tenant specific value, false - * otherwise - * @return the tenant configuration value builder - */ - public TenantConfigurationValueBuilder global(final boolean global) { - this.configuration.global = global; - return this; - } - - /** - * Sets the last modified at attribute - * - * @param lastModifiedAt - * timestamp of last modification - * @return the tenant configuration value builder - */ - public TenantConfigurationValueBuilder lastModifiedAt(final Long lastModifiedAt) { - this.configuration.lastModifiedAt = lastModifiedAt; - return this; - } - - /** - * sets the last modified by attribute - * - * @param lastModifiedBy - * the last modified by - * @return the tenant configuration value builder - */ - public TenantConfigurationValueBuilder lastModifiedBy(final String lastModifiedBy) { - this.configuration.lastModifiedBy = lastModifiedBy; - return this; - } - - /** - * sets the created at attribute - * - * @param createdAt - * defined when the configuration has been created - * @return the tenant configuration value builder - */ - public TenantConfigurationValueBuilder createdAt(final Long createdAt) { - this.configuration.createdAt = createdAt; - return this; - } - - /** - * sets the created by attribute - * - * @param createdBy - * defines by whom the configuration has been created - * @return the tenant configuration value builder - */ - public TenantConfigurationValueBuilder createdBy(final String createdBy) { - this.configuration.createdBy = createdBy; - return this; - } - } -} +} \ No newline at end of file diff --git a/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/TotalTargetCountActionStatus.java b/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/TotalTargetCountActionStatus.java index 5a3735d39..dc56664e1 100644 --- a/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/TotalTargetCountActionStatus.java +++ b/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/TotalTargetCountActionStatus.java @@ -9,16 +9,19 @@ */ package org.eclipse.hawkbit.repository.model; +import lombok.Data; + /** * Represents rollout or rollout group statuses and count of targets in each * status. * */ +@Data public class TotalTargetCountActionStatus { private final Action.Status status; private final Long count; - private Long id; + private final Long id; public TotalTargetCountActionStatus(final Long id, final Action.Status status, final Long count) { this.status = status; @@ -27,28 +30,6 @@ public class TotalTargetCountActionStatus { } public TotalTargetCountActionStatus(final Action.Status status, final Long count) { - this.status = status; - this.count = count; - } - - /** - * @return the id - */ - public Long getId() { - return id; - } - - /** - * @return the status - */ - public Action.Status getStatus() { - return status; - } - - /** - * @return the count - */ - public Long getCount() { - return count; + this(null, status, count); } } diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/management/JpaArtifactManagement.java b/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/management/JpaArtifactManagement.java index 6215ed9f3..55da31eea 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/management/JpaArtifactManagement.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/management/JpaArtifactManagement.java @@ -110,7 +110,7 @@ public class JpaArtifactManagement implements ArtifactManagement { final String filename = artifactUpload.getFilename(); final Artifact existing = softwareModule.getArtifactByFilename(filename).orElse(null); if (existing != null) { - if (artifactUpload.overrideExisting()) { + if (artifactUpload.isOverrideExisting()) { LOG.debug("overriding existing artifact with new filename {}", filename); } else { throw new EntityAlreadyExistsException("File with that name already exists in the Software Module"); diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/acm/controller/DistributionSetAccessControllerTest.java b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/acm/controller/DistributionSetAccessControllerTest.java index fd4468d96..5d5c6ca31 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/acm/controller/DistributionSetAccessControllerTest.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/acm/controller/DistributionSetAccessControllerTest.java @@ -81,7 +81,7 @@ class DistributionSetAccessControllerTest extends AbstractAccessControllerTest { // verify distributionSetManagement#findByDistributionSetFilter assertThat(distributionSetManagement .findByDistributionSetFilter(Pageable.unpaged(), - new DistributionSetFilter.DistributionSetFilterBuilder().setIsDeleted(false).build()) + DistributionSetFilter.builder().isDeleted(false).build()) .get().map(Identifiable::getId).toList()).containsOnly(permitted.getId()); // verify distributionSetManagement#get diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/management/DistributionSetManagementTest.java b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/management/DistributionSetManagementTest.java index c9f0a7fbc..b983c169e 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/management/DistributionSetManagementTest.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/management/DistributionSetManagementTest.java @@ -648,8 +648,11 @@ class DistributionSetManagementTest extends AbstractJpaIntegrationTest { assignDistributionSet(dsFour.getId(), tSecond.getControllerId()); - final DistributionSetFilter distributionSetFilter = new DistributionSetFilterBuilder().setIsDeleted(false) - .setIsComplete(true).setSelectDSWithNoTag(Boolean.FALSE).build(); + final DistributionSetFilter distributionSetFilter = + DistributionSetFilter.builder() + .isDeleted(false) + .isComplete(true) + .selectDSWithNoTag(Boolean.FALSE).build(); // target first only has an assigned DS-three so check order correct final List tFirstPin = distributionSetManagement @@ -769,36 +772,36 @@ class DistributionSetManagementTest extends AbstractJpaIntegrationTest { @Step private void validateFindAll(final List expectedDistributionsets) { - assertThatFilterContainsOnlyGivenDistributionSets(getDistributionSetFilterBuilder(), expectedDistributionsets); + assertThatFilterContainsOnlyGivenDistributionSets(DistributionSetFilter.builder(), expectedDistributionsets); } @Step private void validateDeleted(final DistributionSet deletedDistributionSet, final int notDeletedSize) { - assertThatFilterContainsOnlyGivenDistributionSets(getDistributionSetFilterBuilder().setIsDeleted(Boolean.TRUE), + assertThatFilterContainsOnlyGivenDistributionSets(DistributionSetFilter.builder().isDeleted(Boolean.TRUE), singletonList(deletedDistributionSet)); assertThatFilterHasSizeAndDoesNotContainDistributionSet( - getDistributionSetFilterBuilder().setIsDeleted(Boolean.FALSE), notDeletedSize, deletedDistributionSet); + DistributionSetFilter.builder().isDeleted(Boolean.FALSE), notDeletedSize, deletedDistributionSet); } @Step private void validateCompleted(final DistributionSet dsIncomplete, final int completedSize) { assertThatFilterHasSizeAndDoesNotContainDistributionSet( - getDistributionSetFilterBuilder().setIsComplete(Boolean.TRUE), completedSize, dsIncomplete); + DistributionSetFilter.builder().isComplete(Boolean.TRUE), completedSize, dsIncomplete); assertThatFilterContainsOnlyGivenDistributionSets( - getDistributionSetFilterBuilder().setIsComplete(Boolean.FALSE), singletonList(dsIncomplete)); + DistributionSetFilter.builder().isComplete(Boolean.FALSE), singletonList(dsIncomplete)); } @Step private void validateType(final DistributionSetType newType, final DistributionSet dsNewType, final int standardDsTypeSize) { - assertThatFilterContainsOnlyGivenDistributionSets(getDistributionSetFilterBuilder().setTypeId(newType.getId()), + assertThatFilterContainsOnlyGivenDistributionSets(DistributionSetFilter.builder().typeId(newType.getId()), singletonList(dsNewType)); assertThatFilterHasSizeAndDoesNotContainDistributionSet( - getDistributionSetFilterBuilder().setTypeId(standardDsType.getId()), standardDsTypeSize, dsNewType); + DistributionSetFilter.builder().typeId(standardDsType.getId()), standardDsTypeSize, dsNewType); } @Step @@ -806,40 +809,40 @@ class DistributionSetManagementTest extends AbstractJpaIntegrationTest { final List withTestNamePrefix = allDistributionSets.stream() .filter(ds -> ds.getName().startsWith(dsNamePrefix)).collect(Collectors.toList()); - assertThatFilterContainsOnlyGivenDistributionSets(getDistributionSetFilterBuilder().setSearchText(dsNamePrefix), + assertThatFilterContainsOnlyGivenDistributionSets(DistributionSetFilter.builder().searchText(dsNamePrefix), withTestNamePrefix); final List withTestNameExact = withTestNamePrefix.stream() .filter(ds -> ds.getName().equals(dsNamePrefix)).collect(Collectors.toList()); assertThatFilterContainsOnlyGivenDistributionSets( - getDistributionSetFilterBuilder().setSearchText(dsNamePrefix + ":"), withTestNameExact); + DistributionSetFilter.builder().searchText(dsNamePrefix + ":"), withTestNameExact); final List withTestNameExactAndVersionPrefix = withTestNameExact.stream() .filter(ds -> ds.getVersion().startsWith("1")).collect(Collectors.toList()); assertThatFilterContainsOnlyGivenDistributionSets( - getDistributionSetFilterBuilder().setSearchText(dsNamePrefix + ":1"), + DistributionSetFilter.builder().searchText(dsNamePrefix + ":1"), withTestNameExactAndVersionPrefix); final List dsWithExactNameAndVersion = withTestNameExactAndVersionPrefix.stream() .filter(ds -> ds.getVersion().equals("1.0.0")).collect(Collectors.toList()); assertThat(dsWithExactNameAndVersion).hasSize(1); assertThatFilterContainsOnlyGivenDistributionSets( - getDistributionSetFilterBuilder().setSearchText(dsNamePrefix + ":1.0.0"), dsWithExactNameAndVersion); + DistributionSetFilter.builder().searchText(dsNamePrefix + ":1.0.0"), dsWithExactNameAndVersion); final List withVersionPrefix = allDistributionSets.stream() .filter(ds -> ds.getVersion().startsWith("1.0.")).collect(Collectors.toList()); - assertThatFilterContainsOnlyGivenDistributionSets(getDistributionSetFilterBuilder().setSearchText(":1.0."), + assertThatFilterContainsOnlyGivenDistributionSets(DistributionSetFilter.builder().searchText(":1.0."), withVersionPrefix); final List withVersionExact = withVersionPrefix.stream() .filter(ds -> ds.getVersion().equals("1.0.0")).collect(Collectors.toList()); - assertThatFilterContainsOnlyGivenDistributionSets(getDistributionSetFilterBuilder().setSearchText(":1.0.0"), + assertThatFilterContainsOnlyGivenDistributionSets(DistributionSetFilter.builder().searchText(":1.0.0"), withVersionExact); - assertThatFilterContainsOnlyGivenDistributionSets(getDistributionSetFilterBuilder().setSearchText(":"), + assertThatFilterContainsOnlyGivenDistributionSets(DistributionSetFilter.builder().searchText(":"), allDistributionSets); - assertThatFilterContainsOnlyGivenDistributionSets(getDistributionSetFilterBuilder().setSearchText(" : "), + assertThatFilterContainsOnlyGivenDistributionSets(DistributionSetFilter.builder().searchText(" : "), allDistributionSets); } @@ -849,21 +852,21 @@ class DistributionSetManagementTest extends AbstractJpaIntegrationTest { final List dsWithTagB) { assertThatFilterContainsOnlyGivenDistributionSets( - getDistributionSetFilterBuilder().setTagNames(singletonList(dsTagA.getName())), dsWithTagA); + DistributionSetFilter.builder().tagNames(singletonList(dsTagA.getName())), dsWithTagA); assertThatFilterContainsOnlyGivenDistributionSets( - getDistributionSetFilterBuilder().setTagNames(singletonList(dsTagB.getName())), dsWithTagB); + DistributionSetFilter.builder().tagNames(singletonList(dsTagB.getName())), dsWithTagB); assertThatFilterContainsOnlyGivenDistributionSets( - getDistributionSetFilterBuilder().setTagNames(Arrays.asList(dsTagA.getName(), dsTagB.getName())), + DistributionSetFilter.builder().tagNames(Arrays.asList(dsTagA.getName(), dsTagB.getName())), dsWithTagA); assertThatFilterContainsOnlyGivenDistributionSets( - getDistributionSetFilterBuilder().setTagNames(Arrays.asList(dsTagC.getName(), dsTagB.getName())), + DistributionSetFilter.builder().tagNames(Arrays.asList(dsTagC.getName(), dsTagB.getName())), dsWithTagB); assertThatFilterDoesNotContainAnyDistributionSet( - getDistributionSetFilterBuilder().setTagNames(singletonList(dsTagC.getName()))); + DistributionSetFilter.builder().tagNames(singletonList(dsTagC.getName()))); } @Step @@ -873,28 +876,28 @@ class DistributionSetManagementTest extends AbstractJpaIntegrationTest { final List completedNotDeleted = new ArrayList<>(completedStandardType); completedNotDeleted.add(dsNewType); assertThatFilterContainsOnlyGivenDistributionSets( - getDistributionSetFilterBuilder().setIsComplete(Boolean.TRUE).setIsDeleted(Boolean.FALSE), + DistributionSetFilter.builder().isComplete(Boolean.TRUE).isDeleted(Boolean.FALSE), completedNotDeleted); assertThatFilterContainsOnlyGivenDistributionSets( - getDistributionSetFilterBuilder().setIsComplete(Boolean.TRUE).setIsDeleted(Boolean.TRUE), + DistributionSetFilter.builder().isComplete(Boolean.TRUE).isDeleted(Boolean.TRUE), singletonList(dsDeleted)); assertThatFilterDoesNotContainAnyDistributionSet( - getDistributionSetFilterBuilder().setIsComplete(Boolean.FALSE).setIsDeleted(Boolean.TRUE)); + DistributionSetFilter.builder().isComplete(Boolean.FALSE).isDeleted(Boolean.TRUE)); } @Step private void validateDeletedAndCompletedAndType(final List deletedAndCompletedAndStandardType, final DistributionSet dsDeleted, final DistributionSetType newType, final DistributionSet dsNewType) { - assertThatFilterContainsOnlyGivenDistributionSets(getDistributionSetFilterBuilder().setIsDeleted(Boolean.FALSE) - .setIsComplete(Boolean.TRUE).setTypeId(standardDsType.getId()), deletedAndCompletedAndStandardType); - assertThatFilterContainsOnlyGivenDistributionSets(getDistributionSetFilterBuilder().setIsComplete(Boolean.TRUE) - .setTypeId(standardDsType.getId()).setIsDeleted(Boolean.TRUE), singletonList(dsDeleted)); - assertThatFilterDoesNotContainAnyDistributionSet(getDistributionSetFilterBuilder().setIsDeleted(Boolean.TRUE) - .setIsComplete(Boolean.FALSE).setTypeId(standardDsType.getId())); + assertThatFilterContainsOnlyGivenDistributionSets(DistributionSetFilter.builder().isDeleted(Boolean.FALSE) + .isComplete(Boolean.TRUE).typeId(standardDsType.getId()), deletedAndCompletedAndStandardType); + assertThatFilterContainsOnlyGivenDistributionSets(DistributionSetFilter.builder().isComplete(Boolean.TRUE) + .typeId(standardDsType.getId()).isDeleted(Boolean.TRUE), singletonList(dsDeleted)); + assertThatFilterDoesNotContainAnyDistributionSet(DistributionSetFilter.builder().isDeleted(Boolean.TRUE) + .isComplete(Boolean.FALSE).typeId(standardDsType.getId())); assertThatFilterContainsOnlyGivenDistributionSets( - getDistributionSetFilterBuilder().setIsComplete(Boolean.TRUE).setTypeId(newType.getId()), + DistributionSetFilter.builder().isComplete(Boolean.TRUE).typeId(newType.getId()), singletonList(dsNewType)); } @@ -903,19 +906,19 @@ class DistributionSetManagementTest extends AbstractJpaIntegrationTest { final List completedAndStandardTypeAndSearchText, final DistributionSetType newType, final String text) { - assertThatFilterContainsOnlyGivenDistributionSets(getDistributionSetFilterBuilder().setIsDeleted(Boolean.FALSE) - .setIsComplete(Boolean.TRUE).setTypeId(standardDsType.getId()).setSearchText(text), + assertThatFilterContainsOnlyGivenDistributionSets(DistributionSetFilter.builder().isDeleted(Boolean.FALSE) + .isComplete(Boolean.TRUE).typeId(standardDsType.getId()).searchText(text), completedAndStandardTypeAndSearchText); - assertThatFilterDoesNotContainAnyDistributionSet(getDistributionSetFilterBuilder().setIsComplete(Boolean.TRUE) - .setIsDeleted(Boolean.TRUE).setTypeId(standardDsType.getId()).setSearchText(text + ":")); + assertThatFilterDoesNotContainAnyDistributionSet(DistributionSetFilter.builder().isComplete(Boolean.TRUE) + .isDeleted(Boolean.TRUE).typeId(standardDsType.getId()).searchText(text + ":")); assertThatFilterDoesNotContainAnyDistributionSet( - getDistributionSetFilterBuilder().setTypeId(standardDsType.getId()).setSearchText(text) - .setIsComplete(Boolean.FALSE).setIsDeleted(Boolean.FALSE)); + DistributionSetFilter.builder().typeId(standardDsType.getId()).searchText(text) + .isComplete(Boolean.FALSE).isDeleted(Boolean.FALSE)); - assertThatFilterDoesNotContainAnyDistributionSet(getDistributionSetFilterBuilder().setTypeId(newType.getId()) - .setSearchText(text).setIsComplete(Boolean.TRUE).setIsDeleted(Boolean.FALSE)); + assertThatFilterDoesNotContainAnyDistributionSet(DistributionSetFilter.builder().typeId(newType.getId()) + .searchText(text).isComplete(Boolean.TRUE).isDeleted(Boolean.FALSE)); } @Step @@ -927,26 +930,26 @@ class DistributionSetManagementTest extends AbstractJpaIntegrationTest { final List completedAndStandardTypeAndFilterString = new ArrayList<>( completedAndNotDeletedStandardTypeAndFilterString); completedAndStandardTypeAndFilterString.add(dsDeleted); - assertThatFilterContainsOnlyGivenDistributionSets(getDistributionSetFilterBuilder().setIsComplete(Boolean.TRUE) - .setTypeId(standardDsType.getId()).setSearchText(filterString), + assertThatFilterContainsOnlyGivenDistributionSets(DistributionSetFilter.builder().isComplete(Boolean.TRUE) + .typeId(standardDsType.getId()).searchText(filterString), completedAndStandardTypeAndFilterString); assertThatFilterContainsOnlyGivenDistributionSets( - getDistributionSetFilterBuilder().setIsComplete(Boolean.TRUE).setIsDeleted(Boolean.FALSE) - .setTypeId(standardDsType.getId()).setSearchText(filterString), + DistributionSetFilter.builder().isComplete(Boolean.TRUE).isDeleted(Boolean.FALSE) + .typeId(standardDsType.getId()).searchText(filterString), completedAndNotDeletedStandardTypeAndFilterString); - assertThatFilterContainsOnlyGivenDistributionSets(getDistributionSetFilterBuilder().setIsComplete(Boolean.TRUE) - .setIsDeleted(Boolean.TRUE).setTypeId(standardDsType.getId()).setSearchText(filterString), + assertThatFilterContainsOnlyGivenDistributionSets(DistributionSetFilter.builder().isComplete(Boolean.TRUE) + .isDeleted(Boolean.TRUE).typeId(standardDsType.getId()).searchText(filterString), singletonList(dsDeleted)); assertThatFilterContainsOnlyGivenDistributionSets( - getDistributionSetFilterBuilder().setTypeId(standardDsType.getId()).setSearchText(filterString) - .setIsComplete(Boolean.FALSE).setIsDeleted(Boolean.FALSE), + DistributionSetFilter.builder().typeId(standardDsType.getId()).searchText(filterString) + .isComplete(Boolean.FALSE).isDeleted(Boolean.FALSE), singletonList(dsInComplete)); - assertThatFilterContainsOnlyGivenDistributionSets(getDistributionSetFilterBuilder().setTypeId(newType.getId()) - .setSearchText(filterString).setIsComplete(Boolean.TRUE).setIsDeleted(Boolean.FALSE), + assertThatFilterContainsOnlyGivenDistributionSets(DistributionSetFilter.builder().typeId(newType.getId()) + .searchText(filterString).isComplete(Boolean.TRUE).isDeleted(Boolean.FALSE), singletonList(dsNewType)); } @@ -956,17 +959,13 @@ class DistributionSetManagementTest extends AbstractJpaIntegrationTest { final String text) { assertThatFilterContainsOnlyGivenDistributionSets( - getDistributionSetFilterBuilder().setIsComplete(Boolean.TRUE).setTypeId(standardDsType.getId()) - .setSearchText(text).setTagNames(singletonList(dsTagA.getName())), + DistributionSetFilter.builder().isComplete(Boolean.TRUE).typeId(standardDsType.getId()) + .searchText(text).tagNames(singletonList(dsTagA.getName())), completedAndStandartTypeAndSearchTextAndTagA); - assertThatFilterDoesNotContainAnyDistributionSet(getDistributionSetFilterBuilder() - .setTypeId(standardDsType.getId()).setSearchText(text).setTagNames(singletonList(dsTagA.getName())) - .setIsComplete(Boolean.FALSE).setIsDeleted(Boolean.FALSE)); - } - - private DistributionSetFilterBuilder getDistributionSetFilterBuilder() { - return new DistributionSetFilterBuilder(); + assertThatFilterDoesNotContainAnyDistributionSet(DistributionSetFilter.builder() + .typeId(standardDsType.getId()).searchText(text).tagNames(singletonList(dsTagA.getName())) + .isComplete(Boolean.FALSE).isDeleted(Boolean.FALSE)); } private void assertThatFilterContainsOnlyGivenDistributionSets(final DistributionSetFilterBuilder filterBuilder, diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/management/DistributionSetTagManagementTest.java b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/management/DistributionSetTagManagementTest.java index 6a7bb532c..d0056baaa 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/management/DistributionSetTagManagementTest.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/test/java/org/eclipse/hawkbit/repository/jpa/management/DistributionSetTagManagementTest.java @@ -27,7 +27,7 @@ import org.eclipse.hawkbit.repository.event.remote.entity.TargetTagUpdatedEvent; import org.eclipse.hawkbit.repository.exception.EntityAlreadyExistsException; import org.eclipse.hawkbit.repository.jpa.AbstractJpaIntegrationTest; import org.eclipse.hawkbit.repository.model.DistributionSet; -import org.eclipse.hawkbit.repository.model.DistributionSetFilter.DistributionSetFilterBuilder; +import org.eclipse.hawkbit.repository.model.DistributionSetFilter; import org.eclipse.hawkbit.repository.model.DistributionSetTag; import org.eclipse.hawkbit.repository.model.DistributionSetTagAssignmentResult; import org.eclipse.hawkbit.repository.model.Tag; @@ -107,15 +107,15 @@ public class DistributionSetTagManagementTest extends AbstractJpaIntegrationTest toggleTagAssignment(dsABCs, distributionSetTagManagement.getByName(tagC.getName()).get()); // search for not deleted - final DistributionSetFilterBuilder distributionSetFilterBuilder = getDistributionSetFilterBuilder() - .setIsComplete(true); - verifyExpectedFilteredDistributionSets(distributionSetFilterBuilder.setTagNames(Arrays.asList(tagA.getName())), + final DistributionSetFilter.DistributionSetFilterBuilder distributionSetFilterBuilder = getDistributionSetFilterBuilder() + .isComplete(true); + verifyExpectedFilteredDistributionSets(distributionSetFilterBuilder.tagNames(Arrays.asList(tagA.getName())), Stream.of(dsAs, dsABs, dsACs, dsABCs)); - verifyExpectedFilteredDistributionSets(distributionSetFilterBuilder.setTagNames(Arrays.asList(tagB.getName())), + verifyExpectedFilteredDistributionSets(distributionSetFilterBuilder.tagNames(Arrays.asList(tagB.getName())), Stream.of(dsBs, dsABs, dsBCs, dsABCs)); - verifyExpectedFilteredDistributionSets(distributionSetFilterBuilder.setTagNames(Arrays.asList(tagC.getName())), + verifyExpectedFilteredDistributionSets(distributionSetFilterBuilder.tagNames(Arrays.asList(tagC.getName())), Stream.of(dsCs, dsACs, dsBCs, dsABCs)); - verifyExpectedFilteredDistributionSets(distributionSetFilterBuilder.setTagNames(Arrays.asList(tagX.getName())), + verifyExpectedFilteredDistributionSets(distributionSetFilterBuilder.tagNames(Arrays.asList(tagX.getName())), Stream.empty()); assertThat(distributionSetTagRepository.findAll()).hasSize(5); @@ -126,16 +126,16 @@ public class DistributionSetTagManagementTest extends AbstractJpaIntegrationTest distributionSetTagManagement.delete(tagB.getName()); assertThat(distributionSetTagRepository.findAll()).hasSize(2); - verifyExpectedFilteredDistributionSets(distributionSetFilterBuilder.setTagNames(Arrays.asList(tagA.getName())), + verifyExpectedFilteredDistributionSets(distributionSetFilterBuilder.tagNames(Arrays.asList(tagA.getName())), Stream.of(dsAs, dsABs, dsACs, dsABCs)); - verifyExpectedFilteredDistributionSets(distributionSetFilterBuilder.setTagNames(Arrays.asList(tagB.getName())), + verifyExpectedFilteredDistributionSets(distributionSetFilterBuilder.tagNames(Arrays.asList(tagB.getName())), Stream.empty()); - verifyExpectedFilteredDistributionSets(distributionSetFilterBuilder.setTagNames(Arrays.asList(tagC.getName())), + verifyExpectedFilteredDistributionSets(distributionSetFilterBuilder.tagNames(Arrays.asList(tagC.getName())), Stream.of(dsCs, dsACs, dsBCs, dsABCs)); } @Step - private void verifyExpectedFilteredDistributionSets(final DistributionSetFilterBuilder distributionSetFilterBuilder, + private void verifyExpectedFilteredDistributionSets(final DistributionSetFilter.DistributionSetFilterBuilder distributionSetFilterBuilder, final Stream> expectedFilteredDistributionSets) { final Collection retrievedFilteredDsIds = distributionSetManagement .findByDistributionSetFilter(PAGE, distributionSetFilterBuilder.build()).stream() @@ -298,8 +298,8 @@ public class DistributionSetTagManagementTest extends AbstractJpaIntegrationTest return distributionSetTagManagement.findAll(PAGE).getContent(); } - private DistributionSetFilterBuilder getDistributionSetFilterBuilder() { - return new DistributionSetFilterBuilder(); + private DistributionSetFilter.DistributionSetFilterBuilder getDistributionSetFilterBuilder() { + return DistributionSetFilter.builder(); } @SafeVarargs