Class DefaultMetadataStorage

  • All Implemented Interfaces:
    com.jetbrains.fus.reporting.FusComponent , com.jetbrains.fus.reporting.MetadataStorage

    
    public final class DefaultMetadataStorage<T extends Comparable<T>>
     implements MetadataStorage<T>
                        

    Creates a metadata storage that manages downloading, caching and serving validation metadata and dictionaries.

    • Constructor Detail

      • DefaultMetadataStorage

        DefaultMetadataStorage(FusClientConfig config, MessageBus messageBus, FusLoggerFactory loggerFactory, RemoteConfig remoteConfig, FusHttpClient httpClient, FusJsonSerializer jsonSerializer, FileStorage fileStorage, FileStorage bundledFileStorage, MetadataUpdateDelay metadataUpdateDelay, EventLogBuildParser<T> buildParser, List<String> excludedFields, UtilRuleProducer utilRulesProducer, Set<String> skipAnonymizationIds)
        Parameters:
        messageBus - bus used for publishing intra-component events
        loggerFactory - factory used to obtain a Logger for this storage
        remoteConfig - source of remote endpoints/URLs where metadata and dictionaries are fetched from
        httpClient - HTTP client used to perform remote requests for metadata and dictionaries
        jsonSerializer - deserializer used to read metadata JSON files
        fileStorage - local storage used to persist downloaded/cached metadata and dictionaries
        bundledFileStorage - optional read-only storage with bundled metadata/dictionaries shipped with the app; used as a fallback
        metadataUpdateDelay - cadence for background metadata/dictionaries update attempts; defaults to 180 minutes
        buildParser - parser that converts product build strings to comparable build objects used by validation metadata
        excludedFields - fields that should be excluded from anonymization and validation rules when building validators; defaults to an empty list
        utilRulesProducer - factory that provides additional validation util rules; defaults to a rejecting producer
        skipAnonymizationIds - optional set of event/group identifiers for which anonymization should be skipped