mirror of
https://github.com/google/nomulus.git
synced 2025-05-13 07:57:13 +02:00
Remove long-dead LogsExportCursor and PersistedRangeLong
LogsExportCursor was only used by ExportLogsTaskServlet, which we removed a long time ago. It's just dead code. The PersistedRangeLong type was only written for use by LogsExportCursor, and since it hasn't picked up new users in 3+ years I don't think we need to keep it around. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=169264994
This commit is contained in:
parent
0994ce76c7
commit
67116c5fa1
8 changed files with 0 additions and 307 deletions
|
@ -343,8 +343,6 @@ registry codebase:
|
|||
* `Lock` -- Lock entities are used to control access to a shared resource such
|
||||
as an App Engine queue. Under ordinary circumstances, these locks will be
|
||||
cleaned up automatically, and should not accumulate.
|
||||
* `LogsExportCursor` -- This is a single entity which maintains the state of
|
||||
log export.
|
||||
* `MR-*` -- These entities are generated by the App Engine MapReduce library
|
||||
in the course of running MapReduces.
|
||||
* `Modification` -- A Modification is a special type of billing event which
|
||||
|
|
|
@ -29,7 +29,6 @@ import google.registry.model.domain.DomainApplication;
|
|||
import google.registry.model.domain.DomainBase;
|
||||
import google.registry.model.domain.DomainResource;
|
||||
import google.registry.model.domain.LrpTokenEntity;
|
||||
import google.registry.model.export.LogsExportCursor;
|
||||
import google.registry.model.host.HostResource;
|
||||
import google.registry.model.index.DomainApplicationIndex;
|
||||
import google.registry.model.index.EppResourceIndex;
|
||||
|
@ -95,7 +94,6 @@ public final class EntityClasses {
|
|||
KmsSecret.class,
|
||||
KmsSecretRevision.class,
|
||||
Lock.class,
|
||||
LogsExportCursor.class,
|
||||
LrpTokenEntity.class,
|
||||
PollMessage.class,
|
||||
PollMessage.Autorenew.class,
|
||||
|
|
|
@ -1,55 +0,0 @@
|
|||
// Copyright 2017 The Nomulus Authors. All Rights Reserved.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
package google.registry.model.common;
|
||||
|
||||
import com.google.common.collect.BoundType;
|
||||
import com.google.common.collect.Range;
|
||||
import com.googlecode.objectify.annotation.Embed;
|
||||
import google.registry.model.ImmutableObject;
|
||||
|
||||
/** An object that's equivalent to a {@code Range<Long>} that can be persisted to Datastore. */
|
||||
@Embed
|
||||
public class PersistedRangeLong extends ImmutableObject {
|
||||
|
||||
private Long lowerBound = null;
|
||||
private BoundType lowerBoundType = null;
|
||||
|
||||
private Long upperBound = null;
|
||||
private BoundType upperBoundType = null;
|
||||
|
||||
public Range<Long> asRange() {
|
||||
Range<Long> range = Range.all();
|
||||
if (lowerBound != null) {
|
||||
range = range.intersection(Range.downTo(lowerBound, lowerBoundType));
|
||||
}
|
||||
if (upperBound != null) {
|
||||
range = range.intersection(Range.upTo(upperBound, upperBoundType));
|
||||
}
|
||||
return range;
|
||||
}
|
||||
|
||||
public static PersistedRangeLong create(Range<Long> range) {
|
||||
PersistedRangeLong instance = new PersistedRangeLong();
|
||||
if (range.hasLowerBound()) {
|
||||
instance.lowerBound = range.lowerEndpoint();
|
||||
instance.lowerBoundType = range.lowerBoundType();
|
||||
}
|
||||
if (range.hasUpperBound()) {
|
||||
instance.upperBound = range.upperEndpoint();
|
||||
instance.upperBoundType = range.upperBoundType();
|
||||
}
|
||||
return instance;
|
||||
}
|
||||
}
|
|
@ -1,80 +0,0 @@
|
|||
// Copyright 2017 The Nomulus Authors. All Rights Reserved.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
package google.registry.model.export;
|
||||
|
||||
import static google.registry.util.CollectionUtils.nullToEmptyImmutableCopy;
|
||||
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
import com.googlecode.objectify.annotation.Entity;
|
||||
import google.registry.model.Buildable;
|
||||
import google.registry.model.common.CrossTldSingleton;
|
||||
import google.registry.model.common.PersistedRangeLong;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
/** A saved cursor of exported log records so far. */
|
||||
@Entity
|
||||
public class LogsExportCursor extends CrossTldSingleton implements Buildable {
|
||||
|
||||
/**
|
||||
* A set of timestamp ranges (expressesd in microseconds since the epoch) that have been exported
|
||||
* to GCS.
|
||||
*/
|
||||
Set<PersistedRangeLong> exportedRanges;
|
||||
|
||||
/**
|
||||
* A list of filenames that are pending import into bigquery. Files may not have been imported
|
||||
* into bigquery on previous iterations if there are gaps in the exported ranges.
|
||||
*/
|
||||
List<String> filesPendingImport;
|
||||
|
||||
public ImmutableSet<PersistedRangeLong> getExportedRanges() {
|
||||
return nullToEmptyImmutableCopy(exportedRanges);
|
||||
}
|
||||
|
||||
public ImmutableList<String> getFilesPendingImport() {
|
||||
return nullToEmptyImmutableCopy(filesPendingImport);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Builder asBuilder() {
|
||||
return new Builder(clone(this));
|
||||
}
|
||||
|
||||
/** A builder for constructing {@link LogsExportCursor} objects, since they are immutable. */
|
||||
public static class Builder extends Buildable.Builder<LogsExportCursor> {
|
||||
public Builder() {}
|
||||
|
||||
private Builder(LogsExportCursor instance) {
|
||||
super(instance);
|
||||
}
|
||||
|
||||
public Builder setExportedRanges(ImmutableSet<PersistedRangeLong> exportedRanges) {
|
||||
getInstance().exportedRanges = exportedRanges;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder setFilesPendingImport(ImmutableList<String> filesPendingImport) {
|
||||
getInstance().filesPendingImport = filesPendingImport;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public LogsExportCursor build() {
|
||||
return super.build();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -12,7 +12,6 @@ HistoryEntry
|
|||
HostResource
|
||||
KmsSecret
|
||||
KmsSecretRevision
|
||||
LogsExportCursor
|
||||
LrpTokenEntity
|
||||
Modification
|
||||
OneTime
|
||||
|
|
|
@ -1,91 +0,0 @@
|
|||
// Copyright 2017 The Nomulus Authors. All Rights Reserved.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
package google.registry.model.common;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import com.google.common.collect.Range;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.junit.runners.JUnit4;
|
||||
|
||||
/** Unit tests for {@link PersistedRangeLong}. */
|
||||
@RunWith(JUnit4.class)
|
||||
public class PersistedRangeLongTest {
|
||||
|
||||
private void doConversionTest(Range<Long> range) {
|
||||
assertThat(PersistedRangeLong.create(range).asRange()).isEqualTo(range);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void all() {
|
||||
doConversionTest(Range.<Long>all());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void lessThan() {
|
||||
doConversionTest(Range.<Long>lessThan(10L));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void atMost() {
|
||||
doConversionTest(Range.<Long>atMost(10L));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void greaterThan() {
|
||||
doConversionTest(Range.<Long>greaterThan(10L));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void atLeast() {
|
||||
doConversionTest(Range.<Long>atLeast(10L));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void open() {
|
||||
doConversionTest(Range.<Long>open(5L, 10L));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void closed() {
|
||||
doConversionTest(Range.<Long>closed(5L, 10L));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void openClosed() {
|
||||
doConversionTest(Range.<Long>openClosed(5L, 10L));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void closedOpen() {
|
||||
doConversionTest(Range.<Long>closedOpen(5L, 10L));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void singleton() {
|
||||
doConversionTest(Range.<Long>singleton(5L));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void openClosedEmpty() {
|
||||
doConversionTest(Range.<Long>openClosed(5L, 5L));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void closedOpenEmpty() {
|
||||
doConversionTest(Range.<Long>closedOpen(5L, 5L));
|
||||
}
|
||||
}
|
|
@ -1,64 +0,0 @@
|
|||
// Copyright 2017 The Nomulus Authors. All Rights Reserved.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
package google.registry.model.export;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
import static google.registry.model.ofy.ObjectifyService.ofy;
|
||||
import static google.registry.testing.DatastoreHelper.persistResource;
|
||||
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
import com.google.common.collect.Range;
|
||||
import google.registry.model.EntityTestCase;
|
||||
import google.registry.model.common.PersistedRangeLong;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
||||
/** Unit tests for {@link LogsExportCursor}. */
|
||||
public class LogsExportCursorTest extends EntityTestCase {
|
||||
|
||||
LogsExportCursor logsExportCursor;
|
||||
|
||||
@Before
|
||||
public void setUp() throws Exception {
|
||||
logsExportCursor = new LogsExportCursor.Builder()
|
||||
.setExportedRanges(ImmutableSet.of(
|
||||
PersistedRangeLong.create(Range.<Long>all()),
|
||||
PersistedRangeLong.create(Range.<Long>lessThan(10L)),
|
||||
PersistedRangeLong.create(Range.<Long>atMost(10L)),
|
||||
PersistedRangeLong.create(Range.<Long>greaterThan(10L)),
|
||||
PersistedRangeLong.create(Range.<Long>atLeast(10L)),
|
||||
PersistedRangeLong.create(Range.<Long>open(5L, 10L)),
|
||||
PersistedRangeLong.create(Range.<Long>closed(5L, 10L)),
|
||||
PersistedRangeLong.create(Range.<Long>openClosed(5L, 10L)),
|
||||
PersistedRangeLong.create(Range.<Long>closedOpen(5L, 10L))))
|
||||
.setFilesPendingImport(ImmutableList.of(
|
||||
"gs://foo/bar",
|
||||
"gs://foo/baz",
|
||||
"gs://foo/bash"))
|
||||
.build();
|
||||
persistResource(logsExportCursor);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testPersistence() throws Exception {
|
||||
assertThat(ofy().load().entity(logsExportCursor).now()).isEqualTo(logsExportCursor);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testIndexing() throws Exception {
|
||||
verifyIndexing(logsExportCursor);
|
||||
}
|
||||
}
|
|
@ -117,12 +117,6 @@ class google.registry.model.common.GaeUserIdConverter {
|
|||
@Id long id;
|
||||
com.google.appengine.api.users.User user;
|
||||
}
|
||||
class google.registry.model.common.PersistedRangeLong {
|
||||
com.google.common.collect.BoundType lowerBoundType;
|
||||
com.google.common.collect.BoundType upperBoundType;
|
||||
java.lang.Long lowerBound;
|
||||
java.lang.Long upperBound;
|
||||
}
|
||||
class google.registry.model.common.TimeOfYear {
|
||||
java.lang.String timeString;
|
||||
}
|
||||
|
@ -371,12 +365,6 @@ class google.registry.model.eppcommon.Trid {
|
|||
java.lang.String clientTransactionId;
|
||||
java.lang.String serverTransactionId;
|
||||
}
|
||||
class google.registry.model.export.LogsExportCursor {
|
||||
@Id long id;
|
||||
@Parent com.googlecode.objectify.Key<google.registry.model.common.EntityGroupRoot> parent;
|
||||
java.util.List<java.lang.String> filesPendingImport;
|
||||
java.util.Set<google.registry.model.common.PersistedRangeLong> exportedRanges;
|
||||
}
|
||||
class google.registry.model.host.HostResource {
|
||||
@Id java.lang.String repoId;
|
||||
com.google.common.collect.ImmutableSortedMap<org.joda.time.DateTime, com.googlecode.objectify.Key<google.registry.model.ofy.CommitLogManifest>> revisions;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue