Ejemplo n.º 1
0
        /// <inheritdoc />
        public ISchemaProducer WithSink(ISchemaSink sink)
        {
            sink.ThrowIfNullOrDefault();

            this.Sinks.Add(sink);

            return(this);
        }
        private static async Task ConsumeAsync(Options options, ISchemaSink sink)
        {
            var consumer = new SchemaConsumer()
                           .WithSink(sink);

            var downloaded = await consumer.ConsumeAsync(options.Filepath).ConfigureAwait(false);

            Console.WriteLine($"{sink.Name}: {SchemaConsumed}");
            Console.WriteLine(downloaded);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Adds the <see cref="HttpClient"/> instance to the sink.
        /// </summary>
        /// <param name="sink"><see cref="ISchemaSink"/> instance.</param>
        /// <param name="httpClient"><see cref="HttpClient"/> instance.</param>
        /// <returns>Returns the <see cref="ISchemaSink"/> instance.</returns>
        public static ISchemaSink WithHttpClient(this ISchemaSink sink, HttpClient httpClient)
        {
            sink.ThrowIfNullOrDefault();
            httpClient.ThrowIfNullOrDefault();

            var instance = (sink as HttpSchemaSink).ThrowIfNullOrDefault();

            instance.WithHttpClient(httpClient);

            return(instance);
        }
Ejemplo n.º 4
0
 private static async Task SetSchemaAsync(ISchemaSink sink, string schema, string path, ConcurrentQueue <Exception> exceptions)
 {
     try
     {
         await sink.SetSchemaAsync(schema, path).ConfigureAwait(false);
     }
     catch (Exception ex)
     {
         exceptions.Enqueue(ex);
     }
 }
Ejemplo n.º 5
0
        /// <summary>
        /// Adds the <see cref="CloudBlobClient"/> instance to the sink.
        /// </summary>
        /// <param name="sink"><see cref="ISchemaSink"/> instance.</param>
        /// <param name="container">Blob container name.</param>
        /// <returns>Returns the <see cref="ISchemaSink"/> instance.</returns>
        public static ISchemaSink WithContainer(this ISchemaSink sink, string container)
        {
            sink.ThrowIfNullOrDefault();
            container.ThrowIfNullOrWhiteSpace();

            var instance = (sink as BlobStorageSchemaSink).ThrowIfNullOrDefault();

            instance.WithContainer(container);

            return(instance);
        }
Ejemplo n.º 6
0
        /// <summary>
        /// Adds the <see cref="CloudBlobClient"/> instance to the sink.
        /// </summary>
        /// <param name="sink"><see cref="ISchemaSink"/> instance.</param>
        /// <param name="blobClient"><see cref="CloudBlobClient"/> instance.</param>
        /// <returns>Returns the <see cref="ISchemaSink"/> instance.</returns>
        public static ISchemaSink WithBlobClient(this ISchemaSink sink, CloudBlobClient blobClient)
        {
            sink.ThrowIfNullOrDefault();
            blobClient.ThrowIfNullOrDefault();

            var instance = (sink as BlobStorageSchemaSink).ThrowIfNullOrDefault();

            instance.WithBlobClient(blobClient);

            return(instance);
        }
        /// <inheritdoc />
        public ISchemaConsumer WithSink(ISchemaSink sink)
        {
            this.Sink = sink.ThrowIfNullOrDefault();

            return(this);
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="SchemaConsumer"/> class.
 /// </summary>
 /// <param name="sink"><see cref="ISchemaSink"/> instance.</param>
 public SchemaConsumer(ISchemaSink sink)
 {
     this.Sink = sink.ThrowIfNullOrDefault();
 }