eric-maynard commented on code in PR #370:
URL: https://github.com/apache/polaris/pull/370#discussion_r1800178540


##########
polaris-service/src/main/java/org/apache/polaris/service/config/PolarisApplicationConfig.java:
##########
@@ -208,4 +215,58 @@ public void setAwsSecretKey(String awsSecretKey) {
   public void setDefaultRealms(List<String> defaultRealms) {
     this.defaultRealms = defaultRealms;
   }
+
+  public Supplier<GoogleCredentials> getGcpCredentialsProvider() {
+    return gcpAccessToken != null
+        ? () -> GoogleCredentials.create(gcpAccessToken)
+        : () -> {
+          try {
+            return GoogleCredentials.getApplicationDefault();
+          } catch (IOException e) {
+            throw new RuntimeException("Failed to get GCP credentials", e);
+          }
+        };
+  }
+
+  @JsonProperty("gcp_credentials")
+  void setGcpCredentials(GcpAccessToken token) {
+    this.gcpAccessToken =
+        new AccessToken(
+            token.getAccessToken(),
+            new Date(System.currentTimeMillis() + token.getExpiresIn() * 
1000));
+  }
+
+  /**
+   * A static AccessToken representation used to store a static token and 
expiration date. This
+   * should strictly be used for testing.

Review Comment:
   > we need a type to set on the setter method parameter
   
   We need a type in `main`, but it could be an interface right? I think it's 
better not to have code that should only be used in tests outside of `test`



-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to