JpaTargetFilterQuery javax.persisence.Convert(er) (#2042)

Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
This commit is contained in:
Avgustin Marinov
2024-11-15 20:34:33 +02:00
committed by GitHub
parent ee085bba68
commit 11b9ff0cce

View File

@@ -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;
}