mirror of
https://github.com/google/nomulus.git
synced 2025-04-30 03:57:51 +02:00
Remove ofy support from RdeRevision (#1772)
This commit is contained in:
parent
318c64cf8b
commit
813c08715a
5 changed files with 11 additions and 35 deletions
|
@ -28,7 +28,6 @@ import google.registry.model.host.HostHistory;
|
||||||
import google.registry.model.index.EppResourceIndex;
|
import google.registry.model.index.EppResourceIndex;
|
||||||
import google.registry.model.index.EppResourceIndexBucket;
|
import google.registry.model.index.EppResourceIndexBucket;
|
||||||
import google.registry.model.index.ForeignKeyIndex;
|
import google.registry.model.index.ForeignKeyIndex;
|
||||||
import google.registry.model.rde.RdeRevision;
|
|
||||||
import google.registry.model.registrar.Registrar;
|
import google.registry.model.registrar.Registrar;
|
||||||
import google.registry.model.reporting.HistoryEntry;
|
import google.registry.model.reporting.HistoryEntry;
|
||||||
import google.registry.model.server.Lock;
|
import google.registry.model.server.Lock;
|
||||||
|
@ -57,7 +56,6 @@ public final class EntityClasses {
|
||||||
Host.class,
|
Host.class,
|
||||||
HostHistory.class,
|
HostHistory.class,
|
||||||
Lock.class,
|
Lock.class,
|
||||||
RdeRevision.class,
|
|
||||||
Registrar.class,
|
Registrar.class,
|
||||||
ServerSecret.class);
|
ServerSecret.class);
|
||||||
|
|
||||||
|
|
|
@ -19,10 +19,6 @@ import static google.registry.model.rde.RdeNamingUtils.makePartialName;
|
||||||
import static google.registry.persistence.transaction.TransactionManagerFactory.tm;
|
import static google.registry.persistence.transaction.TransactionManagerFactory.tm;
|
||||||
|
|
||||||
import com.google.common.base.VerifyException;
|
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.BackupGroupRoot;
|
||||||
import google.registry.model.ImmutableObject;
|
import google.registry.model.ImmutableObject;
|
||||||
import google.registry.model.rde.RdeRevision.RdeRevisionId;
|
import google.registry.model.rde.RdeRevision.RdeRevisionId;
|
||||||
|
@ -32,10 +28,11 @@ import java.io.Serializable;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
import javax.persistence.Column;
|
import javax.persistence.Column;
|
||||||
import javax.persistence.Convert;
|
import javax.persistence.Convert;
|
||||||
|
import javax.persistence.Entity;
|
||||||
import javax.persistence.EnumType;
|
import javax.persistence.EnumType;
|
||||||
import javax.persistence.Enumerated;
|
import javax.persistence.Enumerated;
|
||||||
|
import javax.persistence.Id;
|
||||||
import javax.persistence.IdClass;
|
import javax.persistence.IdClass;
|
||||||
import javax.persistence.Transient;
|
|
||||||
import org.joda.time.DateTime;
|
import org.joda.time.DateTime;
|
||||||
import org.joda.time.LocalDate;
|
import org.joda.time.LocalDate;
|
||||||
|
|
||||||
|
@ -47,18 +44,14 @@ import org.joda.time.LocalDate;
|
||||||
* flag is included in the generated XML.
|
* flag is included in the generated XML.
|
||||||
*/
|
*/
|
||||||
@Entity
|
@Entity
|
||||||
@javax.persistence.Entity
|
|
||||||
@IdClass(RdeRevisionId.class)
|
@IdClass(RdeRevisionId.class)
|
||||||
public final class RdeRevision extends BackupGroupRoot {
|
public final class RdeRevision extends BackupGroupRoot {
|
||||||
|
|
||||||
/** String triplet of tld, date, and mode, e.g. {@code soy_2015-09-01_full}. */
|
@Id String tld;
|
||||||
@Id @Transient String id;
|
|
||||||
|
|
||||||
@javax.persistence.Id @Ignore String tld;
|
@Id LocalDate date;
|
||||||
|
|
||||||
@javax.persistence.Id @Ignore LocalDate date;
|
@Id RdeMode mode;
|
||||||
|
|
||||||
@javax.persistence.Id @Ignore RdeMode mode;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Number of last revision successfully staged to GCS.
|
* Number of last revision successfully staged to GCS.
|
||||||
|
@ -71,10 +64,8 @@ public final class RdeRevision extends BackupGroupRoot {
|
||||||
/** Hibernate requires an empty constructor. */
|
/** Hibernate requires an empty constructor. */
|
||||||
private RdeRevision() {}
|
private RdeRevision() {}
|
||||||
|
|
||||||
public static RdeRevision create(
|
public static RdeRevision create(String tld, LocalDate date, RdeMode mode, int revision) {
|
||||||
String id, String tld, LocalDate date, RdeMode mode, int revision) {
|
|
||||||
RdeRevision instance = new RdeRevision();
|
RdeRevision instance = new RdeRevision();
|
||||||
instance.id = id;
|
|
||||||
instance.tld = tld;
|
instance.tld = tld;
|
||||||
instance.date = date;
|
instance.date = date;
|
||||||
instance.mode = mode;
|
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
|
* @return {@code 0} for first deposit generation and {@code >0} for resends
|
||||||
*/
|
*/
|
||||||
public static int getNextRevision(String tld, DateTime date, RdeMode mode) {
|
public static int getNextRevision(String tld, DateTime date, RdeMode mode) {
|
||||||
String id = makePartialName(tld, date, mode);
|
|
||||||
RdeRevisionId sqlKey = RdeRevisionId.create(tld, date.toLocalDate(), mode);
|
RdeRevisionId sqlKey = RdeRevisionId.create(tld, date.toLocalDate(), mode);
|
||||||
Key<RdeRevision> ofyKey = Key.create(RdeRevision.class, id);
|
|
||||||
Optional<RdeRevision> revisionOptional =
|
Optional<RdeRevision> revisionOptional =
|
||||||
tm().transact(
|
tm().transact(() -> tm().loadByKeyIfPresent(VKey.createSql(RdeRevision.class, sqlKey)));
|
||||||
() -> tm().loadByKeyIfPresent(VKey.create(RdeRevision.class, sqlKey, ofyKey)));
|
|
||||||
return revisionOptional.map(rdeRevision -> rdeRevision.revision + 1).orElse(0);
|
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) {
|
public static void saveRevision(String tld, DateTime date, RdeMode mode, int revision) {
|
||||||
checkArgument(revision >= 0, "Negative revision: %s", revision);
|
checkArgument(revision >= 0, "Negative revision: %s", revision);
|
||||||
String triplet = makePartialName(tld, date, mode);
|
|
||||||
tm().assertInTransaction();
|
tm().assertInTransaction();
|
||||||
RdeRevisionId sqlKey = RdeRevisionId.create(tld, date.toLocalDate(), mode);
|
RdeRevisionId sqlKey = RdeRevisionId.create(tld, date.toLocalDate(), mode);
|
||||||
Key<RdeRevision> ofyKey = Key.create(RdeRevision.class, triplet);
|
|
||||||
Optional<RdeRevision> revisionOptional =
|
Optional<RdeRevision> revisionOptional =
|
||||||
tm().loadByKeyIfPresent(VKey.create(RdeRevision.class, sqlKey, ofyKey));
|
tm().loadByKeyIfPresent(VKey.createSql(RdeRevision.class, sqlKey));
|
||||||
if (revision == 0) {
|
if (revision == 0) {
|
||||||
revisionOptional.ifPresent(
|
revisionOptional.ifPresent(
|
||||||
rdeRevision -> {
|
rdeRevision -> {
|
||||||
|
@ -139,7 +125,7 @@ public final class RdeRevision extends BackupGroupRoot {
|
||||||
checkArgument(
|
checkArgument(
|
||||||
revisionOptional.isPresent(),
|
revisionOptional.isPresent(),
|
||||||
"Couldn't find existing RDE revision %s when trying to save new revision %s",
|
"Couldn't find existing RDE revision %s when trying to save new revision %s",
|
||||||
triplet,
|
makePartialName(tld, date, mode),
|
||||||
revision);
|
revision);
|
||||||
checkArgument(
|
checkArgument(
|
||||||
revisionOptional.get().revision == revision - 1,
|
revisionOptional.get().revision == revision - 1,
|
||||||
|
@ -147,7 +133,7 @@ public final class RdeRevision extends BackupGroupRoot {
|
||||||
revision - 1,
|
revision - 1,
|
||||||
revisionOptional.get());
|
revisionOptional.get());
|
||||||
}
|
}
|
||||||
RdeRevision object = RdeRevision.create(triplet, tld, date.toLocalDate(), mode, revision);
|
RdeRevision object = create(tld, date.toLocalDate(), mode, revision);
|
||||||
tm().put(object);
|
tm().put(object);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -27,7 +27,6 @@ import google.registry.model.index.EppResourceIndexBucket;
|
||||||
import google.registry.model.index.ForeignKeyIndex.ForeignKeyContactIndex;
|
import google.registry.model.index.ForeignKeyIndex.ForeignKeyContactIndex;
|
||||||
import google.registry.model.index.ForeignKeyIndex.ForeignKeyDomainIndex;
|
import google.registry.model.index.ForeignKeyIndex.ForeignKeyDomainIndex;
|
||||||
import google.registry.model.index.ForeignKeyIndex.ForeignKeyHostIndex;
|
import google.registry.model.index.ForeignKeyIndex.ForeignKeyHostIndex;
|
||||||
import google.registry.model.rde.RdeRevision;
|
|
||||||
import google.registry.model.registrar.Registrar;
|
import google.registry.model.registrar.Registrar;
|
||||||
import google.registry.model.reporting.HistoryEntry;
|
import google.registry.model.reporting.HistoryEntry;
|
||||||
import google.registry.model.server.Lock;
|
import google.registry.model.server.Lock;
|
||||||
|
@ -51,7 +50,6 @@ public class ClassPathManagerTest {
|
||||||
assertThat(ClassPathManager.getClass("ForeignKeyContactIndex"))
|
assertThat(ClassPathManager.getClass("ForeignKeyContactIndex"))
|
||||||
.isEqualTo(ForeignKeyContactIndex.class);
|
.isEqualTo(ForeignKeyContactIndex.class);
|
||||||
assertThat(ClassPathManager.getClass("AllocationToken")).isEqualTo(AllocationToken.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("Host")).isEqualTo(Host.class);
|
||||||
assertThat(ClassPathManager.getClass("Registrar")).isEqualTo(Registrar.class);
|
assertThat(ClassPathManager.getClass("Registrar")).isEqualTo(Registrar.class);
|
||||||
assertThat(ClassPathManager.getClass("Contact")).isEqualTo(Contact.class);
|
assertThat(ClassPathManager.getClass("Contact")).isEqualTo(Contact.class);
|
||||||
|
@ -103,7 +101,6 @@ public class ClassPathManagerTest {
|
||||||
assertThat(ClassPathManager.getClassName(ForeignKeyContactIndex.class))
|
assertThat(ClassPathManager.getClassName(ForeignKeyContactIndex.class))
|
||||||
.isEqualTo("ForeignKeyContactIndex");
|
.isEqualTo("ForeignKeyContactIndex");
|
||||||
assertThat(ClassPathManager.getClassName(AllocationToken.class)).isEqualTo("AllocationToken");
|
assertThat(ClassPathManager.getClassName(AllocationToken.class)).isEqualTo("AllocationToken");
|
||||||
assertThat(ClassPathManager.getClassName(RdeRevision.class)).isEqualTo("RdeRevision");
|
|
||||||
assertThat(ClassPathManager.getClassName(Host.class)).isEqualTo("Host");
|
assertThat(ClassPathManager.getClassName(Host.class)).isEqualTo("Host");
|
||||||
assertThat(ClassPathManager.getClassName(Registrar.class)).isEqualTo("Registrar");
|
assertThat(ClassPathManager.getClassName(Registrar.class)).isEqualTo("Registrar");
|
||||||
assertThat(ClassPathManager.getClassName(Contact.class)).isEqualTo("Contact");
|
assertThat(ClassPathManager.getClassName(Contact.class)).isEqualTo("Contact");
|
||||||
|
|
|
@ -121,8 +121,7 @@ public class RdeRevisionTest extends EntityTestCase {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void save(String tld, DateTime date, RdeMode mode, int revision) {
|
public static void save(String tld, DateTime date, RdeMode mode, int revision) {
|
||||||
String triplet = RdeNamingUtils.makePartialName(tld, date, mode);
|
RdeRevision object = RdeRevision.create(tld, date.toLocalDate(), mode, revision);
|
||||||
RdeRevision object = RdeRevision.create(triplet, tld, date.toLocalDate(), mode, revision);
|
|
||||||
tm().transact(() -> tm().put(object));
|
tm().transact(() -> tm().put(object));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -343,10 +343,6 @@ class google.registry.model.index.ForeignKeyIndex$ForeignKeyHostIndex {
|
||||||
google.registry.persistence.VKey<E> topReference;
|
google.registry.persistence.VKey<E> topReference;
|
||||||
org.joda.time.DateTime deletionTime;
|
org.joda.time.DateTime deletionTime;
|
||||||
}
|
}
|
||||||
class google.registry.model.rde.RdeRevision {
|
|
||||||
@Id java.lang.String id;
|
|
||||||
int revision;
|
|
||||||
}
|
|
||||||
class google.registry.model.registrar.Registrar {
|
class google.registry.model.registrar.Registrar {
|
||||||
@Id java.lang.String clientIdentifier;
|
@Id java.lang.String clientIdentifier;
|
||||||
@Parent com.googlecode.objectify.Key<google.registry.model.common.EntityGroupRoot> parent;
|
@Parent com.googlecode.objectify.Key<google.registry.model.common.EntityGroupRoot> parent;
|
||||||
|
|
Loading…
Add table
Reference in a new issue