61
61
import org .apache .iceberg .rest .responses .LoadTableResponse ;
62
62
import org .apache .polaris .core .auth .AuthenticatedPolarisPrincipal ;
63
63
import org .apache .polaris .core .auth .PolarisAuthorizer ;
64
+ import org .apache .polaris .core .config .RealmConfig ;
64
65
import org .apache .polaris .core .context .CallContext ;
65
66
import org .apache .polaris .core .context .RealmContext ;
66
67
import org .apache .polaris .core .entity .PolarisEntity ;
@@ -135,6 +136,7 @@ public class IcebergCatalogAdapter
135
136
136
137
private final RealmContext realmContext ;
137
138
private final CallContext callContext ;
139
+ private final RealmConfig realmConfig ;
138
140
private final CallContextCatalogFactory catalogFactory ;
139
141
private final ResolutionManifestFactory resolutionManifestFactory ;
140
142
private final ResolverFactory resolverFactory ;
@@ -160,6 +162,7 @@ public IcebergCatalogAdapter(
160
162
CatalogHandlerUtils catalogHandlerUtils ) {
161
163
this .realmContext = realmContext ;
162
164
this .callContext = callContext ;
165
+ this .realmConfig = callContext .getRealmConfig ();
163
166
this .catalogFactory = catalogFactory ;
164
167
this .resolutionManifestFactory = resolutionManifestFactory ;
165
168
this .resolverFactory = resolverFactory ;
@@ -214,7 +217,7 @@ public Response createNamespace(
214
217
CreateNamespaceRequest createNamespaceRequest ,
215
218
RealmContext realmContext ,
216
219
SecurityContext securityContext ) {
217
- validateIcebergProperties (callContext , createNamespaceRequest .properties ());
220
+ validateIcebergProperties (realmConfig , createNamespaceRequest .properties ());
218
221
return withCatalog (
219
222
securityContext ,
220
223
prefix ,
@@ -306,7 +309,7 @@ public Response updateProperties(
306
309
UpdateNamespacePropertiesRequest updateNamespacePropertiesRequest ,
307
310
RealmContext realmContext ,
308
311
SecurityContext securityContext ) {
309
- validateIcebergProperties (callContext , updateNamespacePropertiesRequest .updates ());
312
+ validateIcebergProperties (realmConfig , updateNamespacePropertiesRequest .updates ());
310
313
Namespace ns = decodeNamespace (namespace );
311
314
UpdateNamespacePropertiesRequest revisedRequest =
312
315
UpdateNamespacePropertiesRequest .builder ()
@@ -341,7 +344,7 @@ public Response createTable(
341
344
String accessDelegationMode ,
342
345
RealmContext realmContext ,
343
346
SecurityContext securityContext ) {
344
- validateIcebergProperties (callContext , createTableRequest .properties ());
347
+ validateIcebergProperties (realmConfig , createTableRequest .properties ());
345
348
EnumSet <AccessDelegationMode > delegationModes =
346
349
parseAccessDelegationModes (accessDelegationMode );
347
350
Namespace ns = decodeNamespace (namespace );
@@ -516,7 +519,7 @@ public Response updateTable(
516
519
commitTableRequest .updates ().stream ()
517
520
.filter (MetadataUpdate .SetProperties .class ::isInstance )
518
521
.map (MetadataUpdate .SetProperties .class ::cast )
519
- .forEach (setProperties -> validateIcebergProperties (callContext , setProperties .updated ()));
522
+ .forEach (setProperties -> validateIcebergProperties (realmConfig , setProperties .updated ()));
520
523
521
524
UpdateTableRequest revisedRequest =
522
525
UpdateTableRequest .create (
@@ -547,7 +550,7 @@ public Response createView(
547
550
CreateViewRequest createViewRequest ,
548
551
RealmContext realmContext ,
549
552
SecurityContext securityContext ) {
550
- validateIcebergProperties (callContext , createViewRequest .properties ());
553
+ validateIcebergProperties (realmConfig , createViewRequest .properties ());
551
554
552
555
CreateViewRequest revisedRequest =
553
556
ImmutableCreateViewRequest .copyOf (createViewRequest )
@@ -695,7 +698,7 @@ public Response commitTransaction(
695
698
.flatMap (updateTableRequest -> updateTableRequest .updates ().stream ())
696
699
.filter (MetadataUpdate .SetProperties .class ::isInstance )
697
700
.map (MetadataUpdate .SetProperties .class ::cast )
698
- .forEach (setProperties -> validateIcebergProperties (callContext , setProperties .updated ()));
701
+ .forEach (setProperties -> validateIcebergProperties (realmConfig , setProperties .updated ()));
699
702
700
703
CommitTransactionRequest revisedRequest =
701
704
new CommitTransactionRequest (
@@ -791,8 +794,8 @@ public Response getConfig(
791
794
.addAll (DEFAULT_ENDPOINTS )
792
795
.addAll (VIEW_ENDPOINTS )
793
796
.addAll (COMMIT_ENDPOINT )
794
- .addAll (PolarisEndpoints .getSupportedGenericTableEndpoints (callContext ))
795
- .addAll (PolarisEndpoints .getSupportedPolicyEndpoints (callContext ))
797
+ .addAll (PolarisEndpoints .getSupportedGenericTableEndpoints (realmConfig ))
798
+ .addAll (PolarisEndpoints .getSupportedPolicyEndpoints (realmConfig ))
796
799
.build ())
797
800
.build ())
798
801
.build ();
0 commit comments