@@ -0,0 +1,2537 @@
+/*%0A * Licensed to the Apache Software Foundation (ASF) under one%0A * or more contributor license agreements.  See the NOTICE file%0A * distributed with this work for additional information%0A * regarding copyright ownership.  The ASF licenses this file%0A * to you under the Apache License, Version 2.0 (the%0A * %22License%22); you may not use this file except in compliance%0A * with the License.  You may obtain a copy of the License at%0A *%0A *     http://www.apache.org/licenses/LICENSE-2.0%0A *%0A * Unless required by applicable law or agreed to in writing, software%0A * distributed under the License is distributed on an %22AS IS%22 BASIS,%0A * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.%0A * See the License for the specific language governing permissions and%0A * limitations under the License.%0A */%0A%0Apackage org.apache.beam.runners.core.construction;%0A%0Aimport com.google.auto.service.AutoService;%0Aimport java.util.Collections;%0Aimport java.util.Map;%0Aimport org.apache.beam.runners.core.construction.PTransformTranslation.TransformPayloadTranslator;%0Aimport org.apache.beam.sdk.common.runner.v1.RunnerApi;%0Aimport org.apache.beam.sdk.common.runner.v1.RunnerApi.FunctionSpec;%0Aimport org.apache.beam.sdk.runners.AppliedPTransform;%0Aimport org.apache.beam.sdk.transforms.Flatten;%0Aimport org.apache.beam.sdk.transforms.PTransform;%0Aimport org.apache.beam.sdk.transforms.windowing.Window.Assign;%0A%0A/**%0A * Utility methods for translating a %7B@link Assign%7D to and from %7B@link RunnerApi%7D representations.%0A */%0Apublic class FlattenTranslator implements TransformPayloadTranslator%3CFlatten.PCollections%3C?%3E%3E %7B%0A%0A  public static TransformPayloadTranslator create() %7B%0A    return new FlattenTranslator();%0A  %7D%0A%0A  private FlattenTranslator() %7B%7D%0A%0A  @Override%0A  public String getUrn(Flatten.PCollections%3C?%3E transform) %7B%0A    return PTransformTranslation.FLATTEN_TRANSFORM_URN;%0A  %7D%0A%0A  @Override%0A  public FunctionSpec translate(%0A      AppliedPTransform%3C?, ?, Flatten.PCollections%3C?%3E%3E transform, SdkComponents components) %7B%0A    return RunnerApi.FunctionSpec.newBuilder().setUrn(getUrn(transform.getTransform())).build();%0A  %7D%0A%0A  /** Registers %7B@link FlattenTranslator%7D. */%0A  @AutoService(TransformPayloadTranslatorRegistrar.class)%0A  public static class Registrar implements TransformPayloadTranslatorRegistrar %7B%0A    @Override%0A    public Map%3C? extends Class%3C? extends PTransform%3E, ? extends TransformPayloadTranslator%3E%0A        getTransformPayloadTranslators() %7B%0A      return Collections.singletonMap(Flatten.PCollections.class, new FlattenTranslator());%0A    %7D%0A  %7D%0A%7D%0A

Add trivial FlattenTranslator to access URN