You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@polaris.apache.org by yz...@apache.org on 2026/04/03 00:47:58 UTC
(polaris) branch yzou-generic-table-credential-vending updated: Move parseAccessDelegationModes to CatalogUtils for common usage
This is an automated email from the ASF dual-hosted git repository.
yzou pushed a commit to branch yzou-generic-table-credential-vending
in repository https://gitbox.apache.org/repos/asf/polaris.git
The following commit(s) were added to refs/heads/yzou-generic-table-credential-vending by this push:
new 409ef44192 Move parseAccessDelegationModes to CatalogUtils for common usage
409ef44192 is described below
commit 409ef44192a31bcfbae1b8ff7ff5c4e590051454
Author: Yun Zou <yu...@gmail.com>
AuthorDate: Thu Apr 2 17:47:53 2026 -0700
Move parseAccessDelegationModes to CatalogUtils for common usage
Made-with: Cursor
---
.../polaris/service/catalog/common/CatalogUtils.java | 15 +++++++++++++++
.../catalog/generic/GenericTableCatalogAdapter.java | 13 +------------
.../service/catalog/iceberg/IcebergCatalogAdapter.java | 14 +-------------
3 files changed, 17 insertions(+), 25 deletions(-)
diff --git a/runtime/service/src/main/java/org/apache/polaris/service/catalog/common/CatalogUtils.java b/runtime/service/src/main/java/org/apache/polaris/service/catalog/common/CatalogUtils.java
index 3ad077a64f..8224bba5ca 100644
--- a/runtime/service/src/main/java/org/apache/polaris/service/catalog/common/CatalogUtils.java
+++ b/runtime/service/src/main/java/org/apache/polaris/service/catalog/common/CatalogUtils.java
@@ -20,8 +20,11 @@
package org.apache.polaris.service.catalog.common;
import static java.nio.charset.StandardCharsets.UTF_8;
+import static org.apache.polaris.service.catalog.AccessDelegationMode.VENDED_CREDENTIALS;
+import com.google.common.base.Preconditions;
import java.net.URLEncoder;
+import java.util.EnumSet;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
@@ -37,10 +40,22 @@ import org.apache.polaris.core.persistence.PolarisResolvedPathWrapper;
import org.apache.polaris.core.persistence.resolver.PolarisResolutionManifestCatalogView;
import org.apache.polaris.core.persistence.resolver.ResolvedPathKey;
import org.apache.polaris.core.storage.PolarisStorageConfigurationInfo;
+import org.apache.polaris.service.catalog.AccessDelegationMode;
/** Utility methods for working with Polaris catalog entities. */
public class CatalogUtils {
+ public static EnumSet<AccessDelegationMode> parseAccessDelegationModes(
+ String accessDelegationMode) {
+ EnumSet<AccessDelegationMode> delegationModes =
+ AccessDelegationMode.fromProtocolValuesList(accessDelegationMode);
+ Preconditions.checkArgument(
+ delegationModes.isEmpty() || delegationModes.contains(VENDED_CREDENTIALS),
+ "Unsupported access delegation mode: %s",
+ accessDelegationMode);
+ return delegationModes;
+ }
+
/**
* Find the resolved entity path that may contain storage information
*
diff --git a/runtime/service/src/main/java/org/apache/polaris/service/catalog/generic/GenericTableCatalogAdapter.java b/runtime/service/src/main/java/org/apache/polaris/service/catalog/generic/GenericTableCatalogAdapter.java
index c45844a77b..eda9c64a70 100644
--- a/runtime/service/src/main/java/org/apache/polaris/service/catalog/generic/GenericTableCatalogAdapter.java
+++ b/runtime/service/src/main/java/org/apache/polaris/service/catalog/generic/GenericTableCatalogAdapter.java
@@ -18,10 +18,9 @@
*/
package org.apache.polaris.service.catalog.generic;
-import static org.apache.polaris.service.catalog.AccessDelegationMode.VENDED_CREDENTIALS;
import static org.apache.polaris.service.catalog.common.CatalogUtils.decodeNamespace;
+import static org.apache.polaris.service.catalog.common.CatalogUtils.parseAccessDelegationModes;
-import com.google.common.base.Preconditions;
import jakarta.enterprise.context.RequestScoped;
import jakarta.inject.Inject;
import jakarta.ws.rs.core.Response;
@@ -71,16 +70,6 @@ public class GenericTableCatalogAdapter
return handlerFactory.createHandler(catalogName, principal);
}
- private EnumSet<AccessDelegationMode> parseAccessDelegationModes(String accessDelegationMode) {
- EnumSet<AccessDelegationMode> delegationModes =
- AccessDelegationMode.fromProtocolValuesList(accessDelegationMode);
- Preconditions.checkArgument(
- delegationModes.isEmpty() || delegationModes.contains(VENDED_CREDENTIALS),
- "Unsupported access delegation mode: %s",
- accessDelegationMode);
- return delegationModes;
- }
-
@Override
public Response createGenericTable(
String prefix,
diff --git a/runtime/service/src/main/java/org/apache/polaris/service/catalog/iceberg/IcebergCatalogAdapter.java b/runtime/service/src/main/java/org/apache/polaris/service/catalog/iceberg/IcebergCatalogAdapter.java
index 43c08751fe..b8a7949eb0 100644
--- a/runtime/service/src/main/java/org/apache/polaris/service/catalog/iceberg/IcebergCatalogAdapter.java
+++ b/runtime/service/src/main/java/org/apache/polaris/service/catalog/iceberg/IcebergCatalogAdapter.java
@@ -18,12 +18,11 @@
*/
package org.apache.polaris.service.catalog.iceberg;
-import static org.apache.polaris.service.catalog.AccessDelegationMode.VENDED_CREDENTIALS;
import static org.apache.polaris.service.catalog.common.CatalogUtils.decodeNamespace;
+import static org.apache.polaris.service.catalog.common.CatalogUtils.parseAccessDelegationModes;
import static org.apache.polaris.service.catalog.validation.IcebergPropertiesValidation.validateIcebergProperties;
import com.google.common.annotations.VisibleForTesting;
-import com.google.common.base.Preconditions;
import jakarta.enterprise.context.RequestScoped;
import jakarta.inject.Inject;
import jakarta.ws.rs.core.HttpHeaders;
@@ -59,7 +58,6 @@ import org.apache.polaris.service.catalog.CatalogPrefixParser;
import org.apache.polaris.service.catalog.api.IcebergRestCatalogApiService;
import org.apache.polaris.service.catalog.api.IcebergRestConfigurationApiService;
import org.apache.polaris.service.catalog.common.CatalogAdapter;
-import org.apache.polaris.service.catalog.common.CatalogUtils;
import org.apache.polaris.service.config.ReservedProperties;
import org.apache.polaris.service.http.IcebergHttpUtil;
import org.apache.polaris.service.http.IfNoneMatch;
@@ -245,16 +243,6 @@ public class IcebergCatalogAdapter
catalog -> Response.ok(catalog.updateNamespaceProperties(ns, revisedRequest)).build());
}
- private EnumSet<AccessDelegationMode> parseAccessDelegationModes(String accessDelegationMode) {
- EnumSet<AccessDelegationMode> delegationModes =
- AccessDelegationMode.fromProtocolValuesList(accessDelegationMode);
- Preconditions.checkArgument(
- delegationModes.isEmpty() || delegationModes.contains(VENDED_CREDENTIALS),
- "Unsupported access delegation mode: %s",
- accessDelegationMode);
- return delegationModes;
- }
-
@Override
public Response createTable(
String prefix,