Remove the use of AppEngineEnvironment in Spec11Pipeline (#1365)

After #1348 it is no longer necessary to use AppEngineEnvironment in
Beam pipelines. In tests it is taken care of by the
DatastoreEntityExtension whereas on Dataflow the
RegistryPipelineWorkerInitializer does the same initialization for Ofy.
This commit is contained in:
Lai Jiang 2021-10-02 19:23:09 -04:00 committed by GitHub
parent 65ef18052b
commit c8caa8f80b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -23,7 +23,6 @@ import com.google.common.collect.ImmutableSet;
import dagger.Component; import dagger.Component;
import dagger.Module; import dagger.Module;
import dagger.Provides; import dagger.Provides;
import google.registry.backup.AppEngineEnvironment;
import google.registry.beam.common.RegistryJpaIO; import google.registry.beam.common.RegistryJpaIO;
import google.registry.beam.common.RegistryJpaIO.Read; import google.registry.beam.common.RegistryJpaIO.Read;
import google.registry.beam.spec11.SafeBrowsingTransforms.EvaluateSafeBrowsingFn; import google.registry.beam.spec11.SafeBrowsingTransforms.EvaluateSafeBrowsingFn;
@ -45,7 +44,6 @@ import org.apache.beam.sdk.io.TextIO;
import org.apache.beam.sdk.io.gcp.bigquery.BigQueryIO; import org.apache.beam.sdk.io.gcp.bigquery.BigQueryIO;
import org.apache.beam.sdk.options.PipelineOptionsFactory; import org.apache.beam.sdk.options.PipelineOptionsFactory;
import org.apache.beam.sdk.transforms.DoFn; import org.apache.beam.sdk.transforms.DoFn;
import org.apache.beam.sdk.transforms.DoFn.ProcessElement;
import org.apache.beam.sdk.transforms.GroupByKey; import org.apache.beam.sdk.transforms.GroupByKey;
import org.apache.beam.sdk.transforms.MapElements; import org.apache.beam.sdk.transforms.MapElements;
import org.apache.beam.sdk.transforms.ParDo; import org.apache.beam.sdk.transforms.ParDo;
@ -135,26 +133,24 @@ public class Spec11Pipeline implements Serializable {
@ProcessElement @ProcessElement
public void processElement( public void processElement(
@Element KV<String, String> input, OutputReceiver<DomainNameInfo> output) { @Element KV<String, String> input, OutputReceiver<DomainNameInfo> output) {
try (AppEngineEnvironment allowOfyEntity = new AppEngineEnvironment()) { DomainBase domainBase =
DomainBase domainBase = jpaTm()
jpaTm() .transact(
.transact( () ->
() -> jpaTm()
jpaTm() .loadByKey(
.loadByKey( VKey.createSql(DomainBase.class, input.getKey())));
VKey.createSql(DomainBase.class, input.getKey()))); String emailAddress = input.getValue();
String emailAddress = input.getValue(); if (emailAddress == null) {
if (emailAddress == null) { emailAddress = "";
emailAddress = "";
}
DomainNameInfo domainNameInfo =
DomainNameInfo.create(
domainBase.getDomainName(),
domainBase.getRepoId(),
domainBase.getCurrentSponsorRegistrarId(),
emailAddress);
output.output(domainNameInfo);
} }
DomainNameInfo domainNameInfo =
DomainNameInfo.create(
domainBase.getDomainName(),
domainBase.getRepoId(),
domainBase.getCurrentSponsorRegistrarId(),
emailAddress);
output.output(domainNameInfo);
} }
})); }));
} }