diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/JpaTargetFilterQuery.java b/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/JpaTargetFilterQuery.java index dbf5db266..bef1957fe 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/JpaTargetFilterQuery.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/JpaTargetFilterQuery.java @@ -13,6 +13,7 @@ import java.util.Optional; import jakarta.persistence.Column; import jakarta.persistence.ConstraintMode; +import jakarta.persistence.Convert; import jakarta.persistence.Entity; import jakarta.persistence.FetchType; import jakarta.persistence.ForeignKey; @@ -26,15 +27,11 @@ import jakarta.validation.constraints.Size; import org.eclipse.hawkbit.repository.event.remote.TargetFilterQueryDeletedEvent; import org.eclipse.hawkbit.repository.event.remote.entity.TargetFilterQueryCreatedEvent; import org.eclipse.hawkbit.repository.event.remote.entity.TargetFilterQueryUpdatedEvent; -import org.eclipse.hawkbit.repository.model.Action; import org.eclipse.hawkbit.repository.model.Action.ActionType; import org.eclipse.hawkbit.repository.model.DistributionSet; import org.eclipse.hawkbit.repository.model.NamedEntity; import org.eclipse.hawkbit.repository.model.TargetFilterQuery; import org.eclipse.hawkbit.repository.model.helper.EventPublisherHolder; -import org.eclipse.persistence.annotations.ConversionValue; -import org.eclipse.persistence.annotations.Convert; -import org.eclipse.persistence.annotations.ObjectTypeConverter; /** * Stored target filter. @@ -65,13 +62,7 @@ public class JpaTargetFilterQuery extends AbstractJpaTenantAwareBaseEntity private JpaDistributionSet autoAssignDistributionSet; @Column(name = "auto_assign_action_type", nullable = true) - @ObjectTypeConverter(name = "autoAssignActionType", objectType = Action.ActionType.class, dataType = Integer.class, conversionValues = { - @ConversionValue(objectValue = "FORCED", dataValue = "0"), - @ConversionValue(objectValue = "SOFT", dataValue = "1"), - // Conversion for 'TIMEFORCED' is disabled because it is not - // permitted in autoAssignment - @ConversionValue(objectValue = "DOWNLOAD_ONLY", dataValue = "3") }) - @Convert("autoAssignActionType") + @Convert(converter = JpaAction.ActionTypeConverter.class) private ActionType autoAssignActionType; @Column(name = "auto_assign_weight", nullable = true) @@ -143,6 +134,9 @@ public class JpaTargetFilterQuery extends AbstractJpaTenantAwareBaseEntity } public void setAutoAssignActionType(final ActionType actionType) { + if (actionType == ActionType.TIMEFORCED) { + throw new IllegalArgumentException("TIMEFORCED is not permitted in autoAssignment"); + } this.autoAssignActionType = actionType; }