public PolarisIcebergCatalogService()

in polaris-synchronizer/api/src/main/java/org/apache/polaris/tools/sync/polaris/service/impl/PolarisIcebergCatalogService.java [41:70]


    public PolarisIcebergCatalogService(
            String baseUrl,
            String catalogName,
            PrincipalWithCredentials omnipotentPrincipal,
            Map<String, String> properties
    ) {
        Map<String, String> catalogProperties = new HashMap<>();
        String uri = baseUrl + "/api/catalog";
        catalogProperties.put("uri", uri);
        catalogProperties.put("warehouse", catalogName);

        // Default to /v1/oauth/tokens endpoint unless an explicit property was provided
        String oauth2ServerUri = properties.getOrDefault(
                "omnipotent-principal-oauth2-server-uri", uri + "/" + ResourcePaths.tokens());

        catalogProperties.put("oauth2-server-uri", oauth2ServerUri);

        String clientId = omnipotentPrincipal.getCredentials().getClientId();
        String clientSecret = omnipotentPrincipal.getCredentials().getClientSecret();
        catalogProperties.putIfAbsent(
                "credential", String.format("%s:%s", clientId, clientSecret));
        catalogProperties.putIfAbsent("scope", "PRINCIPAL_ROLE:ALL");

        this.catalog = (PolarisCatalog) CatalogUtil.loadCatalog(
                PolarisCatalog.class.getName(),
                "SOURCE_CATALOG_REST_" + catalogName,
                catalogProperties,
                null
        );
    }