6161import org .apache .iceberg .rest .responses .LoadTableResponse ;
6262import org .apache .polaris .core .auth .AuthenticatedPolarisPrincipal ;
6363import org .apache .polaris .core .auth .PolarisAuthorizer ;
64+ import org .apache .polaris .core .config .RealmConfig ;
6465import org .apache .polaris .core .context .CallContext ;
6566import org .apache .polaris .core .context .RealmContext ;
6667import org .apache .polaris .core .entity .PolarisEntity ;
@@ -135,6 +136,7 @@ public class IcebergCatalogAdapter
135136
136137 private final RealmContext realmContext ;
137138 private final CallContext callContext ;
139+ private final RealmConfig realmConfig ;
138140 private final CallContextCatalogFactory catalogFactory ;
139141 private final ResolutionManifestFactory resolutionManifestFactory ;
140142 private final ResolverFactory resolverFactory ;
@@ -160,6 +162,7 @@ public IcebergCatalogAdapter(
160162 CatalogHandlerUtils catalogHandlerUtils ) {
161163 this .realmContext = realmContext ;
162164 this .callContext = callContext ;
165+ this .realmConfig = callContext .getRealmConfig ();
163166 this .catalogFactory = catalogFactory ;
164167 this .resolutionManifestFactory = resolutionManifestFactory ;
165168 this .resolverFactory = resolverFactory ;
@@ -214,7 +217,7 @@ public Response createNamespace(
214217 CreateNamespaceRequest createNamespaceRequest ,
215218 RealmContext realmContext ,
216219 SecurityContext securityContext ) {
217- validateIcebergProperties (callContext , createNamespaceRequest .properties ());
220+ validateIcebergProperties (realmConfig , createNamespaceRequest .properties ());
218221 return withCatalog (
219222 securityContext ,
220223 prefix ,
@@ -306,7 +309,7 @@ public Response updateProperties(
306309 UpdateNamespacePropertiesRequest updateNamespacePropertiesRequest ,
307310 RealmContext realmContext ,
308311 SecurityContext securityContext ) {
309- validateIcebergProperties (callContext , updateNamespacePropertiesRequest .updates ());
312+ validateIcebergProperties (realmConfig , updateNamespacePropertiesRequest .updates ());
310313 Namespace ns = decodeNamespace (namespace );
311314 UpdateNamespacePropertiesRequest revisedRequest =
312315 UpdateNamespacePropertiesRequest .builder ()
@@ -341,7 +344,7 @@ public Response createTable(
341344 String accessDelegationMode ,
342345 RealmContext realmContext ,
343346 SecurityContext securityContext ) {
344- validateIcebergProperties (callContext , createTableRequest .properties ());
347+ validateIcebergProperties (realmConfig , createTableRequest .properties ());
345348 EnumSet <AccessDelegationMode > delegationModes =
346349 parseAccessDelegationModes (accessDelegationMode );
347350 Namespace ns = decodeNamespace (namespace );
@@ -516,7 +519,7 @@ public Response updateTable(
516519 commitTableRequest .updates ().stream ()
517520 .filter (MetadataUpdate .SetProperties .class ::isInstance )
518521 .map (MetadataUpdate .SetProperties .class ::cast )
519- .forEach (setProperties -> validateIcebergProperties (callContext , setProperties .updated ()));
522+ .forEach (setProperties -> validateIcebergProperties (realmConfig , setProperties .updated ()));
520523
521524 UpdateTableRequest revisedRequest =
522525 UpdateTableRequest .create (
@@ -547,7 +550,7 @@ public Response createView(
547550 CreateViewRequest createViewRequest ,
548551 RealmContext realmContext ,
549552 SecurityContext securityContext ) {
550- validateIcebergProperties (callContext , createViewRequest .properties ());
553+ validateIcebergProperties (realmConfig , createViewRequest .properties ());
551554
552555 CreateViewRequest revisedRequest =
553556 ImmutableCreateViewRequest .copyOf (createViewRequest )
@@ -695,7 +698,7 @@ public Response commitTransaction(
695698 .flatMap (updateTableRequest -> updateTableRequest .updates ().stream ())
696699 .filter (MetadataUpdate .SetProperties .class ::isInstance )
697700 .map (MetadataUpdate .SetProperties .class ::cast )
698- .forEach (setProperties -> validateIcebergProperties (callContext , setProperties .updated ()));
701+ .forEach (setProperties -> validateIcebergProperties (realmConfig , setProperties .updated ()));
699702
700703 CommitTransactionRequest revisedRequest =
701704 new CommitTransactionRequest (
@@ -791,8 +794,8 @@ public Response getConfig(
791794 .addAll (DEFAULT_ENDPOINTS )
792795 .addAll (VIEW_ENDPOINTS )
793796 .addAll (COMMIT_ENDPOINT )
794- .addAll (PolarisEndpoints .getSupportedGenericTableEndpoints (callContext ))
795- .addAll (PolarisEndpoints .getSupportedPolicyEndpoints (callContext ))
797+ .addAll (PolarisEndpoints .getSupportedGenericTableEndpoints (realmConfig ))
798+ .addAll (PolarisEndpoints .getSupportedPolicyEndpoints (realmConfig ))
796799 .build ())
797800 .build ())
798801 .build ();
0 commit comments