XJDKC commented on code in PR #724: URL: https://github.com/apache/polaris/pull/724#discussion_r1925784309
########## service/common/src/main/java/org/apache/polaris/service/catalog/io/DefaultFileIOFactory.java: ########## @@ -19,18 +19,157 @@ package org.apache.polaris.service.catalog.io; import io.smallrye.common.annotation.Identifier; +import jakarta.annotation.Nonnull; import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; import java.util.Map; +import java.util.Optional; +import java.util.Set; import org.apache.hadoop.conf.Configuration; import org.apache.iceberg.CatalogUtil; +import org.apache.iceberg.catalog.TableIdentifier; import org.apache.iceberg.io.FileIO; +import org.apache.polaris.core.PolarisConfiguration; +import org.apache.polaris.core.PolarisConfigurationStore; +import org.apache.polaris.core.context.RealmContext; +import org.apache.polaris.core.entity.PolarisEntity; +import org.apache.polaris.core.entity.PolarisEntityConstants; +import org.apache.polaris.core.persistence.PolarisEntityManager; +import org.apache.polaris.core.persistence.PolarisMetaStoreManager; +import org.apache.polaris.core.persistence.PolarisMetaStoreSession; +import org.apache.polaris.core.persistence.PolarisResolvedPathWrapper; +import org.apache.polaris.core.storage.PolarisCredentialVendor; +import org.apache.polaris.core.storage.PolarisStorageActions; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** A simple FileIOFactory implementation that defers all the work to the Iceberg SDK */ @ApplicationScoped @Identifier("default") public class DefaultFileIOFactory implements FileIOFactory { + private static final Logger LOGGER = LoggerFactory.getLogger(DefaultFileIOFactory.class); + + private final RealmContext realmContext; + private final PolarisEntityManager entityManager; + private final PolarisMetaStoreManager metaStoreManager; + private final PolarisMetaStoreSession metaStoreSession; + private final PolarisConfigurationStore configurationStore; + + @Inject + public DefaultFileIOFactory( + RealmContext realmContext, + PolarisEntityManager entityManager, + PolarisMetaStoreManager metaStoreManager, + PolarisMetaStoreSession metaStoreSession, + PolarisConfigurationStore polarisConfigurationStore) { Review Comment: Thanks for pointing it out! The previous version was just a demo to illustrate the idea. Now I pushed the code with the actual implementation, this class is annotated as RequestScoped now! -- 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: issues-unsubscr...@polaris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org