JpaTargetFilterQuery javax.persisence.Convert(er) (#2042)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
This commit is contained in:
@@ -13,6 +13,7 @@ import java.util.Optional;
|
|||||||
|
|
||||||
import jakarta.persistence.Column;
|
import jakarta.persistence.Column;
|
||||||
import jakarta.persistence.ConstraintMode;
|
import jakarta.persistence.ConstraintMode;
|
||||||
|
import jakarta.persistence.Convert;
|
||||||
import jakarta.persistence.Entity;
|
import jakarta.persistence.Entity;
|
||||||
import jakarta.persistence.FetchType;
|
import jakarta.persistence.FetchType;
|
||||||
import jakarta.persistence.ForeignKey;
|
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.TargetFilterQueryDeletedEvent;
|
||||||
import org.eclipse.hawkbit.repository.event.remote.entity.TargetFilterQueryCreatedEvent;
|
import org.eclipse.hawkbit.repository.event.remote.entity.TargetFilterQueryCreatedEvent;
|
||||||
import org.eclipse.hawkbit.repository.event.remote.entity.TargetFilterQueryUpdatedEvent;
|
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.Action.ActionType;
|
||||||
import org.eclipse.hawkbit.repository.model.DistributionSet;
|
import org.eclipse.hawkbit.repository.model.DistributionSet;
|
||||||
import org.eclipse.hawkbit.repository.model.NamedEntity;
|
import org.eclipse.hawkbit.repository.model.NamedEntity;
|
||||||
import org.eclipse.hawkbit.repository.model.TargetFilterQuery;
|
import org.eclipse.hawkbit.repository.model.TargetFilterQuery;
|
||||||
import org.eclipse.hawkbit.repository.model.helper.EventPublisherHolder;
|
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.
|
* Stored target filter.
|
||||||
@@ -65,13 +62,7 @@ public class JpaTargetFilterQuery extends AbstractJpaTenantAwareBaseEntity
|
|||||||
private JpaDistributionSet autoAssignDistributionSet;
|
private JpaDistributionSet autoAssignDistributionSet;
|
||||||
|
|
||||||
@Column(name = "auto_assign_action_type", nullable = true)
|
@Column(name = "auto_assign_action_type", nullable = true)
|
||||||
@ObjectTypeConverter(name = "autoAssignActionType", objectType = Action.ActionType.class, dataType = Integer.class, conversionValues = {
|
@Convert(converter = JpaAction.ActionTypeConverter.class)
|
||||||
@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")
|
|
||||||
private ActionType autoAssignActionType;
|
private ActionType autoAssignActionType;
|
||||||
|
|
||||||
@Column(name = "auto_assign_weight", nullable = true)
|
@Column(name = "auto_assign_weight", nullable = true)
|
||||||
@@ -143,6 +134,9 @@ public class JpaTargetFilterQuery extends AbstractJpaTenantAwareBaseEntity
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void setAutoAssignActionType(final ActionType actionType) {
|
public void setAutoAssignActionType(final ActionType actionType) {
|
||||||
|
if (actionType == ActionType.TIMEFORCED) {
|
||||||
|
throw new IllegalArgumentException("TIMEFORCED is not permitted in autoAssignment");
|
||||||
|
}
|
||||||
this.autoAssignActionType = actionType;
|
this.autoAssignActionType = actionType;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user