Abacn commented on code in PR #34497:
URL: https://github.com/apache/beam/pull/34497#discussion_r2025216360


##########
sdks/java/io/google-ads/src/main/java/org/apache/beam/sdk/io/googleads/GoogleAdsIO.java:
##########
@@ -17,17 +17,84 @@
  */
 package org.apache.beam.sdk.io.googleads;
 
+import com.google.protobuf.Message;
+import java.io.Serializable;
+import org.apache.beam.sdk.transforms.PTransform;
+import org.apache.beam.sdk.values.PCollection;
+import org.checkerframework.checker.nullness.qual.Nullable;
+
 /**
  * {@link GoogleAdsIO} provides an API for reading from the <a
  * href="https://developers.google.com/google-ads/api/docs/start";>Google Ads 
API</a> over supported
  * versions of the Google Ads client libraries.
  *
- * @see GoogleAdsV17
+ * @see GoogleAdsV19
  */
-public class GoogleAdsIO {
-  private GoogleAdsIO() {}
+public abstract class GoogleAdsIO<GoogleAdsRowT, 
SearchGoogleAdsStreamRequestT> {
+
+  @SuppressWarnings(
+      "TypeParameterUnusedInFormals") // for source code backward compatible 
when underlying API
+  // version changed
+  public abstract <T extends PTransform<PCollection<String>, 
PCollection<GoogleAdsRowT>>> T read();
+
+  @SuppressWarnings(
+      "TypeParameterUnusedInFormals") // for source code backward compatible 
when underlying API
+  // version changed
+  public abstract <
+          T extends
+              PTransform<PCollection<SearchGoogleAdsStreamRequestT>, 
PCollection<GoogleAdsRowT>>>
+      T readAll();
+
+  public static GoogleAdsV19 current() {

Review Comment:
   Then code snippet
   
   ```
   GoogleAdsIO.current().readAll().withXXX()
   ```
   
   would not compile.
   
   This change just make pipeline source code compatible with future google-ads 
version bump, but the underlying return type still changed every time.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscr...@beam.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to