diff --git a/dao-api/src/main/java/com/linkedin/metadata/dao/BaseLocalDAO.java b/dao-api/src/main/java/com/linkedin/metadata/dao/BaseLocalDAO.java index cdb438b0d..617daf34f 100644 --- a/dao-api/src/main/java/com/linkedin/metadata/dao/BaseLocalDAO.java +++ b/dao-api/src/main/java/com/linkedin/metadata/dao/BaseLocalDAO.java @@ -186,6 +186,7 @@ public static class AspectUpdateLambda { * @param aspectUnionClass containing union of all supported aspects. Must be a valid aspect union defined in * com.linkedin.metadata.aspect * @param producer {@link BaseMetadataEventProducer} for the metadata event producer + * @param urnClass class of the URN type */ public BaseLocalDAO(@Nonnull Class aspectUnionClass, @Nonnull BaseMetadataEventProducer producer, @Nonnull Class urnClass) { @@ -205,6 +206,7 @@ public BaseLocalDAO(@Nonnull Class aspectUnionClass, @Nonnull Base * com.linkedin.metadata.aspect * @param trackingProducer {@link BaseTrackingMetadataEventProducer} for producing metadata events with tracking * @param trackingManager {@link BaseTrackingManager} for managing tracking requests + * @param urnClass class of the URN type */ public BaseLocalDAO(@Nonnull Class aspectUnionClass, @Nonnull BaseTrackingMetadataEventProducer trackingProducer, @Nonnull BaseTrackingManager trackingManager, @Nonnull Class urnClass) { @@ -222,15 +224,17 @@ public BaseLocalDAO(@Nonnull Class aspectUnionClass, @Nonnull Base * * @param producer {@link BaseMetadataEventProducer} for the metadata event producer * @param storageConfig {@link LocalDAOStorageConfig} containing storage config of full list of supported aspects + * @param urnClass class of the URN type */ - public BaseLocalDAO(@Nonnull BaseMetadataEventProducer producer, @Nonnull LocalDAOStorageConfig storageConfig) { + public BaseLocalDAO(@Nonnull BaseMetadataEventProducer producer, @Nonnull LocalDAOStorageConfig storageConfig, + @Nonnull Class urnClass) { super(storageConfig.getAspectStorageConfigMap().keySet()); _producer = producer; _storageConfig = storageConfig; _aspectUnionClass = producer.getAspectUnionClass(); _trackingManager = null; _trackingProducer = null; - _urnClass = null; + _urnClass = urnClass; } /** @@ -239,17 +243,18 @@ public BaseLocalDAO(@Nonnull BaseMetadataEventProducer producer, @Nonnull LocalD * @param trackingProducer {@link BaseTrackingMetadataEventProducer} for producing metadata events with tracking * @param storageConfig {@link LocalDAOStorageConfig} containing storage config of full list of supported aspects * @param trackingManager {@link BaseTrackingManager} for managing tracking requests + * @param urnClass class of the URN type * */ public BaseLocalDAO(@Nonnull BaseTrackingMetadataEventProducer trackingProducer, @Nonnull LocalDAOStorageConfig storageConfig, - @Nonnull BaseTrackingManager trackingManager) { + @Nonnull BaseTrackingManager trackingManager, @Nonnull Class urnClass) { super(storageConfig.getAspectStorageConfigMap().keySet()); _producer = null; _storageConfig = storageConfig; _aspectUnionClass = trackingProducer.getAspectUnionClass(); _trackingManager = trackingManager; _trackingProducer = trackingProducer; - _urnClass = null; + _urnClass = urnClass; } /** diff --git a/dao-impl/ebean-dao/src/main/java/com/linkedin/metadata/dao/EbeanLocalDAO.java b/dao-impl/ebean-dao/src/main/java/com/linkedin/metadata/dao/EbeanLocalDAO.java index 531f017b1..cded06eed 100644 --- a/dao-impl/ebean-dao/src/main/java/com/linkedin/metadata/dao/EbeanLocalDAO.java +++ b/dao-impl/ebean-dao/src/main/java/com/linkedin/metadata/dao/EbeanLocalDAO.java @@ -432,7 +432,7 @@ private EbeanLocalDAO(@Nonnull Class aspectUnionClass, EbeanLocalDAO(@Nonnull BaseMetadataEventProducer producer, @Nonnull EbeanServer server, @Nonnull LocalDAOStorageConfig storageConfig, @Nonnull Class urnClass, @Nonnull UrnPathExtractor urnPathExtractor) { - super(producer, storageConfig); + super(producer, storageConfig, urnClass); _server = server; _urnClass = urnClass; _urnPathExtractor = urnPathExtractor; @@ -441,7 +441,7 @@ private EbeanLocalDAO(@Nonnull Class aspectUnionClass, private EbeanLocalDAO(@Nonnull BaseTrackingMetadataEventProducer producer, @Nonnull EbeanServer server, @Nonnull LocalDAOStorageConfig storageConfig, @Nonnull Class urnClass, @Nonnull UrnPathExtractor urnPathExtractor, @Nonnull BaseTrackingManager trackingManager) { - super(producer, storageConfig, trackingManager); + super(producer, storageConfig, trackingManager, urnClass); _server = server; _urnClass = urnClass; _urnPathExtractor = urnPathExtractor; diff --git a/restli-resources/src/main/java/com/linkedin/metadata/restli/BaseEntityAgnosticResource.java b/restli-resources/src/main/java/com/linkedin/metadata/restli/BaseEntityAgnosticResource.java index c2f9b7e14..338387dc5 100644 --- a/restli-resources/src/main/java/com/linkedin/metadata/restli/BaseEntityAgnosticResource.java +++ b/restli-resources/src/main/java/com/linkedin/metadata/restli/BaseEntityAgnosticResource.java @@ -49,7 +49,7 @@ public abstract class BaseEntityAgnosticResource { * * @param backfillRequests an array of {@link BackfillItem} to be backfilled. Empty aspect list means backfill all aspects. * @param ingestionMode {@link IngestionMode} to indicate the processing strategy. Live mode together with no-change - * should represent no-op, empty map will be returned. Backfill is to redo + * should represent no-op, empty array will be returned. Backfill is to redo * any metadata update that is missed or skipped in the past. * Bootstrap indicates building the metadata from scratch. * @return an array of {@link BackfillItem} that is backfilled, failed urns and aspects will be filtered out