diff --git a/core/src/main/java/google/registry/model/EntityClasses.java b/core/src/main/java/google/registry/model/EntityClasses.java index 3466d54bc..c6fbfe785 100644 --- a/core/src/main/java/google/registry/model/EntityClasses.java +++ b/core/src/main/java/google/registry/model/EntityClasses.java @@ -28,7 +28,6 @@ import google.registry.model.host.HostHistory; import google.registry.model.index.EppResourceIndex; import google.registry.model.index.EppResourceIndexBucket; import google.registry.model.index.ForeignKeyIndex; -import google.registry.model.rde.RdeRevision; import google.registry.model.registrar.Registrar; import google.registry.model.reporting.HistoryEntry; import google.registry.model.server.Lock; @@ -57,7 +56,6 @@ public final class EntityClasses { Host.class, HostHistory.class, Lock.class, - RdeRevision.class, Registrar.class, ServerSecret.class); diff --git a/core/src/main/java/google/registry/model/rde/RdeRevision.java b/core/src/main/java/google/registry/model/rde/RdeRevision.java index b9e417dc5..aada6a8dc 100644 --- a/core/src/main/java/google/registry/model/rde/RdeRevision.java +++ b/core/src/main/java/google/registry/model/rde/RdeRevision.java @@ -19,10 +19,6 @@ import static google.registry.model.rde.RdeNamingUtils.makePartialName; import static google.registry.persistence.transaction.TransactionManagerFactory.tm; import com.google.common.base.VerifyException; -import com.googlecode.objectify.Key; -import com.googlecode.objectify.annotation.Entity; -import com.googlecode.objectify.annotation.Id; -import com.googlecode.objectify.annotation.Ignore; import google.registry.model.BackupGroupRoot; import google.registry.model.ImmutableObject; import google.registry.model.rde.RdeRevision.RdeRevisionId; @@ -32,10 +28,11 @@ import java.io.Serializable; import java.util.Optional; import javax.persistence.Column; import javax.persistence.Convert; +import javax.persistence.Entity; import javax.persistence.EnumType; import javax.persistence.Enumerated; +import javax.persistence.Id; import javax.persistence.IdClass; -import javax.persistence.Transient; import org.joda.time.DateTime; import org.joda.time.LocalDate; @@ -47,18 +44,14 @@ import org.joda.time.LocalDate; * flag is included in the generated XML. */ @Entity -@javax.persistence.Entity @IdClass(RdeRevisionId.class) public final class RdeRevision extends BackupGroupRoot { - /** String triplet of tld, date, and mode, e.g. {@code soy_2015-09-01_full}. */ - @Id @Transient String id; + @Id String tld; - @javax.persistence.Id @Ignore String tld; + @Id LocalDate date; - @javax.persistence.Id @Ignore LocalDate date; - - @javax.persistence.Id @Ignore RdeMode mode; + @Id RdeMode mode; /** * Number of last revision successfully staged to GCS. @@ -71,10 +64,8 @@ public final class RdeRevision extends BackupGroupRoot { /** Hibernate requires an empty constructor. */ private RdeRevision() {} - public static RdeRevision create( - String id, String tld, LocalDate date, RdeMode mode, int revision) { + public static RdeRevision create(String tld, LocalDate date, RdeMode mode, int revision) { RdeRevision instance = new RdeRevision(); - instance.id = id; instance.tld = tld; instance.date = date; instance.mode = mode; @@ -92,12 +83,9 @@ public final class RdeRevision extends BackupGroupRoot { * @return {@code 0} for first deposit generation and {@code >0} for resends */ public static int getNextRevision(String tld, DateTime date, RdeMode mode) { - String id = makePartialName(tld, date, mode); RdeRevisionId sqlKey = RdeRevisionId.create(tld, date.toLocalDate(), mode); - Key ofyKey = Key.create(RdeRevision.class, id); Optional revisionOptional = - tm().transact( - () -> tm().loadByKeyIfPresent(VKey.create(RdeRevision.class, sqlKey, ofyKey))); + tm().transact(() -> tm().loadByKeyIfPresent(VKey.createSql(RdeRevision.class, sqlKey))); return revisionOptional.map(rdeRevision -> rdeRevision.revision + 1).orElse(0); } @@ -121,12 +109,10 @@ public final class RdeRevision extends BackupGroupRoot { */ public static void saveRevision(String tld, DateTime date, RdeMode mode, int revision) { checkArgument(revision >= 0, "Negative revision: %s", revision); - String triplet = makePartialName(tld, date, mode); tm().assertInTransaction(); RdeRevisionId sqlKey = RdeRevisionId.create(tld, date.toLocalDate(), mode); - Key ofyKey = Key.create(RdeRevision.class, triplet); Optional revisionOptional = - tm().loadByKeyIfPresent(VKey.create(RdeRevision.class, sqlKey, ofyKey)); + tm().loadByKeyIfPresent(VKey.createSql(RdeRevision.class, sqlKey)); if (revision == 0) { revisionOptional.ifPresent( rdeRevision -> { @@ -139,7 +125,7 @@ public final class RdeRevision extends BackupGroupRoot { checkArgument( revisionOptional.isPresent(), "Couldn't find existing RDE revision %s when trying to save new revision %s", - triplet, + makePartialName(tld, date, mode), revision); checkArgument( revisionOptional.get().revision == revision - 1, @@ -147,7 +133,7 @@ public final class RdeRevision extends BackupGroupRoot { revision - 1, revisionOptional.get()); } - RdeRevision object = RdeRevision.create(triplet, tld, date.toLocalDate(), mode, revision); + RdeRevision object = create(tld, date.toLocalDate(), mode, revision); tm().put(object); } diff --git a/core/src/test/java/google/registry/model/common/ClassPathManagerTest.java b/core/src/test/java/google/registry/model/common/ClassPathManagerTest.java index 14278ef8e..e747b446a 100644 --- a/core/src/test/java/google/registry/model/common/ClassPathManagerTest.java +++ b/core/src/test/java/google/registry/model/common/ClassPathManagerTest.java @@ -27,7 +27,6 @@ import google.registry.model.index.EppResourceIndexBucket; import google.registry.model.index.ForeignKeyIndex.ForeignKeyContactIndex; import google.registry.model.index.ForeignKeyIndex.ForeignKeyDomainIndex; import google.registry.model.index.ForeignKeyIndex.ForeignKeyHostIndex; -import google.registry.model.rde.RdeRevision; import google.registry.model.registrar.Registrar; import google.registry.model.reporting.HistoryEntry; import google.registry.model.server.Lock; @@ -51,7 +50,6 @@ public class ClassPathManagerTest { assertThat(ClassPathManager.getClass("ForeignKeyContactIndex")) .isEqualTo(ForeignKeyContactIndex.class); assertThat(ClassPathManager.getClass("AllocationToken")).isEqualTo(AllocationToken.class); - assertThat(ClassPathManager.getClass("RdeRevision")).isEqualTo(RdeRevision.class); assertThat(ClassPathManager.getClass("Host")).isEqualTo(Host.class); assertThat(ClassPathManager.getClass("Registrar")).isEqualTo(Registrar.class); assertThat(ClassPathManager.getClass("Contact")).isEqualTo(Contact.class); @@ -103,7 +101,6 @@ public class ClassPathManagerTest { assertThat(ClassPathManager.getClassName(ForeignKeyContactIndex.class)) .isEqualTo("ForeignKeyContactIndex"); assertThat(ClassPathManager.getClassName(AllocationToken.class)).isEqualTo("AllocationToken"); - assertThat(ClassPathManager.getClassName(RdeRevision.class)).isEqualTo("RdeRevision"); assertThat(ClassPathManager.getClassName(Host.class)).isEqualTo("Host"); assertThat(ClassPathManager.getClassName(Registrar.class)).isEqualTo("Registrar"); assertThat(ClassPathManager.getClassName(Contact.class)).isEqualTo("Contact"); diff --git a/core/src/test/java/google/registry/model/rde/RdeRevisionTest.java b/core/src/test/java/google/registry/model/rde/RdeRevisionTest.java index c1f151bfd..0e6d674fa 100644 --- a/core/src/test/java/google/registry/model/rde/RdeRevisionTest.java +++ b/core/src/test/java/google/registry/model/rde/RdeRevisionTest.java @@ -121,8 +121,7 @@ public class RdeRevisionTest extends EntityTestCase { } public static void save(String tld, DateTime date, RdeMode mode, int revision) { - String triplet = RdeNamingUtils.makePartialName(tld, date, mode); - RdeRevision object = RdeRevision.create(triplet, tld, date.toLocalDate(), mode, revision); + RdeRevision object = RdeRevision.create(tld, date.toLocalDate(), mode, revision); tm().transact(() -> tm().put(object)); } } diff --git a/core/src/test/resources/google/registry/model/schema.txt b/core/src/test/resources/google/registry/model/schema.txt index 7fc2ba40b..b84de6540 100644 --- a/core/src/test/resources/google/registry/model/schema.txt +++ b/core/src/test/resources/google/registry/model/schema.txt @@ -343,10 +343,6 @@ class google.registry.model.index.ForeignKeyIndex$ForeignKeyHostIndex { google.registry.persistence.VKey topReference; org.joda.time.DateTime deletionTime; } -class google.registry.model.rde.RdeRevision { - @Id java.lang.String id; - int revision; -} class google.registry.model.registrar.Registrar { @Id java.lang.String clientIdentifier; @Parent com.googlecode.objectify.Key parent;