From c7ad5c5981083012c12bb0391774dddc7531291d Mon Sep 17 00:00:00 2001 From: Rob Bygrave Date: Wed, 6 Apr 2022 22:17:33 +1200 Subject: [PATCH] #2636 - Remove deprecated @CreatedTimestamp and @UpdateTimestamp, migrate to @WhenCreated / @WhenModified --- ebean-api/pom.xml | 2 +- .../deploy/meta/DeployBeanProperty.java | 4 +- .../server/deploy/parse/AnnotationFields.java | 56 ++----------------- .../java/org/tests/model/basic/Contact.java | 2 +- .../java/org/tests/model/basic/Product.java | 2 +- .../test/java/org/tests/model/EGenProps.java | 26 ++++----- .../java/org/tests/model/basic/Contact.java | 2 +- .../java/org/tests/model/basic/Product.java | 2 +- 8 files changed, 22 insertions(+), 74 deletions(-) diff --git a/ebean-api/pom.xml b/ebean-api/pom.xml index 7311f1ff9..f96121114 100644 --- a/ebean-api/pom.xml +++ b/ebean-api/pom.xml @@ -49,7 +49,7 @@ io.ebean ebean-annotation - 7.8 + 8.0 diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/meta/DeployBeanProperty.java b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/meta/DeployBeanProperty.java index 33d1bf266..655f4c101 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/meta/DeployBeanProperty.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/meta/DeployBeanProperty.java @@ -219,9 +219,7 @@ public class DeployBeanProperty { return (AnnotationUtil.has(field, WhenCreated.class) || AnnotationUtil.has(field, WhenModified.class) || AnnotationUtil.has(field, WhoModified.class) - || AnnotationUtil.has(field, WhoCreated.class) - || AnnotationUtil.has(field, UpdatedTimestamp.class) - || AnnotationUtil.has(field, CreatedTimestamp.class)); + || AnnotationUtil.has(field, WhoCreated.class)); } public String getFullBeanName() { diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/parse/AnnotationFields.java b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/parse/AnnotationFields.java index 571e1d3ca..f93fbf028 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/deploy/parse/AnnotationFields.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/deploy/parse/AnnotationFields.java @@ -1,38 +1,7 @@ package io.ebeaninternal.server.deploy.parse; -import io.ebean.annotation.Aggregation; -import io.ebean.annotation.CreatedTimestamp; -import io.ebean.annotation.DbArray; -import io.ebean.annotation.DbComment; -import io.ebean.annotation.DbDefault; -import io.ebean.annotation.DbJson; -import io.ebean.annotation.DbJsonB; -import io.ebean.annotation.DbMap; -import io.ebean.annotation.DbMigration; -import io.ebean.annotation.DocCode; -import io.ebean.annotation.DocEmbedded; -import io.ebean.annotation.DocProperty; -import io.ebean.annotation.DocSortable; -import io.ebean.annotation.Draft; -import io.ebean.annotation.DraftDirty; -import io.ebean.annotation.DraftOnly; -import io.ebean.annotation.DraftReset; -import io.ebean.annotation.Encrypted; -import io.ebean.annotation.Expose; -import io.ebean.annotation.Formula; -import io.ebean.annotation.HistoryExclude; -import io.ebean.annotation.Identity; import io.ebean.annotation.Index; -import io.ebean.annotation.JsonIgnore; -import io.ebean.annotation.Length; -import io.ebean.annotation.SoftDelete; -import io.ebean.annotation.TenantId; -import io.ebean.annotation.UnmappedJson; -import io.ebean.annotation.UpdatedTimestamp; -import io.ebean.annotation.WhenCreated; -import io.ebean.annotation.WhenModified; -import io.ebean.annotation.WhoCreated; -import io.ebean.annotation.WhoModified; +import io.ebean.annotation.*; import io.ebean.config.EncryptDeploy; import io.ebean.config.EncryptDeploy.Mode; import io.ebean.config.dbplatform.DbEncrypt; @@ -51,24 +20,7 @@ import io.ebeaninternal.server.type.ScalarTypeBytesBase; import io.ebeaninternal.server.type.ScalarTypeBytesEncrypted; import io.ebeaninternal.server.type.ScalarTypeEncryptedWrapper; -import javax.persistence.Basic; -import javax.persistence.Column; -import javax.persistence.EmbeddedId; -import javax.persistence.Enumerated; -import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.Lob; -import javax.persistence.ManyToOne; -import javax.persistence.OneToMany; -import javax.persistence.OneToOne; -import javax.persistence.PersistenceException; -import javax.persistence.SequenceGenerator; -import javax.persistence.Temporal; -import javax.persistence.TemporalType; -import javax.persistence.Transient; -import javax.persistence.Version; +import javax.persistence.*; import java.sql.Types; import java.util.Set; import java.util.UUID; @@ -339,10 +291,10 @@ final class AnnotationFields extends AnnotationParser { } private void initWhen(DeployBeanProperty prop) { - if (has(prop, WhenCreated.class) || has(prop, CreatedTimestamp.class)) { + if (has(prop, WhenCreated.class)) { generatedPropFactory.setInsertTimestamp(prop); } - if (has(prop, WhenModified.class) || has(prop, UpdatedTimestamp.class)) { + if (has(prop, WhenModified.class)) { generatedPropFactory.setUpdateTimestamp(prop); } } diff --git a/ebean-core/src/test/java/org/tests/model/basic/Contact.java b/ebean-core/src/test/java/org/tests/model/basic/Contact.java index 883d27d5c..a4d670071 100644 --- a/ebean-core/src/test/java/org/tests/model/basic/Contact.java +++ b/ebean-core/src/test/java/org/tests/model/basic/Contact.java @@ -40,7 +40,7 @@ public class Contact { @OneToMany(cascade = CascadeType.ALL) List notes; - @CreatedTimestamp + @WhenCreated Timestamp cretime; @Version diff --git a/ebean-core/src/test/java/org/tests/model/basic/Product.java b/ebean-core/src/test/java/org/tests/model/basic/Product.java index 60f73475c..b0fde6d07 100644 --- a/ebean-core/src/test/java/org/tests/model/basic/Product.java +++ b/ebean-core/src/test/java/org/tests/model/basic/Product.java @@ -33,7 +33,7 @@ public class Product implements Serializable { String name; - @CreatedTimestamp + @WhenCreated Timestamp cretime; @Version diff --git a/ebean-test/src/test/java/org/tests/model/EGenProps.java b/ebean-test/src/test/java/org/tests/model/EGenProps.java index f5dcadd43..623b131f9 100644 --- a/ebean-test/src/test/java/org/tests/model/EGenProps.java +++ b/ebean-test/src/test/java/org/tests/model/EGenProps.java @@ -1,7 +1,5 @@ package org.tests.model; -import io.ebean.annotation.CreatedTimestamp; -import io.ebean.annotation.UpdatedTimestamp; import io.ebean.annotation.WhenCreated; import io.ebean.annotation.WhenModified; @@ -31,40 +29,40 @@ public class EGenProps { @WhenModified Timestamp whenModified; - @CreatedTimestamp + @WhenCreated Timestamp tsCreated; - @UpdatedTimestamp + @WhenModified Timestamp tsUpdated; - @CreatedTimestamp + @WhenCreated LocalDateTime ldtCreated; - @UpdatedTimestamp + @WhenModified LocalDateTime ldtUpdated; - @CreatedTimestamp + @WhenCreated OffsetDateTime odtCreated; - @UpdatedTimestamp + @WhenModified OffsetDateTime odtUpdated; - @CreatedTimestamp + @WhenCreated ZonedDateTime zdtCreated; - @UpdatedTimestamp + @WhenModified ZonedDateTime zdtUpdated; - @CreatedTimestamp + @WhenCreated Instant instantCreated; - @UpdatedTimestamp + @WhenModified Instant instantUpdated; - @CreatedTimestamp + @WhenCreated long longCreated; - @UpdatedTimestamp + @WhenModified long longUpdated; public Long getId() { diff --git a/ebean-test/src/test/java/org/tests/model/basic/Contact.java b/ebean-test/src/test/java/org/tests/model/basic/Contact.java index 883d27d5c..a4d670071 100644 --- a/ebean-test/src/test/java/org/tests/model/basic/Contact.java +++ b/ebean-test/src/test/java/org/tests/model/basic/Contact.java @@ -40,7 +40,7 @@ public class Contact { @OneToMany(cascade = CascadeType.ALL) List notes; - @CreatedTimestamp + @WhenCreated Timestamp cretime; @Version diff --git a/ebean-test/src/test/java/org/tests/model/basic/Product.java b/ebean-test/src/test/java/org/tests/model/basic/Product.java index 60f73475c..b0fde6d07 100644 --- a/ebean-test/src/test/java/org/tests/model/basic/Product.java +++ b/ebean-test/src/test/java/org/tests/model/basic/Product.java @@ -33,7 +33,7 @@ public class Product implements Serializable { String name; - @CreatedTimestamp + @WhenCreated Timestamp cretime; @Version