diff --git a/MaddoShared.Benchmarks/ChunkSizeBenchmarks.cs b/MaddoShared.Benchmarks/ChunkSizeBenchmarks.cs index 8ea126f..710b5e6 100644 --- a/MaddoShared.Benchmarks/ChunkSizeBenchmarks.cs +++ b/MaddoShared.Benchmarks/ChunkSizeBenchmarks.cs @@ -22,7 +22,7 @@ public class ChunkSizeBenchmarks { private string _sourceDirectory; private string _destinationDirectory; - private ImageCreationStuff _imageCreationStuff; + private ImageCreationService _imageCreationStuff; private PicSettings _picSettings; [Params(100)] @@ -49,8 +49,8 @@ public class ChunkSizeBenchmarks builder.SetMinimumLevel(LogLevel.Warning); }); - var logger = loggerFactory.CreateLogger(); - var imageCreatorLogger = loggerFactory.CreateLogger(); + var logger = loggerFactory.CreateLogger(); + var imageCreatorLogger = loggerFactory.CreateLogger(); _picSettings = new PicSettings { @@ -75,8 +75,8 @@ public class ChunkSizeBenchmarks Trasparenza = 100 }; - var imageCreatorService = new ImageCreatorSharp(_picSettings, imageCreatorLogger); - _imageCreationStuff = new ImageCreationStuff(logger, _picSettings, imageCreatorService); + var imageCreatorService = new ImageCreatorGDI(_picSettings, imageCreatorLogger); + _imageCreationStuff = new ImageCreationService(logger, _picSettings, imageCreatorService); } [GlobalCleanup] @@ -109,7 +109,7 @@ public class ChunkSizeBenchmarks [Benchmark] public async Task ProcessWithVariableChunkSize() { - var options = new ImageCreationStuff.Options + var options = new ImageCreationService.Options { SourcePath = _sourceDirectory, DestinationPath = _destinationDirectory, diff --git a/MaddoShared.Benchmarks/ImageProcessingBenchmarks.cs b/MaddoShared.Benchmarks/ImageProcessingBenchmarks.cs index 0ed6069..572c436 100644 --- a/MaddoShared.Benchmarks/ImageProcessingBenchmarks.cs +++ b/MaddoShared.Benchmarks/ImageProcessingBenchmarks.cs @@ -22,10 +22,10 @@ public class ImageProcessingBenchmarks { private string _sourceDirectory; private string _destinationDirectory; - private ImageCreationStuff _imageCreationStuff; + private ImageCreationService _imageCreationStuff; private PicSettings _picSettings; - private ILogger _logger; - private ILogger _imageCreatorLogger; + private ILogger _logger; + private ILogger _imageCreatorLogger; [Params(10, 50, 100)] public int ImageCount { get; set; } @@ -54,8 +54,8 @@ public class ImageProcessingBenchmarks builder.SetMinimumLevel(LogLevel.Warning); // Reduce noise during benchmarks }); - _logger = loggerFactory.CreateLogger(); - _imageCreatorLogger = loggerFactory.CreateLogger(); + _logger = loggerFactory.CreateLogger(); + _imageCreatorLogger = loggerFactory.CreateLogger(); // Setup PicSettings with default values _picSettings = new PicSettings @@ -81,8 +81,8 @@ public class ImageProcessingBenchmarks Trasparenza = 100 }; - var imageCreatorService = new ImageCreatorSharp(_picSettings, _imageCreatorLogger); - _imageCreationStuff = new ImageCreationStuff(_logger, _picSettings, imageCreatorService); + var imageCreatorService = new ImageCreatorGDI(_picSettings, _imageCreatorLogger); + _imageCreationStuff = new ImageCreationService(_logger, _picSettings, imageCreatorService); } [GlobalCleanup] @@ -117,7 +117,7 @@ public class ImageProcessingBenchmarks [Benchmark(Description = "Process images in parallel with chunking")] public async Task ProcessImagesParallelWithChunks() { - var options = new ImageCreationStuff.Options + var options = new ImageCreationService.Options { SourcePath = _sourceDirectory, DestinationPath = _destinationDirectory, @@ -139,7 +139,7 @@ public class ImageProcessingBenchmarks [Benchmark(Description = "Process images in parallel without chunking")] public async Task ProcessImagesParallelWithoutChunks() { - var options = new ImageCreationStuff.Options + var options = new ImageCreationService.Options { SourcePath = _sourceDirectory, DestinationPath = _destinationDirectory, @@ -161,7 +161,7 @@ public class ImageProcessingBenchmarks [Benchmark(Description = "Process images linearly")] public async Task ProcessImagesLinear() { - var options = new ImageCreationStuff.Options + var options = new ImageCreationService.Options { SourcePath = _sourceDirectory, DestinationPath = _destinationDirectory, diff --git a/MaddoShared.Benchmarks/ImageSizeBenchmarks.cs b/MaddoShared.Benchmarks/ImageSizeBenchmarks.cs index fe42fcc..4d71e9f 100644 --- a/MaddoShared.Benchmarks/ImageSizeBenchmarks.cs +++ b/MaddoShared.Benchmarks/ImageSizeBenchmarks.cs @@ -22,7 +22,7 @@ public class ImageSizeBenchmarks { private string _sourceDirectory; private string _destinationDirectory; - private ImageCreationStuff _imageCreationStuff; + private ImageCreationService _imageCreationStuff; private PicSettings _picSettings; [Params(50)] @@ -58,8 +58,8 @@ public class ImageSizeBenchmarks builder.SetMinimumLevel(LogLevel.Warning); }); - var logger = loggerFactory.CreateLogger(); - var imageCreatorLogger = loggerFactory.CreateLogger(); + var logger = loggerFactory.CreateLogger(); + var imageCreatorLogger = loggerFactory.CreateLogger(); _picSettings = new PicSettings { @@ -84,8 +84,8 @@ public class ImageSizeBenchmarks Trasparenza = 100 }; - var imageCreatorService = new ImageCreatorSharp(_picSettings, imageCreatorLogger); - _imageCreationStuff = new ImageCreationStuff(logger, _picSettings, imageCreatorService); + var imageCreatorService = new ImageCreatorGDI(_picSettings, imageCreatorLogger); + _imageCreationStuff = new ImageCreationService(logger, _picSettings, imageCreatorService); } private static (int width, int height) GetDimensions(ImageSize size) @@ -130,7 +130,7 @@ public class ImageSizeBenchmarks [Benchmark] public async Task ProcessDifferentImageSizes() { - var options = new ImageCreationStuff.Options + var options = new ImageCreationService.Options { SourcePath = _sourceDirectory, DestinationPath = _destinationDirectory, diff --git a/MaddoShared.Benchmarks/StressTestBenchmark.cs b/MaddoShared.Benchmarks/StressTestBenchmark.cs index 4d626ae..207b434 100644 --- a/MaddoShared.Benchmarks/StressTestBenchmark.cs +++ b/MaddoShared.Benchmarks/StressTestBenchmark.cs @@ -22,7 +22,7 @@ public class StressTestBenchmark { private string _sourceDirectory; private string _destinationDirectory; - private ImageCreationStuff _imageCreationStuff; + private ImageCreationService _imageCreationStuff; private PicSettings _picSettings; [Params(500, 1000)] @@ -49,8 +49,8 @@ public class StressTestBenchmark builder.SetMinimumLevel(LogLevel.Warning); }); - var logger = loggerFactory.CreateLogger(); - var imageCreatorLogger = loggerFactory.CreateLogger(); + var logger = loggerFactory.CreateLogger(); + var imageCreatorLogger = loggerFactory.CreateLogger(); _picSettings = new PicSettings { @@ -75,8 +75,8 @@ public class StressTestBenchmark Trasparenza = 100 }; - var imageCreatorService = new ImageCreatorSharp(_picSettings, imageCreatorLogger); - _imageCreationStuff = new ImageCreationStuff(logger, _picSettings, imageCreatorService); + var imageCreatorService = new ImageCreatorGDI(_picSettings, imageCreatorLogger); + _imageCreationStuff = new ImageCreationService(logger, _picSettings, imageCreatorService); Console.WriteLine($"[STRESS TEST] Setup complete. Ready to process {ImageCount} images."); } @@ -113,7 +113,7 @@ public class StressTestBenchmark [Benchmark(Description = "Stress test with optimal settings")] public async Task StressTestOptimalSettings() { - var options = new ImageCreationStuff.Options + var options = new ImageCreationService.Options { SourcePath = _sourceDirectory, DestinationPath = _destinationDirectory, @@ -143,7 +143,7 @@ public class StressTestBenchmark [Benchmark(Description = "Stress test with aggressive memory management")] public async Task StressTestAggressiveMemoryManagement() { - var options = new ImageCreationStuff.Options + var options = new ImageCreationService.Options { SourcePath = _sourceDirectory, DestinationPath = _destinationDirectory, diff --git a/MaddoShared.Tests/ImageCreatorSharpTests.cs b/MaddoShared.Tests/ImageCreatorSharpTests.cs index d053452..8d0dc91 100644 --- a/MaddoShared.Tests/ImageCreatorSharpTests.cs +++ b/MaddoShared.Tests/ImageCreatorSharpTests.cs @@ -14,7 +14,7 @@ namespace MaddoShared.Tests [TestClass] public class ImageCreatorSharpTests { - private ImageCreatorSharp CreateService(Action customize = null) + private ImageCreatorGDI CreateService(Action customize = null) { var settings = new PicSettings { @@ -37,8 +37,8 @@ namespace MaddoShared.Tests customize?.Invoke(settings); - var logger = new Mock>().Object; - return new ImageCreatorSharp(settings, logger); + var logger = new Mock>().Object; + return new ImageCreatorGDI(settings, logger); } [TestMethod] diff --git a/MaddoShared/ImageCreationStuff.cs b/MaddoShared/ImageCreationStuff.cs index b688f3a..470e1d6 100644 --- a/MaddoShared/ImageCreationStuff.cs +++ b/MaddoShared/ImageCreationStuff.cs @@ -15,8 +15,8 @@ using Microsoft.Extensions.Logging; namespace MaddoShared { [SuppressMessage("Interoperability", "CA1416:Validate platform compatibility")] - public class ImageCreationStuff( - ILogger logger, + public class ImageCreationService( + ILogger logger, PicSettings picSettings, IImageCreator imageCreatorService) { diff --git a/MaddoShared/ImageCreatorAlternate.cs b/MaddoShared/ImageCreatorAlternate.cs index 476b9be..d5af0f3 100644 --- a/MaddoShared/ImageCreatorAlternate.cs +++ b/MaddoShared/ImageCreatorAlternate.cs @@ -23,12 +23,12 @@ namespace MaddoShared; /// provide a safe and testable replacement. Additional features (text/logo drawing) /// can be added later using ImageSharp.Drawing.Common and SixLabors.Fonts. /// -public class ImageCreatorAlternate : IImageCreator +public class ImageCreatorImageSharp : IImageCreator { private readonly PicSettings _picSettings; - private readonly ILogger _logger; + private readonly ILogger _logger; - public ImageCreatorAlternate(PicSettings picSettings, ILogger logger) + public ImageCreatorImageSharp(PicSettings picSettings, ILogger logger) { _picSettings = picSettings ?? throw new ArgumentNullException(nameof(picSettings)); _logger = logger; diff --git a/MaddoShared/ImageCreatorMapper.cs b/MaddoShared/ImageCreatorMapper.cs index 8ee07cf..32ee6ac 100644 --- a/MaddoShared/ImageCreatorMapper.cs +++ b/MaddoShared/ImageCreatorMapper.cs @@ -27,8 +27,8 @@ public class ImageCreatorMapper : IImageCreator _logger?.LogDebug("Resolving IImageCreator for provider '{Provider}'", provider); return provider.Equals("ALTERNATE", StringComparison.OrdinalIgnoreCase) - ? ResolveAndCall(imgState, logo) - : ResolveAndCall(imgState, logo); + ? ResolveAndCall(imgState, logo) + : ResolveAndCall(imgState, logo); } private Task ResolveAndCall(ImageState imgState, System.Drawing.Image logo) where T : IImageCreator @@ -37,8 +37,8 @@ public class ImageCreatorMapper : IImageCreator var impl = (IImageCreator)_sp.GetService(typeof(T)); if (impl is null) { - _logger?.LogWarning("Requested image creator {Type} is not registered. Falling back to ImageCreatorSharp.", typeof(T).Name); - impl = (IImageCreator)_sp.GetService(typeof(ImageCreatorSharp)); + _logger?.LogWarning("Requested image creator {Type} is not registered. Falling back to ImageCreatorGDI.", typeof(T).Name); + impl = (IImageCreator)_sp.GetService(typeof(ImageCreatorGDI)); } if (impl is null) diff --git a/MaddoShared/ImageCreatorSharp.cs b/MaddoShared/ImageCreatorSharp.cs index b430a36..fdac999 100644 --- a/MaddoShared/ImageCreatorSharp.cs +++ b/MaddoShared/ImageCreatorSharp.cs @@ -15,7 +15,7 @@ using SixLabors.ImageSharp.Metadata.Profiles.Exif; namespace MaddoShared; [SuppressMessage("Interoperability", "CA1416:Validate platform compatibility")] -public class ImageCreatorSharp(PicSettings picSettings, ILogger logger) : IImageCreator +public class ImageCreatorGDI(PicSettings picSettings, ILogger logger) : IImageCreator { public async Task CreateImageAsync(ImageState imgState, Image logo) { diff --git a/imagecatalog/DataModel.cs b/imagecatalog/DataModel.cs index cafff8c..fbb0223 100644 --- a/imagecatalog/DataModel.cs +++ b/imagecatalog/DataModel.cs @@ -37,7 +37,7 @@ namespace ImageCatalog_2 private readonly ITestService _service; private readonly ILogger _logger; private readonly ISettingsService _settingsService; - private readonly ImageCreationStuff _imageCreationService; + private readonly ImageCreationService _imageCreationService; private readonly PicSettings _picSettings; private readonly IMapper _mapper; @@ -47,7 +47,7 @@ namespace ImageCatalog_2 public List HorizontalAlignments { get; } = new() { "Sinistra", "Centro", "Destra" }; public DataModel(ITestService testService, ISettingsService settingsService, - ImageCreationStuff imageCreationService, PicSettings picSettings, + ImageCreationService imageCreationService, PicSettings picSettings, IMapper mapper, ILogger logger, MaddoShared.IVersionProvider? versionProvider = null) { _service = testService; @@ -1273,7 +1273,7 @@ namespace ImageCatalog_2 // Best-effort; do not fail processing on mapping issues } - var imageCreationOptions = new ImageCreationStuff.Options + var imageCreationOptions = new ImageCreationService.Options { AggiornaSottodirectory = UpdateSubdirectories, CreaSottocartelle = CreateSubfolders, diff --git a/imagecatalog/MainForm.cs b/imagecatalog/MainForm.cs index e951bc3..86586d0 100644 --- a/imagecatalog/MainForm.cs +++ b/imagecatalog/MainForm.cs @@ -33,7 +33,7 @@ public partial class MainForm private bool _suppressRadioUpdates = false; private bool _transparentDialogOpen = false; - public MainForm(DataModel model, ImageCreationStuff imageCreationStuff, PicSettings picSettings, + public MainForm(DataModel model, ImageCreationService imageCreationStuff, PicSettings picSettings, ParametriSetup parametriSetup, ILogger logger) { Model = model; diff --git a/imagecatalog/Program.cs b/imagecatalog/Program.cs index 55b12c5..65e51a0 100644 --- a/imagecatalog/Program.cs +++ b/imagecatalog/Program.cs @@ -113,7 +113,7 @@ static class Program // Resolve optional version provider and pass to DataModel var testService = sp.GetRequiredService(); var settingsService = sp.GetRequiredService(); - var imageCreation = sp.GetRequiredService(); + var imageCreation = sp.GetRequiredService(); var picSettings = sp.GetRequiredService(); var mapper = sp.GetRequiredService(); var logger = sp.GetRequiredService>(); @@ -122,9 +122,9 @@ static class Program return new DataModel(testService, settingsService, imageCreation, picSettings, mapper, logger, versionProvider); }); - services.AddTransient(); - services.AddTransient(); - services.AddTransient(); + services.AddTransient(); + services.AddTransient(); + services.AddTransient(); services.AddTransient(); // Register IImageCreator to be resolved via ImageCreatorMapper which selects concrete implementation at call time