diff --git a/polaris-core/src/main/java/io/polaris/core/persistence/ResolvedPolarisEntity.java b/polaris-core/src/main/java/io/polaris/core/persistence/ResolvedPolarisEntity.java index f5b5c674c5..2654282663 100644 --- a/polaris-core/src/main/java/io/polaris/core/persistence/ResolvedPolarisEntity.java +++ b/polaris-core/src/main/java/io/polaris/core/persistence/ResolvedPolarisEntity.java @@ -20,6 +20,7 @@ import io.polaris.core.entity.PolarisGrantRecord; import io.polaris.core.persistence.cache.EntityCacheEntry; import java.util.List; +import org.jetbrains.annotations.NotNull; public class ResolvedPolarisEntity { private final PolarisEntity entity; @@ -44,7 +45,7 @@ public ResolvedPolarisEntity( this.grantRecordsAsSecurable = grantRecordsAsSecurable; } - public ResolvedPolarisEntity(EntityCacheEntry cacheEntry) { + public ResolvedPolarisEntity(@NotNull EntityCacheEntry cacheEntry) { this.entity = PolarisEntity.of(cacheEntry.getEntity()); this.grantRecordsAsGrantee = ImmutableList.copyOf(cacheEntry.getGrantRecordsAsGrantee()); this.grantRecordsAsSecurable = ImmutableList.copyOf(cacheEntry.getGrantRecordsAsSecurable()); diff --git a/polaris-core/src/main/java/io/polaris/core/persistence/resolver/PolarisResolutionManifest.java b/polaris-core/src/main/java/io/polaris/core/persistence/resolver/PolarisResolutionManifest.java index 7c50039411..c20c0c6fe9 100644 --- a/polaris-core/src/main/java/io/polaris/core/persistence/resolver/PolarisResolutionManifest.java +++ b/polaris-core/src/main/java/io/polaris/core/persistence/resolver/PolarisResolutionManifest.java @@ -403,7 +403,11 @@ public PolarisResolvedPathWrapper getResolvedTopLevelEntity( if (resolvedCacheEntry == null) { return null; } - return new PolarisResolvedPathWrapper( - List.of(getResolvedRootContainerEntity(), new ResolvedPolarisEntity(resolvedCacheEntry))); + + ResolvedPolarisEntity resolvedRootContainerEntity = getResolvedRootContainerEntity(); + return resolvedRootContainerEntity == null + ? new PolarisResolvedPathWrapper(List.of(new ResolvedPolarisEntity(resolvedCacheEntry))) + : new PolarisResolvedPathWrapper( + List.of(resolvedRootContainerEntity, new ResolvedPolarisEntity(resolvedCacheEntry))); } }