From 120ced7a0b234b3cd7215a1f0bdfa64993550853 Mon Sep 17 00:00:00 2001 From: barreiro Date: Sat, 30 Mar 2024 15:07:14 +0000 Subject: [PATCH] Add type safety to sequence generators --- .../tools/horreum/entity/ActionLogDAO.java | 14 +++++++------- .../horreum/entity/ExperimentProfileDAO.java | 14 ++++++-------- .../entity/alerting/ChangeDetectionDAO.java | 16 +++++++--------- .../horreum/entity/alerting/DatasetLogDAO.java | 14 ++++++++------ .../entity/alerting/MissingDataRuleDAO.java | 14 +++++++------- .../entity/alerting/TransformationLogDAO.java | 15 ++++++++------- .../horreum/entity/alerting/VariableDAO.java | 14 +++++++------- .../tools/horreum/entity/alerting/WatchDAO.java | 14 +++++++------- .../entity/backend/DatastoreConfigDAO.java | 16 ++++++++-------- .../tools/horreum/entity/data/ActionDAO.java | 15 +++++++-------- .../tools/horreum/entity/data/LabelDAO.java | 16 ++++++++-------- .../tools/horreum/entity/data/SchemaDAO.java | 16 ++++++++-------- .../tools/horreum/entity/data/TestDAO.java | 16 ++++++++-------- .../tools/horreum/entity/data/TestTokenDAO.java | 14 +++++++------- .../horreum/entity/data/TransformerDAO.java | 17 ++++++++--------- .../horreum/entity/data/ViewComponentDAO.java | 15 +++++++-------- .../tools/horreum/entity/data/ViewDAO.java | 14 +++++++------- .../horreum/entity/report/ReportLogDAO.java | 14 ++++++++------ .../tools/horreum/entity/user/Team.java | 16 ++++++++-------- 19 files changed, 141 insertions(+), 143 deletions(-) diff --git a/horreum-backend/src/main/java/io/hyperfoil/tools/horreum/entity/ActionLogDAO.java b/horreum-backend/src/main/java/io/hyperfoil/tools/horreum/entity/ActionLogDAO.java index 03cc75833..9123a3b3f 100644 --- a/horreum-backend/src/main/java/io/hyperfoil/tools/horreum/entity/ActionLogDAO.java +++ b/horreum-backend/src/main/java/io/hyperfoil/tools/horreum/entity/ActionLogDAO.java @@ -2,11 +2,13 @@ import jakarta.persistence.Entity; import jakarta.persistence.GeneratedValue; -import jakarta.persistence.GenerationType; import jakarta.persistence.Id; import jakarta.validation.constraints.NotNull; import org.hibernate.annotations.GenericGenerator; -import org.hibernate.id.enhanced.SequenceStyleGenerator; +import org.hibernate.annotations.Parameter; + +import static jakarta.persistence.GenerationType.SEQUENCE; +import static org.hibernate.id.OptimizableGenerator.INCREMENT_PARAM; @Entity(name = "ActionLog") public class ActionLogDAO extends PersistentLogDAO { @@ -14,12 +16,10 @@ public class ActionLogDAO extends PersistentLogDAO { @Id @GenericGenerator( name = "actionlog_id_generator", - strategy = "io.hyperfoil.tools.horreum.entity.SeqIdGenerator", - parameters = { - @org.hibernate.annotations.Parameter(name = SequenceStyleGenerator.INCREMENT_PARAM, value = "1"), - } + type = SeqIdGenerator.class, + parameters = { @Parameter(name = INCREMENT_PARAM, value = "1") } ) - @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "actionlog_id_generator") + @GeneratedValue(strategy = SEQUENCE, generator = "actionlog_id_generator") public Long id; @NotNull diff --git a/horreum-backend/src/main/java/io/hyperfoil/tools/horreum/entity/ExperimentProfileDAO.java b/horreum-backend/src/main/java/io/hyperfoil/tools/horreum/entity/ExperimentProfileDAO.java index ad7b094bc..4d617fcac 100644 --- a/horreum-backend/src/main/java/io/hyperfoil/tools/horreum/entity/ExperimentProfileDAO.java +++ b/horreum-backend/src/main/java/io/hyperfoil/tools/horreum/entity/ExperimentProfileDAO.java @@ -1,6 +1,5 @@ package io.hyperfoil.tools.horreum.entity; -import java.util.Collection; import java.util.List; import io.hyperfoil.tools.horreum.hibernate.JsonBinaryType; @@ -12,7 +11,6 @@ import jakarta.persistence.FetchType; import jakarta.persistence.ForeignKey; import jakarta.persistence.GeneratedValue; -import jakarta.persistence.GenerationType; import jakarta.persistence.Id; import jakarta.persistence.JoinColumn; import jakarta.persistence.ManyToOne; @@ -23,25 +21,25 @@ import org.hibernate.annotations.GenericGenerator; import org.hibernate.annotations.Parameter; import org.hibernate.annotations.Type; -import org.hibernate.id.enhanced.SequenceStyleGenerator; import com.fasterxml.jackson.databind.JsonNode; import io.hyperfoil.tools.horreum.entity.data.TestDAO; import io.quarkus.hibernate.orm.panache.PanacheEntityBase; +import static jakarta.persistence.GenerationType.SEQUENCE; +import static org.hibernate.id.enhanced.SequenceStyleGenerator.INCREMENT_PARAM; + @Entity(name = "ExperimentProfile") @Table(name = "experiment_profile") public class ExperimentProfileDAO extends PanacheEntityBase { @Id @GenericGenerator( name = "experimentProfileIdGenerator", - strategy = "io.hyperfoil.tools.horreum.entity.SeqIdGenerator", - parameters = { - @Parameter(name = SequenceStyleGenerator.INCREMENT_PARAM, value = "1"), - } + type = SeqIdGenerator.class, + parameters = { @Parameter(name = INCREMENT_PARAM, value = "1") } ) - @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "experimentProfileIdGenerator") + @GeneratedValue(strategy = SEQUENCE, generator = "experimentProfileIdGenerator") public Integer id; @NotNull diff --git a/horreum-backend/src/main/java/io/hyperfoil/tools/horreum/entity/alerting/ChangeDetectionDAO.java b/horreum-backend/src/main/java/io/hyperfoil/tools/horreum/entity/alerting/ChangeDetectionDAO.java index 9d001b837..e6ac1ee04 100644 --- a/horreum-backend/src/main/java/io/hyperfoil/tools/horreum/entity/alerting/ChangeDetectionDAO.java +++ b/horreum-backend/src/main/java/io/hyperfoil/tools/horreum/entity/alerting/ChangeDetectionDAO.java @@ -1,12 +1,12 @@ package io.hyperfoil.tools.horreum.entity.alerting; import com.fasterxml.jackson.databind.node.ObjectNode; +import io.hyperfoil.tools.horreum.entity.SeqIdGenerator; import io.hyperfoil.tools.horreum.hibernate.JsonBinaryType; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.FetchType; import jakarta.persistence.GeneratedValue; -import jakarta.persistence.GenerationType; import jakarta.persistence.Id; import jakarta.persistence.JoinColumn; import jakarta.persistence.ManyToOne; @@ -16,24 +16,22 @@ import org.hibernate.annotations.GenericGenerator; import org.hibernate.annotations.Parameter; import org.hibernate.annotations.Type; -import org.hibernate.id.enhanced.SequenceStyleGenerator; - -import com.fasterxml.jackson.databind.JsonNode; import io.quarkus.hibernate.orm.panache.PanacheEntityBase; +import static jakarta.persistence.GenerationType.SEQUENCE; +import static org.hibernate.id.OptimizableGenerator.INCREMENT_PARAM; + @Entity(name = "ChangeDetection") @JsonIgnoreType public class ChangeDetectionDAO extends PanacheEntityBase { @Id @GenericGenerator( name = "changeDetectionIdGenerator", - strategy = "io.hyperfoil.tools.horreum.entity.SeqIdGenerator", - parameters = { - @Parameter(name = SequenceStyleGenerator.INCREMENT_PARAM, value = "1"), - } + type = SeqIdGenerator.class, + parameters = { @Parameter(name = INCREMENT_PARAM, value = "1") } ) - @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "changeDetectionIdGenerator") + @GeneratedValue(strategy = SEQUENCE, generator = "changeDetectionIdGenerator") public Integer id; @NotNull diff --git a/horreum-backend/src/main/java/io/hyperfoil/tools/horreum/entity/alerting/DatasetLogDAO.java b/horreum-backend/src/main/java/io/hyperfoil/tools/horreum/entity/alerting/DatasetLogDAO.java index ece766d3c..05b0c23c4 100644 --- a/horreum-backend/src/main/java/io/hyperfoil/tools/horreum/entity/alerting/DatasetLogDAO.java +++ b/horreum-backend/src/main/java/io/hyperfoil/tools/horreum/entity/alerting/DatasetLogDAO.java @@ -1,5 +1,6 @@ package io.hyperfoil.tools.horreum.entity.alerting; +import io.hyperfoil.tools.horreum.entity.SeqIdGenerator; import jakarta.persistence.*; import jakarta.validation.constraints.NotNull; @@ -8,7 +9,10 @@ import io.hyperfoil.tools.horreum.entity.data.RunDAO; import io.hyperfoil.tools.horreum.entity.data.TestDAO; import org.hibernate.annotations.GenericGenerator; -import org.hibernate.id.enhanced.SequenceStyleGenerator; +import org.hibernate.annotations.Parameter; + +import static jakarta.persistence.GenerationType.SEQUENCE; +import static org.hibernate.id.OptimizableGenerator.INCREMENT_PARAM; /** * This table is meant to host logged events with relation to {@link DatasetDAO datasets}, @@ -20,12 +24,10 @@ public class DatasetLogDAO extends PersistentLogDAO { @Id @GenericGenerator( name = "datasetlog_id_generator", - strategy = "io.hyperfoil.tools.horreum.entity.SeqIdGenerator", - parameters = { - @org.hibernate.annotations.Parameter(name = SequenceStyleGenerator.INCREMENT_PARAM, value = "1"), - } + type = SeqIdGenerator.class, + parameters = { @Parameter(name = INCREMENT_PARAM, value = "1") } ) - @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "datasetlog_id_generator") + @GeneratedValue(strategy = SEQUENCE, generator = "datasetlog_id_generator") public Long id; @ManyToOne(fetch = FetchType.LAZY, optional = false) diff --git a/horreum-backend/src/main/java/io/hyperfoil/tools/horreum/entity/alerting/MissingDataRuleDAO.java b/horreum-backend/src/main/java/io/hyperfoil/tools/horreum/entity/alerting/MissingDataRuleDAO.java index f23e276e9..8737cf17f 100644 --- a/horreum-backend/src/main/java/io/hyperfoil/tools/horreum/entity/alerting/MissingDataRuleDAO.java +++ b/horreum-backend/src/main/java/io/hyperfoil/tools/horreum/entity/alerting/MissingDataRuleDAO.java @@ -3,13 +3,13 @@ import java.time.Instant; import java.util.Objects; +import io.hyperfoil.tools.horreum.entity.SeqIdGenerator; import io.hyperfoil.tools.horreum.hibernate.JsonBinaryType; import jakarta.persistence.Column; import jakarta.persistence.ConstraintMode; import jakarta.persistence.Entity; import jakarta.persistence.ForeignKey; import jakarta.persistence.GeneratedValue; -import jakarta.persistence.GenerationType; import jakarta.persistence.Id; import jakarta.persistence.JoinColumn; import jakarta.persistence.ManyToOne; @@ -19,13 +19,15 @@ import org.hibernate.annotations.GenericGenerator; import org.hibernate.annotations.Parameter; import org.hibernate.annotations.Type; -import org.hibernate.id.enhanced.SequenceStyleGenerator; import com.fasterxml.jackson.databind.node.ArrayNode; import io.hyperfoil.tools.horreum.entity.data.TestDAO; import io.quarkus.hibernate.orm.panache.PanacheEntityBase; +import static jakarta.persistence.GenerationType.SEQUENCE; +import static org.hibernate.id.OptimizableGenerator.INCREMENT_PARAM; + // If the test has no dataset matching the rule uploaded for more than this duration (in ms) // we send a notification about missing regular upload. If the value is non-positive // no notifications are emitted. @@ -35,12 +37,10 @@ public class MissingDataRuleDAO extends PanacheEntityBase { @Id @GenericGenerator( name = "mdrIdGenerator", - strategy = "io.hyperfoil.tools.horreum.entity.SeqIdGenerator", - parameters = { - @Parameter(name = SequenceStyleGenerator.INCREMENT_PARAM, value = "1"), - } + type = SeqIdGenerator.class, + parameters = { @Parameter(name = INCREMENT_PARAM, value = "1") } ) - @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "mdrIdGenerator") + @GeneratedValue(strategy = SEQUENCE, generator = "mdrIdGenerator") public Integer id; public String name; diff --git a/horreum-backend/src/main/java/io/hyperfoil/tools/horreum/entity/alerting/TransformationLogDAO.java b/horreum-backend/src/main/java/io/hyperfoil/tools/horreum/entity/alerting/TransformationLogDAO.java index 7233daab1..ae377dc0a 100644 --- a/horreum-backend/src/main/java/io/hyperfoil/tools/horreum/entity/alerting/TransformationLogDAO.java +++ b/horreum-backend/src/main/java/io/hyperfoil/tools/horreum/entity/alerting/TransformationLogDAO.java @@ -1,25 +1,26 @@ package io.hyperfoil.tools.horreum.entity.alerting; - +import io.hyperfoil.tools.horreum.entity.SeqIdGenerator; import jakarta.persistence.*; import io.hyperfoil.tools.horreum.entity.PersistentLogDAO; import io.hyperfoil.tools.horreum.entity.data.RunDAO; import io.hyperfoil.tools.horreum.entity.data.TestDAO; import org.hibernate.annotations.GenericGenerator; -import org.hibernate.id.enhanced.SequenceStyleGenerator; +import org.hibernate.annotations.Parameter; + +import static jakarta.persistence.GenerationType.SEQUENCE; +import static org.hibernate.id.OptimizableGenerator.INCREMENT_PARAM; @Entity(name = "TransformationLog") public class TransformationLogDAO extends PersistentLogDAO { @Id @GenericGenerator( name = "transformationlog_id_generator", - strategy = "io.hyperfoil.tools.horreum.entity.SeqIdGenerator", - parameters = { - @org.hibernate.annotations.Parameter(name = SequenceStyleGenerator.INCREMENT_PARAM, value = "1"), - } + type = SeqIdGenerator.class, + parameters = { @Parameter(name = INCREMENT_PARAM, value = "1") } ) - @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "transformationlog_id_generator") + @GeneratedValue(strategy = SEQUENCE, generator = "transformationlog_id_generator") public Long id; @ManyToOne(fetch = FetchType.LAZY, optional = false) diff --git a/horreum-backend/src/main/java/io/hyperfoil/tools/horreum/entity/alerting/VariableDAO.java b/horreum-backend/src/main/java/io/hyperfoil/tools/horreum/entity/alerting/VariableDAO.java index 44e0a3f6a..213849a95 100644 --- a/horreum-backend/src/main/java/io/hyperfoil/tools/horreum/entity/alerting/VariableDAO.java +++ b/horreum-backend/src/main/java/io/hyperfoil/tools/horreum/entity/alerting/VariableDAO.java @@ -2,13 +2,13 @@ import java.util.Set; +import io.hyperfoil.tools.horreum.entity.SeqIdGenerator; import io.hyperfoil.tools.horreum.hibernate.JsonBinaryType; import jakarta.persistence.CascadeType; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.FetchType; import jakarta.persistence.GeneratedValue; -import jakarta.persistence.GenerationType; import jakarta.persistence.Id; import jakarta.persistence.OneToMany; import jakarta.validation.constraints.NotNull; @@ -19,12 +19,14 @@ import org.hibernate.annotations.GenericGenerator; import org.hibernate.annotations.Parameter; import org.hibernate.annotations.Type; -import org.hibernate.id.enhanced.SequenceStyleGenerator; import com.fasterxml.jackson.databind.JsonNode; import io.quarkus.hibernate.orm.panache.PanacheEntityBase; +import static jakarta.persistence.GenerationType.SEQUENCE; +import static org.hibernate.id.OptimizableGenerator.INCREMENT_PARAM; + /** * Variable emits a single value from the {@link RunDAO#data} * using {@link LabelDAO labels} and @@ -37,12 +39,10 @@ public class VariableDAO extends PanacheEntityBase { @Id @GenericGenerator( name = "variableIdGenerator", - strategy = "io.hyperfoil.tools.horreum.entity.SeqIdGenerator", - parameters = { - @Parameter(name = SequenceStyleGenerator.INCREMENT_PARAM, value = "1"), - } + type = SeqIdGenerator.class, + parameters = { @Parameter(name = INCREMENT_PARAM, value = "1") } ) - @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "variableIdGenerator") + @GeneratedValue(strategy = SEQUENCE, generator = "variableIdGenerator") public Integer id; @NotNull diff --git a/horreum-backend/src/main/java/io/hyperfoil/tools/horreum/entity/alerting/WatchDAO.java b/horreum-backend/src/main/java/io/hyperfoil/tools/horreum/entity/alerting/WatchDAO.java index 4e3718157..6165f0da6 100644 --- a/horreum-backend/src/main/java/io/hyperfoil/tools/horreum/entity/alerting/WatchDAO.java +++ b/horreum-backend/src/main/java/io/hyperfoil/tools/horreum/entity/alerting/WatchDAO.java @@ -2,13 +2,13 @@ import java.util.List; +import io.hyperfoil.tools.horreum.entity.SeqIdGenerator; import jakarta.persistence.ConstraintMode; import jakarta.persistence.ElementCollection; import jakarta.persistence.Entity; import jakarta.persistence.FetchType; import jakarta.persistence.ForeignKey; import jakarta.persistence.GeneratedValue; -import jakarta.persistence.GenerationType; import jakarta.persistence.Id; import jakarta.persistence.JoinColumn; import jakarta.persistence.OneToOne; @@ -20,11 +20,13 @@ import org.hibernate.annotations.FetchMode; import org.hibernate.annotations.GenericGenerator; import org.hibernate.annotations.Parameter; -import org.hibernate.id.enhanced.SequenceStyleGenerator; import io.hyperfoil.tools.horreum.entity.data.TestDAO; import io.quarkus.hibernate.orm.panache.PanacheEntityBase; +import static jakarta.persistence.GenerationType.SEQUENCE; +import static org.hibernate.id.OptimizableGenerator.INCREMENT_PARAM; + /** * Records parties interested in new {@link ChangeDAO changes} in given test. * It's not possible to subscribe to individual {@link VariableDAO}; all variables are watched. @@ -35,12 +37,10 @@ public class WatchDAO extends PanacheEntityBase { @Id @GenericGenerator( name = "subscriptionIdGenerator", - strategy = "io.hyperfoil.tools.horreum.entity.SeqIdGenerator", - parameters = { - @Parameter(name = SequenceStyleGenerator.INCREMENT_PARAM, value = "1"), - } + type = SeqIdGenerator.class, + parameters = { @Parameter(name = INCREMENT_PARAM, value = "1") } ) - @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "subscriptionIdGenerator") + @GeneratedValue(strategy = SEQUENCE, generator = "subscriptionIdGenerator") public Integer id; @OneToOne(fetch = FetchType.LAZY, optional = false) diff --git a/horreum-backend/src/main/java/io/hyperfoil/tools/horreum/entity/backend/DatastoreConfigDAO.java b/horreum-backend/src/main/java/io/hyperfoil/tools/horreum/entity/backend/DatastoreConfigDAO.java index d9f3838b8..267bbee3e 100644 --- a/horreum-backend/src/main/java/io/hyperfoil/tools/horreum/entity/backend/DatastoreConfigDAO.java +++ b/horreum-backend/src/main/java/io/hyperfoil/tools/horreum/entity/backend/DatastoreConfigDAO.java @@ -3,33 +3,33 @@ import com.fasterxml.jackson.databind.node.ObjectNode; import io.hyperfoil.tools.horreum.api.data.Access; import io.hyperfoil.tools.horreum.api.data.datastore.DatastoreType; +import io.hyperfoil.tools.horreum.entity.SeqIdGenerator; import io.hyperfoil.tools.horreum.hibernate.JsonBinaryType; import io.quarkus.hibernate.orm.panache.PanacheEntityBase; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.GeneratedValue; -import jakarta.persistence.GenerationType; import jakarta.persistence.Id; import jakarta.validation.constraints.NotNull; import org.hibernate.annotations.GenericGenerator; import org.hibernate.annotations.JdbcTypeCode; import org.hibernate.annotations.Parameter; import org.hibernate.annotations.Type; -import org.hibernate.id.enhanced.SequenceStyleGenerator; import org.hibernate.type.SqlTypes; +import static jakarta.persistence.GenerationType.SEQUENCE; +import static org.hibernate.id.OptimizableGenerator.INCREMENT_PARAM; +import static org.hibernate.id.enhanced.SequenceStyleGenerator.SEQUENCE_PARAM; + @Entity(name = "backendconfig") public class DatastoreConfigDAO extends PanacheEntityBase { @Id @GenericGenerator( name = "datastoreIdGenerator", - strategy = "io.hyperfoil.tools.horreum.entity.SeqIdGenerator", - parameters = { - @Parameter(name = SequenceStyleGenerator.SEQUENCE_PARAM, value = "backend_id_seq"), - @Parameter(name = SequenceStyleGenerator.INCREMENT_PARAM, value = "1"), - } + type = SeqIdGenerator.class, + parameters = { @Parameter(name = SEQUENCE_PARAM, value = "backend_id_seq"), @Parameter(name = INCREMENT_PARAM, value = "1") } ) - @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "datastoreIdGenerator") + @GeneratedValue(strategy = SEQUENCE, generator = "datastoreIdGenerator") @Column(name="id") public Integer id; diff --git a/horreum-backend/src/main/java/io/hyperfoil/tools/horreum/entity/data/ActionDAO.java b/horreum-backend/src/main/java/io/hyperfoil/tools/horreum/entity/data/ActionDAO.java index eeb9ff577..2961bc1d7 100644 --- a/horreum-backend/src/main/java/io/hyperfoil/tools/horreum/entity/data/ActionDAO.java +++ b/horreum-backend/src/main/java/io/hyperfoil/tools/horreum/entity/data/ActionDAO.java @@ -1,6 +1,7 @@ package io.hyperfoil.tools.horreum.entity.data; import com.fasterxml.jackson.databind.node.ObjectNode; +import io.hyperfoil.tools.horreum.entity.SeqIdGenerator; import io.hyperfoil.tools.horreum.hibernate.JsonBinaryType; import io.quarkus.hibernate.orm.panache.PanacheEntityBase; @@ -10,22 +11,20 @@ import org.hibernate.annotations.GenericGenerator; import org.hibernate.annotations.Parameter; import org.hibernate.annotations.Type; -import org.hibernate.id.enhanced.SequenceStyleGenerator; -import com.fasterxml.jackson.databind.JsonNode; +import static jakarta.persistence.GenerationType.SEQUENCE; +import static org.hibernate.id.OptimizableGenerator.INCREMENT_PARAM; +import static org.hibernate.id.enhanced.SequenceStyleGenerator.SEQUENCE_PARAM; @Entity(name = "Action") public class ActionDAO extends PanacheEntityBase { @Id @GenericGenerator( name = "actionSequence", - strategy = "io.hyperfoil.tools.horreum.entity.SeqIdGenerator", - parameters = { - @Parameter(name = SequenceStyleGenerator.SEQUENCE_PARAM, value = "action_id_seq"), - @Parameter(name = SequenceStyleGenerator.INCREMENT_PARAM, value = "1"), - } + type = SeqIdGenerator.class, + parameters = { @Parameter(name = SEQUENCE_PARAM, value = "action_id_seq"), @Parameter(name = INCREMENT_PARAM, value = "1") } ) - @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "actionSequence") + @GeneratedValue(strategy = SEQUENCE, generator = "actionSequence") public Integer id; @NotNull diff --git a/horreum-backend/src/main/java/io/hyperfoil/tools/horreum/entity/data/LabelDAO.java b/horreum-backend/src/main/java/io/hyperfoil/tools/horreum/entity/data/LabelDAO.java index 585b90110..e46adb501 100644 --- a/horreum-backend/src/main/java/io/hyperfoil/tools/horreum/entity/data/LabelDAO.java +++ b/horreum-backend/src/main/java/io/hyperfoil/tools/horreum/entity/data/LabelDAO.java @@ -2,12 +2,12 @@ import java.util.Collection; +import io.hyperfoil.tools.horreum.entity.SeqIdGenerator; import jakarta.persistence.CollectionTable; import jakarta.persistence.ElementCollection; import jakarta.persistence.Entity; import jakarta.persistence.FetchType; import jakarta.persistence.GeneratedValue; -import jakarta.persistence.GenerationType; import jakarta.persistence.Id; import jakarta.persistence.JoinColumn; import jakarta.persistence.ManyToOne; @@ -15,7 +15,10 @@ import org.hibernate.annotations.GenericGenerator; import org.hibernate.annotations.Parameter; -import org.hibernate.id.enhanced.SequenceStyleGenerator; + +import static jakarta.persistence.GenerationType.SEQUENCE; +import static org.hibernate.id.OptimizableGenerator.INCREMENT_PARAM; +import static org.hibernate.id.enhanced.SequenceStyleGenerator.SEQUENCE_PARAM; /* When we make changes to label we need to ensure that we remove label_values where label_id = id * After delete on extractors we need to execute: @@ -26,13 +29,10 @@ public class LabelDAO extends OwnedEntityBase { @Id @GenericGenerator( name = "labelIdGenerator", - strategy = "io.hyperfoil.tools.horreum.entity.SeqIdGenerator", - parameters = { - @Parameter(name = SequenceStyleGenerator.SEQUENCE_PARAM, value = "label_id_seq"), - @Parameter(name = SequenceStyleGenerator.INCREMENT_PARAM, value = "1"), - } + type = SeqIdGenerator.class, + parameters = { @Parameter(name = SEQUENCE_PARAM, value = "label_id_seq"), @Parameter(name = INCREMENT_PARAM, value = "1") } ) - @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "labelIdGenerator") + @GeneratedValue(strategy = SEQUENCE, generator = "labelIdGenerator") public Integer id; @NotNull diff --git a/horreum-backend/src/main/java/io/hyperfoil/tools/horreum/entity/data/SchemaDAO.java b/horreum-backend/src/main/java/io/hyperfoil/tools/horreum/entity/data/SchemaDAO.java index 0a0eb961c..be39c5042 100644 --- a/horreum-backend/src/main/java/io/hyperfoil/tools/horreum/entity/data/SchemaDAO.java +++ b/horreum-backend/src/main/java/io/hyperfoil/tools/horreum/entity/data/SchemaDAO.java @@ -2,16 +2,15 @@ import com.fasterxml.jackson.annotation.JsonIgnoreType; +import io.hyperfoil.tools.horreum.entity.SeqIdGenerator; import io.hyperfoil.tools.horreum.hibernate.JsonBinaryType; import org.hibernate.annotations.GenericGenerator; import org.hibernate.annotations.Parameter; import org.hibernate.annotations.Type; -import org.hibernate.id.enhanced.SequenceStyleGenerator; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.GeneratedValue; -import jakarta.persistence.GenerationType; import jakarta.persistence.Id; import jakarta.persistence.NamedNativeQueries; import jakarta.persistence.NamedNativeQuery; @@ -21,6 +20,10 @@ import com.fasterxml.jackson.databind.JsonNode; +import static jakarta.persistence.GenerationType.SEQUENCE; +import static org.hibernate.id.OptimizableGenerator.INCREMENT_PARAM; +import static org.hibernate.id.enhanced.SequenceStyleGenerator.SEQUENCE_PARAM; + @NamedNativeQueries({ @NamedNativeQuery( name = SchemaDAO.QUERY_1ST_LEVEL_BY_RUNID_TRANSFORMERID_SCHEMA_ID, @@ -66,13 +69,10 @@ public class SchemaDAO extends ProtectedBaseEntity { @Id @GenericGenerator( name = "schemaIdGenerator", - strategy = "io.hyperfoil.tools.horreum.entity.SeqIdGenerator", - parameters = { - @Parameter(name = SequenceStyleGenerator.SEQUENCE_PARAM, value = "schema_id_seq"), - @Parameter(name = SequenceStyleGenerator.INCREMENT_PARAM, value = "1"), - } + type = SeqIdGenerator.class, + parameters = { @Parameter(name = SEQUENCE_PARAM, value = "schema_id_seq"), @Parameter(name = INCREMENT_PARAM, value = "1") } ) - @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "schemaIdGenerator") + @GeneratedValue(strategy = SEQUENCE, generator = "schemaIdGenerator") public Integer id; @NotNull diff --git a/horreum-backend/src/main/java/io/hyperfoil/tools/horreum/entity/data/TestDAO.java b/horreum-backend/src/main/java/io/hyperfoil/tools/horreum/entity/data/TestDAO.java index a63688196..725becc75 100644 --- a/horreum-backend/src/main/java/io/hyperfoil/tools/horreum/entity/data/TestDAO.java +++ b/horreum-backend/src/main/java/io/hyperfoil/tools/horreum/entity/data/TestDAO.java @@ -4,6 +4,7 @@ import com.fasterxml.jackson.annotation.JsonIgnoreType; import io.hyperfoil.tools.horreum.api.data.Access; +import io.hyperfoil.tools.horreum.entity.SeqIdGenerator; import io.hyperfoil.tools.horreum.entity.backend.DatastoreConfigDAO; import io.hyperfoil.tools.horreum.hibernate.JsonBinaryType; import io.quarkus.hibernate.orm.panache.PanacheEntityBase; @@ -13,7 +14,6 @@ import jakarta.persistence.Entity; import jakarta.persistence.FetchType; import jakarta.persistence.GeneratedValue; -import jakarta.persistence.GenerationType; import jakarta.persistence.Id; import jakarta.persistence.JoinColumn; import jakarta.persistence.JoinTable; @@ -27,24 +27,24 @@ import org.hibernate.annotations.JdbcTypeCode; import org.hibernate.annotations.Parameter; import org.hibernate.annotations.Type; -import org.hibernate.id.enhanced.SequenceStyleGenerator; import com.fasterxml.jackson.databind.JsonNode; import org.hibernate.type.SqlTypes; +import static jakarta.persistence.GenerationType.SEQUENCE; +import static org.hibernate.id.OptimizableGenerator.INCREMENT_PARAM; +import static org.hibernate.id.enhanced.SequenceStyleGenerator.SEQUENCE_PARAM; + @Entity(name="test") @JsonIgnoreType public class TestDAO extends PanacheEntityBase { @Id @GenericGenerator( name = "testIdGenerator", - strategy = "io.hyperfoil.tools.horreum.entity.SeqIdGenerator", - parameters = { - @Parameter(name = SequenceStyleGenerator.SEQUENCE_PARAM, value = "test_id_seq"), - @Parameter(name = SequenceStyleGenerator.INCREMENT_PARAM, value = "1"), - } + type = SeqIdGenerator.class, + parameters = { @Parameter(name = SEQUENCE_PARAM, value = "test_id_seq"), @Parameter(name = INCREMENT_PARAM, value = "1") } ) - @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "testIdGenerator") + @GeneratedValue(strategy = SEQUENCE, generator = "testIdGenerator") @Column(name="id") public Integer id; diff --git a/horreum-backend/src/main/java/io/hyperfoil/tools/horreum/entity/data/TestTokenDAO.java b/horreum-backend/src/main/java/io/hyperfoil/tools/horreum/entity/data/TestTokenDAO.java index bd2df1e5a..465e1d7ef 100644 --- a/horreum-backend/src/main/java/io/hyperfoil/tools/horreum/entity/data/TestTokenDAO.java +++ b/horreum-backend/src/main/java/io/hyperfoil/tools/horreum/entity/data/TestTokenDAO.java @@ -2,11 +2,11 @@ import java.util.function.Function; +import io.hyperfoil.tools.horreum.entity.SeqIdGenerator; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.FetchType; import jakarta.persistence.GeneratedValue; -import jakarta.persistence.GenerationType; import jakarta.persistence.Id; import jakarta.persistence.JoinColumn; import jakarta.persistence.ManyToOne; @@ -14,7 +14,9 @@ import org.hibernate.annotations.GenericGenerator; import org.hibernate.annotations.Parameter; -import org.hibernate.id.enhanced.SequenceStyleGenerator; + +import static jakarta.persistence.GenerationType.SEQUENCE; +import static org.hibernate.id.OptimizableGenerator.INCREMENT_PARAM; @Entity(name = "test_token") public class TestTokenDAO { @@ -28,12 +30,10 @@ public class TestTokenDAO { @NotNull @GenericGenerator( name = "tokenIdGenerator", - strategy = "io.hyperfoil.tools.horreum.entity.SeqIdGenerator", - parameters = { - @Parameter(name = SequenceStyleGenerator.INCREMENT_PARAM, value = "1"), - } + type = SeqIdGenerator.class, + parameters = { @Parameter(name = INCREMENT_PARAM, value = "1") } ) - @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "tokenIdGenerator") + @GeneratedValue(strategy = SEQUENCE, generator = "tokenIdGenerator") public Integer id; @ManyToOne(fetch = FetchType.LAZY) diff --git a/horreum-backend/src/main/java/io/hyperfoil/tools/horreum/entity/data/TransformerDAO.java b/horreum-backend/src/main/java/io/hyperfoil/tools/horreum/entity/data/TransformerDAO.java index 2b9b11852..e4b75bd2c 100644 --- a/horreum-backend/src/main/java/io/hyperfoil/tools/horreum/entity/data/TransformerDAO.java +++ b/horreum-backend/src/main/java/io/hyperfoil/tools/horreum/entity/data/TransformerDAO.java @@ -1,16 +1,14 @@ package io.hyperfoil.tools.horreum.entity.data; -import static java.lang.Integer.compare; - import java.util.Collection; +import io.hyperfoil.tools.horreum.entity.SeqIdGenerator; import jakarta.persistence.CollectionTable; import jakarta.persistence.Column; import jakarta.persistence.ElementCollection; import jakarta.persistence.Entity; import jakarta.persistence.FetchType; import jakarta.persistence.GeneratedValue; -import jakarta.persistence.GenerationType; import jakarta.persistence.Id; import jakarta.persistence.JoinColumn; import jakarta.persistence.ManyToOne; @@ -19,7 +17,10 @@ import com.fasterxml.jackson.annotation.JsonIgnoreType; import org.hibernate.annotations.GenericGenerator; import org.hibernate.annotations.Parameter; -import org.hibernate.id.enhanced.SequenceStyleGenerator; + +import static jakarta.persistence.GenerationType.SEQUENCE; +import static java.lang.Integer.compare; +import static org.hibernate.id.OptimizableGenerator.INCREMENT_PARAM; @Entity(name = "Transformer") @JsonIgnoreType @@ -27,12 +28,10 @@ public class TransformerDAO extends OwnedEntityBase implements Comparable