mirror of
https://github.com/google/nomulus.git
synced 2025-07-06 19:23:31 +02:00
Convert DatastoreEntity/SqlEntity to return Optional, not List (#894)
* Convert DatastoreEntity/SqlEntity to return Optional, not List We don't have any entities that convert to more than one entity, so we can use an Optional instead for clarity and simplicity.
This commit is contained in:
parent
59c852d812
commit
4f0189c162
19 changed files with 53 additions and 71 deletions
|
@ -14,7 +14,6 @@
|
||||||
|
|
||||||
package google.registry.model.contact;
|
package google.registry.model.contact;
|
||||||
|
|
||||||
import com.google.common.collect.ImmutableList;
|
|
||||||
import com.googlecode.objectify.Key;
|
import com.googlecode.objectify.Key;
|
||||||
import com.googlecode.objectify.annotation.EntitySubclass;
|
import com.googlecode.objectify.annotation.EntitySubclass;
|
||||||
import google.registry.model.ImmutableObject;
|
import google.registry.model.ImmutableObject;
|
||||||
|
@ -111,8 +110,8 @@ public class ContactHistory extends HistoryEntry implements SqlEntity {
|
||||||
|
|
||||||
// In Datastore, save as a HistoryEntry object regardless of this object's type
|
// In Datastore, save as a HistoryEntry object regardless of this object's type
|
||||||
@Override
|
@Override
|
||||||
public ImmutableList<DatastoreEntity> toDatastoreEntities() {
|
public Optional<DatastoreEntity> toDatastoreEntity() {
|
||||||
return ImmutableList.of(asHistoryEntry());
|
return Optional.of(asHistoryEntry());
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Class to represent the composite primary key of {@link ContactHistory} entity. */
|
/** Class to represent the composite primary key of {@link ContactHistory} entity. */
|
||||||
|
|
|
@ -17,7 +17,6 @@ package google.registry.model.domain;
|
||||||
import static com.google.common.collect.ImmutableSet.toImmutableSet;
|
import static com.google.common.collect.ImmutableSet.toImmutableSet;
|
||||||
import static google.registry.util.CollectionUtils.nullToEmptyImmutableCopy;
|
import static google.registry.util.CollectionUtils.nullToEmptyImmutableCopy;
|
||||||
|
|
||||||
import com.google.common.collect.ImmutableList;
|
|
||||||
import com.google.common.collect.ImmutableSet;
|
import com.google.common.collect.ImmutableSet;
|
||||||
import com.googlecode.objectify.Key;
|
import com.googlecode.objectify.Key;
|
||||||
import com.googlecode.objectify.annotation.EntitySubclass;
|
import com.googlecode.objectify.annotation.EntitySubclass;
|
||||||
|
@ -250,8 +249,8 @@ public class DomainHistory extends HistoryEntry implements SqlEntity {
|
||||||
|
|
||||||
// In Datastore, save as a HistoryEntry object regardless of this object's type
|
// In Datastore, save as a HistoryEntry object regardless of this object's type
|
||||||
@Override
|
@Override
|
||||||
public ImmutableList<DatastoreEntity> toDatastoreEntities() {
|
public Optional<DatastoreEntity> toDatastoreEntity() {
|
||||||
return ImmutableList.of(asHistoryEntry());
|
return Optional.of(asHistoryEntry());
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Class to represent the composite primary key of {@link DomainHistory} entity. */
|
/** Class to represent the composite primary key of {@link DomainHistory} entity. */
|
||||||
|
|
|
@ -14,11 +14,11 @@
|
||||||
|
|
||||||
package google.registry.model.domain.secdns;
|
package google.registry.model.domain.secdns;
|
||||||
|
|
||||||
import com.google.common.collect.ImmutableList;
|
|
||||||
import google.registry.model.domain.DomainHistory;
|
import google.registry.model.domain.DomainHistory;
|
||||||
import google.registry.model.ofy.ObjectifyService;
|
import google.registry.model.ofy.ObjectifyService;
|
||||||
import google.registry.schema.replay.DatastoreEntity;
|
import google.registry.schema.replay.DatastoreEntity;
|
||||||
import google.registry.schema.replay.SqlEntity;
|
import google.registry.schema.replay.SqlEntity;
|
||||||
|
import java.util.Optional;
|
||||||
import javax.persistence.Access;
|
import javax.persistence.Access;
|
||||||
import javax.persistence.AccessType;
|
import javax.persistence.AccessType;
|
||||||
import javax.persistence.Column;
|
import javax.persistence.Column;
|
||||||
|
@ -86,7 +86,7 @@ public class DomainDsDataHistory extends DomainDsDataBase implements SqlEntity {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ImmutableList<DatastoreEntity> toDatastoreEntities() {
|
public Optional<DatastoreEntity> toDatastoreEntity() {
|
||||||
return ImmutableList.of(); // not persisted in Datastore
|
return Optional.empty(); // Not persisted in Datastore
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,7 +14,6 @@
|
||||||
|
|
||||||
package google.registry.model.host;
|
package google.registry.model.host;
|
||||||
|
|
||||||
import com.google.common.collect.ImmutableList;
|
|
||||||
import com.googlecode.objectify.Key;
|
import com.googlecode.objectify.Key;
|
||||||
import com.googlecode.objectify.annotation.EntitySubclass;
|
import com.googlecode.objectify.annotation.EntitySubclass;
|
||||||
import google.registry.model.ImmutableObject;
|
import google.registry.model.ImmutableObject;
|
||||||
|
@ -112,8 +111,8 @@ public class HostHistory extends HistoryEntry implements SqlEntity {
|
||||||
|
|
||||||
// In Datastore, save as a HistoryEntry object regardless of this object's type
|
// In Datastore, save as a HistoryEntry object regardless of this object's type
|
||||||
@Override
|
@Override
|
||||||
public ImmutableList<DatastoreEntity> toDatastoreEntities() {
|
public Optional<DatastoreEntity> toDatastoreEntity() {
|
||||||
return ImmutableList.of(asHistoryEntry());
|
return Optional.of(asHistoryEntry());
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Class to represent the composite primary key of {@link HostHistory} entity. */
|
/** Class to represent the composite primary key of {@link HostHistory} entity. */
|
||||||
|
|
|
@ -29,7 +29,6 @@ import com.google.common.collect.ImmutableSet;
|
||||||
import com.googlecode.objectify.Key;
|
import com.googlecode.objectify.Key;
|
||||||
import google.registry.persistence.VKey;
|
import google.registry.persistence.VKey;
|
||||||
import google.registry.schema.replay.DatastoreEntity;
|
import google.registry.schema.replay.DatastoreEntity;
|
||||||
import google.registry.schema.replay.SqlEntity;
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import org.joda.time.DateTime;
|
import org.joda.time.DateTime;
|
||||||
|
|
||||||
|
@ -137,10 +136,9 @@ class TransactionInfo {
|
||||||
if (entry.getValue().equals(Delete.SENTINEL)) {
|
if (entry.getValue().equals(Delete.SENTINEL)) {
|
||||||
jpaTm().delete(VKey.from(entry.getKey()));
|
jpaTm().delete(VKey.from(entry.getKey()));
|
||||||
} else {
|
} else {
|
||||||
for (SqlEntity entity :
|
((DatastoreEntity) entry.getValue())
|
||||||
((DatastoreEntity) entry.getValue()).toSqlEntities()) {
|
.toSqlEntity()
|
||||||
jpaTm().put(entity);
|
.ifPresent(jpaTm()::put);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
|
@ -18,7 +18,6 @@ import static com.googlecode.objectify.Key.getKind;
|
||||||
import static google.registry.util.CollectionUtils.nullToEmptyImmutableCopy;
|
import static google.registry.util.CollectionUtils.nullToEmptyImmutableCopy;
|
||||||
|
|
||||||
import com.google.common.annotations.VisibleForTesting;
|
import com.google.common.annotations.VisibleForTesting;
|
||||||
import com.google.common.collect.ImmutableList;
|
|
||||||
import com.google.common.collect.ImmutableSet;
|
import com.google.common.collect.ImmutableSet;
|
||||||
import com.googlecode.objectify.Key;
|
import com.googlecode.objectify.Key;
|
||||||
import com.googlecode.objectify.annotation.Entity;
|
import com.googlecode.objectify.annotation.Entity;
|
||||||
|
@ -45,6 +44,7 @@ import google.registry.model.host.HostResource;
|
||||||
import google.registry.persistence.VKey;
|
import google.registry.persistence.VKey;
|
||||||
import google.registry.schema.replay.DatastoreEntity;
|
import google.registry.schema.replay.DatastoreEntity;
|
||||||
import google.registry.schema.replay.SqlEntity;
|
import google.registry.schema.replay.SqlEntity;
|
||||||
|
import java.util.Optional;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
import javax.persistence.Access;
|
import javax.persistence.Access;
|
||||||
|
@ -314,8 +314,8 @@ public class HistoryEntry extends ImmutableObject implements Buildable, Datastor
|
||||||
|
|
||||||
// In SQL, save the child type
|
// In SQL, save the child type
|
||||||
@Override
|
@Override
|
||||||
public ImmutableList<SqlEntity> toSqlEntities() {
|
public Optional<SqlEntity> toSqlEntity() {
|
||||||
return ImmutableList.of((SqlEntity) toChildHistoryEntity());
|
return Optional.of((SqlEntity) toChildHistoryEntity());
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Creates a {@link VKey} instance from a {@link Key} instance. */
|
/** Creates a {@link VKey} instance from a {@link Key} instance. */
|
||||||
|
|
|
@ -18,13 +18,13 @@ import static com.google.common.base.Preconditions.checkArgument;
|
||||||
import static google.registry.util.CollectionUtils.isNullOrEmpty;
|
import static google.registry.util.CollectionUtils.isNullOrEmpty;
|
||||||
import static google.registry.util.PreconditionsUtils.checkArgumentNotNull;
|
import static google.registry.util.PreconditionsUtils.checkArgumentNotNull;
|
||||||
|
|
||||||
import com.google.common.collect.ImmutableList;
|
|
||||||
import com.google.common.collect.ImmutableSet;
|
import com.google.common.collect.ImmutableSet;
|
||||||
import google.registry.model.Buildable;
|
import google.registry.model.Buildable;
|
||||||
import google.registry.model.ImmutableObject;
|
import google.registry.model.ImmutableObject;
|
||||||
import google.registry.schema.replay.DatastoreEntity;
|
import google.registry.schema.replay.DatastoreEntity;
|
||||||
import google.registry.schema.replay.SqlEntity;
|
import google.registry.schema.replay.SqlEntity;
|
||||||
import google.registry.util.DomainNameUtils;
|
import google.registry.util.DomainNameUtils;
|
||||||
|
import java.util.Optional;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import javax.persistence.Column;
|
import javax.persistence.Column;
|
||||||
import javax.persistence.Entity;
|
import javax.persistence.Entity;
|
||||||
|
@ -111,8 +111,8 @@ public class Spec11ThreatMatch extends ImmutableObject implements Buildable, Sql
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ImmutableList<DatastoreEntity> toDatastoreEntities() {
|
public Optional<DatastoreEntity> toDatastoreEntity() {
|
||||||
return ImmutableList.of(); // not stored in Datastore
|
return Optional.empty(); // Not persisted in Datastore
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -20,7 +20,6 @@ import static google.registry.persistence.transaction.TransactionManagerFactory.
|
||||||
import static google.registry.persistence.transaction.TransactionManagerFactory.ofyTm;
|
import static google.registry.persistence.transaction.TransactionManagerFactory.ofyTm;
|
||||||
import static google.registry.persistence.transaction.TransactionManagerFactory.tm;
|
import static google.registry.persistence.transaction.TransactionManagerFactory.tm;
|
||||||
|
|
||||||
import com.google.common.collect.ImmutableList;
|
|
||||||
import com.googlecode.objectify.Key;
|
import com.googlecode.objectify.Key;
|
||||||
import com.googlecode.objectify.annotation.Entity;
|
import com.googlecode.objectify.annotation.Entity;
|
||||||
import google.registry.model.annotations.NotBackedUp;
|
import google.registry.model.annotations.NotBackedUp;
|
||||||
|
@ -28,9 +27,7 @@ import google.registry.model.annotations.NotBackedUp.Reason;
|
||||||
import google.registry.model.common.CrossTldSingleton;
|
import google.registry.model.common.CrossTldSingleton;
|
||||||
import google.registry.model.tmch.TmchCrl.TmchCrlId;
|
import google.registry.model.tmch.TmchCrl.TmchCrlId;
|
||||||
import google.registry.persistence.VKey;
|
import google.registry.persistence.VKey;
|
||||||
import google.registry.schema.replay.DatastoreEntity;
|
|
||||||
import google.registry.schema.replay.NonReplicatedEntity;
|
import google.registry.schema.replay.NonReplicatedEntity;
|
||||||
import google.registry.schema.replay.SqlEntity;
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
import javax.annotation.concurrent.Immutable;
|
import javax.annotation.concurrent.Immutable;
|
||||||
|
@ -106,16 +103,6 @@ public final class TmchCrl extends CrossTldSingleton implements NonReplicatedEnt
|
||||||
return updated;
|
return updated;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public ImmutableList<SqlEntity> toSqlEntities() {
|
|
||||||
return ImmutableList.of(); // dually-written
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public ImmutableList<DatastoreEntity> toDatastoreEntities() {
|
|
||||||
return ImmutableList.of(); // dually-written
|
|
||||||
}
|
|
||||||
|
|
||||||
static class TmchCrlId implements Serializable {
|
static class TmchCrlId implements Serializable {
|
||||||
|
|
||||||
@Column(name = "certificateRevocations")
|
@Column(name = "certificateRevocations")
|
||||||
|
|
|
@ -14,9 +14,9 @@
|
||||||
|
|
||||||
package google.registry.persistence.transaction;
|
package google.registry.persistence.transaction;
|
||||||
|
|
||||||
import com.google.common.collect.ImmutableList;
|
|
||||||
import google.registry.schema.replay.DatastoreEntity;
|
import google.registry.schema.replay.DatastoreEntity;
|
||||||
import google.registry.schema.replay.SqlEntity;
|
import google.registry.schema.replay.SqlEntity;
|
||||||
|
import java.util.Optional;
|
||||||
import javax.persistence.Entity;
|
import javax.persistence.Entity;
|
||||||
import javax.persistence.GeneratedValue;
|
import javax.persistence.GeneratedValue;
|
||||||
import javax.persistence.GenerationType;
|
import javax.persistence.GenerationType;
|
||||||
|
@ -45,7 +45,7 @@ public class TransactionEntity implements SqlEntity {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ImmutableList<DatastoreEntity> toDatastoreEntities() {
|
public Optional<DatastoreEntity> toDatastoreEntity() {
|
||||||
return ImmutableList.of(); // not stored in Datastore per se
|
return Optional.empty(); // Not persisted in Datastore per se
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,7 +16,6 @@ package google.registry.schema.cursor;
|
||||||
|
|
||||||
import static com.google.appengine.api.search.checkers.Preconditions.checkNotNull;
|
import static com.google.appengine.api.search.checkers.Preconditions.checkNotNull;
|
||||||
|
|
||||||
import com.google.common.collect.ImmutableList;
|
|
||||||
import google.registry.model.ImmutableObject;
|
import google.registry.model.ImmutableObject;
|
||||||
import google.registry.model.UpdateAutoTimestamp;
|
import google.registry.model.UpdateAutoTimestamp;
|
||||||
import google.registry.model.common.Cursor.CursorType;
|
import google.registry.model.common.Cursor.CursorType;
|
||||||
|
@ -26,6 +25,7 @@ import google.registry.schema.replay.SqlEntity;
|
||||||
import google.registry.util.DateTimeUtils;
|
import google.registry.util.DateTimeUtils;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.time.ZonedDateTime;
|
import java.time.ZonedDateTime;
|
||||||
|
import java.util.Optional;
|
||||||
import javax.persistence.Column;
|
import javax.persistence.Column;
|
||||||
import javax.persistence.Entity;
|
import javax.persistence.Entity;
|
||||||
import javax.persistence.EnumType;
|
import javax.persistence.EnumType;
|
||||||
|
@ -104,8 +104,8 @@ public class Cursor implements SqlEntity {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ImmutableList<DatastoreEntity> toDatastoreEntities() {
|
public Optional<DatastoreEntity> toDatastoreEntity() {
|
||||||
return ImmutableList.of(); // Cursors are not converted since they are ephemeral
|
return Optional.empty(); // Cursors are not converted since they are ephemeral
|
||||||
}
|
}
|
||||||
|
|
||||||
static class CursorId extends ImmutableObject implements Serializable {
|
static class CursorId extends ImmutableObject implements Serializable {
|
||||||
|
|
|
@ -19,7 +19,6 @@ import static google.registry.util.DateTimeUtils.isBeforeOrAt;
|
||||||
import static google.registry.util.DateTimeUtils.toZonedDateTime;
|
import static google.registry.util.DateTimeUtils.toZonedDateTime;
|
||||||
import static google.registry.util.PreconditionsUtils.checkArgumentNotNull;
|
import static google.registry.util.PreconditionsUtils.checkArgumentNotNull;
|
||||||
|
|
||||||
import com.google.common.collect.ImmutableList;
|
|
||||||
import google.registry.model.Buildable;
|
import google.registry.model.Buildable;
|
||||||
import google.registry.model.CreateAutoTimestamp;
|
import google.registry.model.CreateAutoTimestamp;
|
||||||
import google.registry.model.ImmutableObject;
|
import google.registry.model.ImmutableObject;
|
||||||
|
@ -234,8 +233,8 @@ public final class RegistryLock extends ImmutableObject implements Buildable, Sq
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ImmutableList<DatastoreEntity> toDatastoreEntities() {
|
public Optional<DatastoreEntity> toDatastoreEntity() {
|
||||||
return ImmutableList.of(); // not stored in Datastore
|
return Optional.empty(); // Not persisted in Datastore
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Builder for {@link google.registry.schema.domain.RegistryLock}. */
|
/** Builder for {@link google.registry.schema.domain.RegistryLock}. */
|
||||||
|
|
|
@ -14,18 +14,18 @@
|
||||||
|
|
||||||
package google.registry.schema.replay;
|
package google.registry.schema.replay;
|
||||||
|
|
||||||
import com.google.common.collect.ImmutableList;
|
import java.util.Optional;
|
||||||
|
|
||||||
/** An entity that has the same Java object representation in SQL and Datastore. */
|
/** An entity that has the same Java object representation in SQL and Datastore. */
|
||||||
public interface DatastoreAndSqlEntity extends DatastoreEntity, SqlEntity {
|
public interface DatastoreAndSqlEntity extends DatastoreEntity, SqlEntity {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
default ImmutableList<DatastoreEntity> toDatastoreEntities() {
|
default Optional<DatastoreEntity> toDatastoreEntity() {
|
||||||
return ImmutableList.of(this);
|
return Optional.of(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
default ImmutableList<SqlEntity> toSqlEntities() {
|
default Optional<SqlEntity> toSqlEntity() {
|
||||||
return ImmutableList.of(this);
|
return Optional.of(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
|
|
||||||
package google.registry.schema.replay;
|
package google.registry.schema.replay;
|
||||||
|
|
||||||
import com.google.common.collect.ImmutableList;
|
import java.util.Optional;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An object that can be stored in Datastore and serialized using Objectify's {@link
|
* An object that can be stored in Datastore and serialized using Objectify's {@link
|
||||||
|
@ -26,5 +26,5 @@ import com.google.common.collect.ImmutableList;
|
||||||
*/
|
*/
|
||||||
public interface DatastoreEntity {
|
public interface DatastoreEntity {
|
||||||
|
|
||||||
ImmutableList<SqlEntity> toSqlEntities();
|
Optional<SqlEntity> toSqlEntity();
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,11 +14,12 @@
|
||||||
|
|
||||||
package google.registry.schema.replay;
|
package google.registry.schema.replay;
|
||||||
|
|
||||||
import com.google.common.collect.ImmutableList;
|
import java.util.Optional;
|
||||||
|
|
||||||
|
/** An entity that is only stored in Datastore, that should not be replayed to SQL. */
|
||||||
public interface DatastoreOnlyEntity extends DatastoreEntity {
|
public interface DatastoreOnlyEntity extends DatastoreEntity {
|
||||||
@Override
|
@Override
|
||||||
default ImmutableList<SqlEntity> toSqlEntities() {
|
default Optional<SqlEntity> toSqlEntity() {
|
||||||
return ImmutableList.of();
|
return Optional.empty();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
|
|
||||||
package google.registry.schema.replay;
|
package google.registry.schema.replay;
|
||||||
|
|
||||||
import com.google.common.collect.ImmutableList;
|
import java.util.Optional;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents an entity that should not participate in asynchronous replication.
|
* Represents an entity that should not participate in asynchronous replication.
|
||||||
|
@ -24,12 +24,12 @@ import com.google.common.collect.ImmutableList;
|
||||||
public interface NonReplicatedEntity extends DatastoreEntity, SqlEntity {
|
public interface NonReplicatedEntity extends DatastoreEntity, SqlEntity {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
default ImmutableList<DatastoreEntity> toDatastoreEntities() {
|
default Optional<DatastoreEntity> toDatastoreEntity() {
|
||||||
return ImmutableList.of();
|
return Optional.empty();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
default ImmutableList<SqlEntity> toSqlEntities() {
|
default Optional<SqlEntity> toSqlEntity() {
|
||||||
return ImmutableList.of();
|
return Optional.empty();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
|
|
||||||
package google.registry.schema.replay;
|
package google.registry.schema.replay;
|
||||||
|
|
||||||
import com.google.common.collect.ImmutableList;
|
import java.util.Optional;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An object that can be stored in Cloud SQL using {@link
|
* An object that can be stored in Cloud SQL using {@link
|
||||||
|
@ -25,5 +25,5 @@ import com.google.common.collect.ImmutableList;
|
||||||
*/
|
*/
|
||||||
public interface SqlEntity {
|
public interface SqlEntity {
|
||||||
|
|
||||||
ImmutableList<DatastoreEntity> toDatastoreEntities();
|
Optional<DatastoreEntity> toDatastoreEntity();
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,7 +18,7 @@ import static google.registry.model.common.CrossTldSingleton.SINGLETON_ID;
|
||||||
import static google.registry.persistence.transaction.TransactionManagerFactory.jpaTm;
|
import static google.registry.persistence.transaction.TransactionManagerFactory.jpaTm;
|
||||||
import static google.registry.util.DateTimeUtils.START_OF_TIME;
|
import static google.registry.util.DateTimeUtils.START_OF_TIME;
|
||||||
|
|
||||||
import com.google.common.collect.ImmutableList;
|
import java.util.Optional;
|
||||||
import javax.persistence.Entity;
|
import javax.persistence.Entity;
|
||||||
import javax.persistence.Id;
|
import javax.persistence.Id;
|
||||||
import org.joda.time.DateTime;
|
import org.joda.time.DateTime;
|
||||||
|
@ -32,8 +32,8 @@ public class SqlReplayCheckpoint implements SqlEntity {
|
||||||
private DateTime lastReplayTime;
|
private DateTime lastReplayTime;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ImmutableList<DatastoreEntity> toDatastoreEntities() {
|
public Optional<DatastoreEntity> toDatastoreEntity() {
|
||||||
return ImmutableList.of(); // not necessary to persist in Datastore
|
return Optional.empty(); // Not necessary to persist in Datastore
|
||||||
}
|
}
|
||||||
|
|
||||||
public static DateTime get() {
|
public static DateTime get() {
|
||||||
|
|
|
@ -16,7 +16,6 @@ package google.registry.schema.server;
|
||||||
|
|
||||||
import static google.registry.util.PreconditionsUtils.checkArgumentNotNull;
|
import static google.registry.util.PreconditionsUtils.checkArgumentNotNull;
|
||||||
|
|
||||||
import com.google.common.collect.ImmutableList;
|
|
||||||
import google.registry.model.ImmutableObject;
|
import google.registry.model.ImmutableObject;
|
||||||
import google.registry.schema.replay.DatastoreEntity;
|
import google.registry.schema.replay.DatastoreEntity;
|
||||||
import google.registry.schema.replay.SqlEntity;
|
import google.registry.schema.replay.SqlEntity;
|
||||||
|
@ -24,6 +23,7 @@ import google.registry.schema.server.Lock.LockId;
|
||||||
import google.registry.util.DateTimeUtils;
|
import google.registry.util.DateTimeUtils;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.time.ZonedDateTime;
|
import java.time.ZonedDateTime;
|
||||||
|
import java.util.Optional;
|
||||||
import javax.persistence.Column;
|
import javax.persistence.Column;
|
||||||
import javax.persistence.Entity;
|
import javax.persistence.Entity;
|
||||||
import javax.persistence.Id;
|
import javax.persistence.Id;
|
||||||
|
@ -120,8 +120,8 @@ public class Lock implements SqlEntity {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ImmutableList<DatastoreEntity> toDatastoreEntities() {
|
public Optional<DatastoreEntity> toDatastoreEntity() {
|
||||||
return ImmutableList.of(); // Locks are not converted since they are ephemeral
|
return Optional.empty(); // Locks are not converted since they are ephemeral
|
||||||
}
|
}
|
||||||
|
|
||||||
static class LockId extends ImmutableObject implements Serializable {
|
static class LockId extends ImmutableObject implements Serializable {
|
||||||
|
|
|
@ -14,13 +14,13 @@
|
||||||
|
|
||||||
package google.registry.schema.tld;
|
package google.registry.schema.tld;
|
||||||
|
|
||||||
import com.google.common.collect.ImmutableList;
|
|
||||||
import google.registry.model.ImmutableObject;
|
import google.registry.model.ImmutableObject;
|
||||||
import google.registry.model.registry.label.PremiumList;
|
import google.registry.model.registry.label.PremiumList;
|
||||||
import google.registry.schema.replay.DatastoreEntity;
|
import google.registry.schema.replay.DatastoreEntity;
|
||||||
import google.registry.schema.replay.SqlEntity;
|
import google.registry.schema.replay.SqlEntity;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
import java.util.Optional;
|
||||||
import javax.persistence.Column;
|
import javax.persistence.Column;
|
||||||
import javax.persistence.Entity;
|
import javax.persistence.Entity;
|
||||||
import javax.persistence.Id;
|
import javax.persistence.Id;
|
||||||
|
@ -47,7 +47,7 @@ public class PremiumEntry extends ImmutableObject implements Serializable, SqlEn
|
||||||
private PremiumEntry() {}
|
private PremiumEntry() {}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ImmutableList<DatastoreEntity> toDatastoreEntities() {
|
public Optional<DatastoreEntity> toDatastoreEntity() {
|
||||||
return ImmutableList.of(); // PremiumList is dually-written
|
return Optional.empty(); // PremiumList is dually-written
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue