Example #1
0
        public override async Task <string> GeneratePage(int id, int staticSiteId, IFileNameGenerator fileNamer, IEnumerable <ITransformer> transformers = null)
        {
            SslTruster.TrustSslIfAppSettingConfigured();

            var node = GetNode(id);

            if (node == null)
            {
                return(null);
            }

            var    url         = node.Url(mode: UrlMode.Relative);
            string absoluteUrl = node.Url(mode: UrlMode.Absolute);

            var fileData = await GetFileDataFromWebClient(absoluteUrl);

            if (fileData == null)
            {
                return(null);
            }

            var transformedData = RunTransformers(fileData, transformers);

            var filePath = fileNamer.GetFilePartialPath(url);

            var generatedFileLocation = await Store(staticSiteId, filePath, transformedData);

            return(generatedFileLocation);
        }
Example #2
0
 public LocalStorageUploadProcessor(LocalStorageConfigure configure, IFileNameGenerator fileNameGenerator, ISubdirectoryGenerator subdirectoryGenerator, IFileValidator fileValidator)
 {
     Configure             = configure;
     FileNameGenerator     = fileNameGenerator;
     SubdirectoryGenerator = subdirectoryGenerator;
     FileValidator         = fileValidator;
 }
        public void Init()
        {
            _log                 = Substitute.For <ILog>();
            _dateCalculator      = Substitute.For <IDateCalculator>();
            _powerService        = Substitute.For <IPowerService>();
            _positionAggregator  = Substitute.For <IPositionAggregator>();
            _fileNameGenerator   = Substitute.For <IFileNameGenerator>();
            _reportContentWriter = Substitute.For <IReportContentWriter>();
            _file                = Substitute.For <IFile>();
            _reportGenerator     = new ReportGenerator(_log, _dateCalculator, _powerService, _positionAggregator, _fileNameGenerator, _reportContentWriter, _file);

            _reportFolder = @"C:\Temp\";
            _dates        = new DateResult {
                ExtractDateTime = new DateTime(2015, 10, 5, 23, 34, 0), RequestDate = new DateTime(2015, 10, 6)
            };

            _powerTradeOne = new PowerTrade();
            _powerTradeTwo = new PowerTrade();
            _powerTrades   = new[] { _powerTradeOne, _powerTradeTwo };
            _powerPosition = new PowerPosition(_dates.RequestDate);
            _fileName      = "PowerPositions.csv";
            _content       = "Local time, Volume etc";

            _dateCalculator.Calculate().Returns(_dates);
            _powerService.GetTrades(_dates.RequestDate).Returns(_powerTrades);
            _positionAggregator.Aggregate(_dates.RequestDate, Arg.Is <List <PowerTrade> >(x => x[0] == _powerTradeOne && x[1] == _powerTradeTwo)).Returns(_powerPosition);
            _fileNameGenerator.Generate(_dates.ExtractDateTime).Returns(_fileName);
            _reportContentWriter.Write(_powerPosition).Returns(_content);
        }
        public AnnouncingHtmlOutputUrlProcessor(
            IValidatorWrapper validator,
            IRunnerContext context,
            IFileNameGenerator fileNameGenerator,
            ResourceCopier resourceCopier,
            IValidatorReportWriterFactory reportWriterFactory,
            IStreamFactory streamFactory,
            IHtmlIndexFileWriter htmlIndexFileWriter)
        {
            if (validator == null)
                throw new ArgumentNullException("validator");
            if (context == null)
                throw new ArgumentNullException("context");
            if (fileNameGenerator == null)
                throw new ArgumentNullException("fileNameGenerator");
            if (resourceCopier == null)
                throw new ArgumentNullException("resourceCopier");
            if (reportWriterFactory == null)
                throw new ArgumentNullException("reportWriterFactory");
            if (streamFactory == null)
                throw new ArgumentNullException("streamFactory");
            if (htmlIndexFileWriter == null)
                throw new ArgumentNullException("htmlIndexFileWriter");

            this.mValidator = validator;
            this.mContext = context;
            this.mFileNameGenerator = fileNameGenerator;
            this.mResourceCopier = resourceCopier;
            this.mReportWriterFactory = reportWriterFactory;
            this.mStreamFactory = streamFactory;
            this.mHtmlIndexFileWriter = htmlIndexFileWriter;
        }
Example #5
0
        public FileProcessor(
            IFileNameGenerator fileNameGenerator,
            IDocumentWrapper documentWrapper,
            IDocumentManager documentManager,
            Func <Type, ITaggerCommand> commandFactory,
            ILogger logger)
        {
            if (fileNameGenerator == null)
            {
                throw new ArgumentNullException(nameof(fileNameGenerator));
            }

            if (documentWrapper == null)
            {
                throw new ArgumentNullException(nameof(documentWrapper));
            }

            if (documentManager == null)
            {
                throw new ArgumentNullException(nameof(documentManager));
            }

            if (commandFactory == null)
            {
                throw new ArgumentNullException(nameof(commandFactory));
            }

            this.fileNameGenerator = fileNameGenerator;
            this.documentWrapper   = documentWrapper;
            this.documentManager   = documentManager;
            this.commandFactory    = commandFactory;
            this.logger            = logger;

            this.tasks = new ConcurrentQueue <Task>();
        }
        public void Init()
        {
            _log = Substitute.For<ILog>();
            _dateCalculator = Substitute.For<IDateCalculator>();
            _powerService = Substitute.For<IPowerService>();
            _positionAggregator = Substitute.For<IPositionAggregator>();
            _fileNameGenerator = Substitute.For<IFileNameGenerator>();
            _reportContentWriter = Substitute.For<IReportContentWriter>();
            _file = Substitute.For<IFile>();
            _reportGenerator = new ReportGenerator(_log, _dateCalculator, _powerService, _positionAggregator, _fileNameGenerator, _reportContentWriter, _file);

            _reportFolder = @"C:\Temp\";
            _dates = new DateResult { ExtractDateTime = new DateTime(2015, 10, 5, 23, 34, 0), RequestDate = new DateTime(2015, 10, 6) };

            _powerTradeOne = new PowerTrade();
            _powerTradeTwo = new PowerTrade();
            _powerTrades = new[] { _powerTradeOne, _powerTradeTwo };
            _powerPosition = new PowerPosition();
            _fileName = "PowerPositions.csv";
            _content = "Local time, Volume etc";

            _dateCalculator.Calculate().Returns(_dates);
            _powerService.GetTrades(_dates.RequestDate).Returns(_powerTrades);
            _positionAggregator.Aggregate(_dates.RequestDate, Arg.Is<List<PowerTrade>>(x => x[0] == _powerTradeOne && x[1] == _powerTradeTwo)).Returns(_powerPosition);
            _fileNameGenerator.Generate(_dates.ExtractDateTime).Returns(_fileName);
            _reportContentWriter.Write(_powerPosition).Returns(_content);
        }
Example #7
0
 public JobBuilder(int staticSiteId, IFileNameGenerator nameGenerator)
 {
     job = new Job
     {
         StaticSiteId  = staticSiteId,
         NameGenerator = nameGenerator
     };
 }
Example #8
0
 public DiskCache(StorageFolder root, IFileNameGenerator fileNameGenerator)
 {
     this.root = root;
     this.directory = "image";
     this.fileNameGenerator = fileNameGenerator;
     this.limitSize = 0;
     doInit();
 }
Example #9
0
 public Business(IFileReader fileReader, IFileNameGenerator fileNameGenerator, ICurrencyService currencyService, IFileWriter fileWriter, IEmailSender emailSender)
 {
     _fileReader        = fileReader;
     _fileNameGenerator = fileNameGenerator;
     _currencyService   = currencyService;
     _fileWriter        = fileWriter;
     _emailSender       = emailSender;
 }
 public TencentCosStorageUploadProcessor(TencentCosStorageConfigure configure, CosXml client, IFileNameGenerator fileNameGenerator, ISubdirectoryGenerator subdirectoryGenerator, IFileValidator fileValidator)
 {
     Configure             = configure;
     Client                = client;
     FileNameGenerator     = fileNameGenerator;
     SubdirectoryGenerator = subdirectoryGenerator;
     FileValidator         = fileValidator;
 }
Example #11
0
 public DiskCache(StorageFolder root, IFileNameGenerator fileNameGenerator)
 {
     this.root              = root;
     this.directory         = "image";
     this.fileNameGenerator = fileNameGenerator;
     this.limitSize         = 0;
     doInit();
 }
Example #12
0
 public EmployeeController(PayrollDbContext _payrollDb
                           , IHostingEnvironment _hostingEnvironment
                           , IFileNameGenerator _nameGenerator)
 {
     dbContext          = _payrollDb;
     hostingEnvironment = _hostingEnvironment;
     nameGenerator      = _nameGenerator;
 }
 public AliyunOssStorageUploadProcessor(AliyunOssStorageConfigure configure, IOss client, IFileNameGenerator fileNameGenerator, ISubdirectoryGenerator subdirectoryGenerator, IFileValidator fileValidator)
 {
     Configure             = configure;
     Client                = client;
     FileNameGenerator     = fileNameGenerator;
     SubdirectoryGenerator = subdirectoryGenerator;
     FileValidator         = fileValidator;
 }
Example #14
0
 public MonitoringSession(ISmartSession session)
 {
     _session             = session;
     _themeGraphGenerator = new ThemeGraphGenerator(session);
     _filenameGenerator   = new FileNameGeneratorDefault();
     _extractingSession   = new ExtractingSession(session);
     LoadMonitoringTheme();
 }
Example #15
0
 public AliyunOssStorageChunkedUploadProcessor(ChunkedUploadAliyunOssStorageConfigure configure, IFileValidator fileValidator, IOss client, IMemoryCache memoryCache, IFileNameGenerator fileNameGenerator, ISubdirectoryGenerator subdirectoryGenerator)
 {
     Configure             = configure;
     FileValidator         = fileValidator;
     MemoryCache           = memoryCache;
     FileNameGenerator     = fileNameGenerator;
     SubdirectoryGenerator = subdirectoryGenerator;
     Client = client;
 }
Example #16
0
 public ReportGenerator(ILog log, IDateCalculator dateCalculator, IPowerService powerService, IPositionAggregator positionAggregator, IFileNameGenerator fileNameGenerator, IReportContentWriter reportContentWriter, IFile file)
 {
     _log                 = log;
     _dateCalculator      = dateCalculator;
     _powerService        = powerService;
     _positionAggregator  = positionAggregator;
     _fileNameGenerator   = fileNameGenerator;
     _reportContentWriter = reportContentWriter;
     _file                = file;
 }
 public ReportGenerator(ILog log, IDateCalculator dateCalculator, IPowerService powerService, IPositionAggregator positionAggregator, IFileNameGenerator fileNameGenerator, IReportContentWriter reportContentWriter, IFile file)
 {
     _log = log;
     _dateCalculator = dateCalculator;
     _powerService = powerService;
     _positionAggregator = positionAggregator;
     _fileNameGenerator = fileNameGenerator;
     _reportContentWriter = reportContentWriter;
     _file = file;
 }
 public DiskCreateCommand(IDiskProfile profile, string parentPath, IFileNameGenerator fileNameGenerator, bool isFolder,
                          Func <IEntryModel, IScriptCommand> thenFunc)
     : base("ParsePath")
 {
     _profile           = profile;
     _parentPath        = parentPath;
     _fileNameGenerator = fileNameGenerator;
     _thenFunc          = thenFunc;
     _isFolder          = isFolder;
 }
Example #19
0
 public AutoGenerateExecutor(IResultHandler resultHandler,
                             IMonitoringProduct monitoringProduct,
                             IThemeGraphGenerator layoutGenerator,
                             IFileNameGenerator fileNameGenerator)
 {
     _resultHandler      = resultHandler;
     _monitoringProduct  = monitoringProduct;
     _layoutGenerator    = layoutGenerator;
     _fileNameGenerator  = fileNameGenerator;
     _contextEnvironment = new ContextEnvironment();
 }
        public LocalFileStorage(IHostingEnvironment environment, IFileNameGenerator nameGenerator)
        {
            this.nameGenerator = nameGenerator;
            this.environment   = environment;

            ContentDirectory = Path.Combine(environment.ContentRootPath, "/files");
            if (!Directory.Exists(ContentDirectory))
            {
                Directory.CreateDirectory(ContentDirectory);
            }
        }
Example #21
0
        public string GetFileName(string[] files, string productIdentify, string outputIdentify, string fomart, string extinfo)
        {
            IFileNameGenerator fng = GetFileNameGenerator();

            if (fng == null)
            {
                return(string.Empty);
            }
            DataIdentify di = GetDataIdentify();

            return(fng.NewFileName(CreatRasterIndetifyId(files, productIdentify, outputIdentify, di, fomart, extinfo)));
        }
Example #22
0
        public FileUploadStreamProvider(NameValueConfigurationSection configuration)
        {
            this._location = configuration["location"];
            bool flag = this._location == null;

            if (flag)
            {
                throw new ApplicationException();
            }
            bool flag2 = !Path.IsPathRooted(this._location);

            if (flag2)
            {
                this._location = HttpContext.Current.Server.MapPath(this._location);
            }
            string text  = configuration["existingAction"];
            bool   flag3 = text != null && text.Length != 0;

            if (flag3)
            {
                this._existingAction = (FileUploadStreamProvider.ExistingAction)Enum.Parse(typeof(FileUploadStreamProvider.ExistingAction), text, true);
            }
            else
            {
                this._existingAction = FileUploadStreamProvider.ExistingAction.Exception;
            }
            string text2 = configuration["fileNameMethod"];
            bool   flag4 = text2 != null && text2.Length != 0;

            if (flag4)
            {
                this._fileNameMethod = (FileUploadStreamProvider.FileNameMethod)Enum.Parse(typeof(FileUploadStreamProvider.FileNameMethod), text2, true);
            }
            else
            {
                this._fileNameMethod = FileUploadStreamProvider.FileNameMethod.Client;
            }
            bool flag5 = this._fileNameMethod == FileUploadStreamProvider.FileNameMethod.Custom;

            if (flag5)
            {
                this._fileNameGenerator = (ConfigurationHashThread.CreateInstance(configuration["fileNameGenerator"], new object[]
                {
                    configuration
                }) as IFileNameGenerator);
                bool flag6 = this._fileNameGenerator == null;
                if (flag6)
                {
                    throw new ApplicationException("无法对FileNameGenerator进行实例化.");
                }
            }
        }
        private string CreatOutputFileName(string fname, bool isCustom)
        {
            IFileNameGenerator fng            = GetFileNameGenerator();
            DataIdentify       di             = GetDataIdentify();
            string             outputIdentify = _argumentProvider.GetArg("OutFileIdentify").ToString();

            if (string.IsNullOrEmpty(outputIdentify))
            {
                outputIdentify = GetOutputIdentifyByFilename(fname, isCustom);
            }
            RasterIdentify rid = CreatRasterIndetifyId(new string[] { fname }, "VGT", outputIdentify, di, ".xlsx", null);

            return((fng == null) ? string.Empty : fng.NewFileName(rid));
        }
Example #24
0
 public MetaWeblogService(
     IBlogConfig blogConfig,
     ITimeZoneResolver timeZoneResolver,
     ILogger <MetaWeblogService> logger,
     IBlogImageStorage blogImageStorage,
     IFileNameGenerator fileNameGenerator,
     IMediator mediator)
 {
     _blogConfig        = blogConfig;
     _timeZoneResolver  = timeZoneResolver;
     _logger            = logger;
     _blogImageStorage  = blogImageStorage;
     _fileNameGenerator = fileNameGenerator;
     _mediator          = mediator;
 }
Example #25
0
 public ImageController(
     IBlogImageStorage imageStorage,
     ILogger <ImageController> logger,
     IBlogConfig blogConfig,
     IMemoryCache cache,
     IFileNameGenerator fileNameGenerator,
     IOptions <AppSettings> settings,
     IOptions <ImageStorageSettings> imageStorageSettings)
 {
     _imageStorage         = imageStorage;
     _logger               = logger;
     _blogConfig           = blogConfig;
     _cache                = cache;
     _fileNameGenerator    = fileNameGenerator;
     _settings             = settings.Value;
     _imageStorageSettings = imageStorageSettings.Value;
 }
        public async Task <string> RebuildSite(int staticSiteId)
        {
            var stopwatch = new Stopwatch();

            stopwatch.Start();

            var entity = _sitesRepo.Get(staticSiteId);

            if (entity == null)
            {
                throw new HttpException(404, "Site not found with id " + staticSiteId);
            }

            using (var umbracoContext = _umbracoContextFactory.EnsureUmbracoContext())
            {
                IFileNameGenerator fileNamer = entity.ExportFormat == "api" ? (IFileNameGenerator) new JsonFileNameGenerator() : new EverythingIsIndexHtmlFileNameGenerator();

                int rootNodeId = int.Parse(entity.RootNode);
                var rootNode   = umbracoContext.UmbracoContext.Content.GetById(rootNodeId);

                var builder = new JobBuilder(entity.Id, fileNamer)
                              .AddPageWithDescendants(rootNode);

                AddMediaToBuilder(entity, umbracoContext, builder);
                AddMediaCropsToBuilder(entity, builder);

                AddAssetsToBuilder(entity, builder);

                var listFactory  = _exportTypeSettings.GetTransformerListFactory(entity.ExportFormat);
                var transformers = listFactory.BuildTransformers(entity);

                if (transformers.Any())
                {
                    builder.AddTransformers(transformers);
                }

                var results = await GetResults(entity, builder);

                stopwatch.Stop();

                _sitesRepo.UpdateLastRun(staticSiteId, (int)(stopwatch.ElapsedMilliseconds / 1000));

                return(string.Join(Environment.NewLine, results));
            }
        }
Example #27
0
 public PanelController(PayrollDbContext _dbContext,
                        UserManager <AppUser> _userManager,
                        RoleManager <IdentityRole> _roleManager,
                        SignInManager <AppUser> _signInManager,
                        IPasswordHasher <AppUser> _passwordHasher,
                        IPasswordValidator <AppUser> _passwordValidator,
                        IHostingEnvironment _hostingEnvironment,
                        IFileNameGenerator _nameGenerator)
 {
     dbContext          = _dbContext;
     userManager        = _userManager;
     roleManager        = _roleManager;
     signInManager      = _signInManager;
     passwordHasher     = _passwordHasher;
     passwordValidator  = _passwordValidator;
     hostingEnvironment = _hostingEnvironment;
     nameGenerator      = _nameGenerator;
 }
 public AccountController(UserManager <AppUser> _userManager
                          , RoleManager <IdentityRole> _roleManager
                          , SignInManager <AppUser> _signInManager
                          , IPasswordHasher <AppUser> _passwordHasher
                          , IPasswordValidator <AppUser> _passwordValidator
                          , PayrollDbContext _payrollDb
                          , IHostingEnvironment _hostingEnvironment
                          , IFileNameGenerator _nameGenerator)
 {
     userManager        = _userManager;
     roleManager        = _roleManager;
     signInManager      = _signInManager;
     passwordHasher     = _passwordHasher;
     passwordValidator  = _passwordValidator;
     payrollDb          = _payrollDb;
     hostingEnvironment = _hostingEnvironment;
     nameGenerator      = _nameGenerator;
 }
Example #29
0
 public void Write(string content, bool hasTimeStamp, FileTypeEnum fileType)
 {
     try
     {
         IFileNameGenerator generator    = FileNameGeneratorFactory.Create(fileType);
         string             fullfilename = generator.GetFileName(_fileNameFormat, fileSize);
         FileInfo           file         = new FileInfo(fullfilename);
         StringBuilder      log          = new StringBuilder();
         if (hasTimeStamp)
         {
             log.AppendFormat("{0} -- {1}", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), content);
         }
         else
         {
             log.Append(content);
         }
         //lock (locker)
         //{
         if (!writeLock.IsWriteLockHeld)
         {
             writeLock.EnterWriteLock();
         }
         try
         {
             if (!file.Exists)
             {
                 file.Create().Close();
             }
             File.AppendAllLines(file.FullName, new string[] { log.ToString() });
         }
         finally
         {
             if (writeLock.IsWriteLockHeld)
             {
                 writeLock.ExitWriteLock();
             }
         }
         //}
     }
     catch
     {
     }
 }
        public override async Task <string> GeneratePage(int id, int staticSiteId, IFileNameGenerator fileNamer, IEnumerable <ITransformer> transformers = null)
        {
            var node = GetNode(id);

            if (node == null)
            {
                return(null);
            }

            var url      = node.Url(mode: UrlMode.Relative);
            var fileData = GetJsonData(node);

            var transformedData = RunTransformers(fileData, transformers);

            var filePath = fileNamer.GetFilePartialPath(url);

            var generatedFileLocation = await Store(staticSiteId, filePath, transformedData);

            return(generatedFileLocation);
        }
Example #31
0
        public static IFileNameGenerator Create(FileTypeEnum type)
        {
            IFileNameGenerator generator = null;

            switch (type)
            {
            case FileTypeEnum.Log:
                generator = new LogFileNameGenerator();
                break;

            case FileTypeEnum.Debug:
                generator = new DebugFileNameGanerator();
                break;

            case FileTypeEnum.Error:
                generator = new ErrorFileNameGenerator();
                break;
            }
            return(generator);
        }
Example #32
0
        public override async Task <IScriptCommand> ExecuteAsync(ParameterDic pm)
        {
            string path = pm.ReplaceVariableInsideBracketed(PathKey);

            if (path == null)
            {
                return(ResultCommand.Error(new ArgumentException("Path not specified.")));
            }

            IDiskProfile profile = pm.GetValue <IDiskProfile>(ProfileKey);

            if (profile == null)
            {
                return(ResultCommand.Error(new ArgumentException(ProfileKey + " is not assigned or not IDiskProfile.")));
            }

            string             parentPath     = profile.Path.GetDirectoryName(path);
            IFileNameGenerator fNameGenerator = FileNameGenerator.FromNameGenerationMode(NameGenerationMode,
                                                                                         profile.Path.GetFileName(path));

            string fileName = fNameGenerator.Generate();

            while (fileName != null &&
                   await profile.ParseAsync(profile.Path.Combine(parentPath, fileName)) != null)
            {
                fileName = fNameGenerator.Generate();
            }

            if (fileName == null)
            {
                return(ResultCommand.Error(new ArgumentException("Already exists.")));
            }

            string newEntryPath  = profile.Path.Combine(parentPath, fileName);
            var    createddModel = await profile.DiskIO.CreateAsync(newEntryPath, IsFolder, pm.CancellationToken);

            logger.Info(String.Format("{0} = {1} ({2})", DestinationKey, createddModel.FullPath, IsFolder ? "Folder" : "File"));
            pm.SetValue(DestinationKey, createddModel);

            return(CoreScriptCommands.NotifyEntryChanged(ChangeType.Created, null, DestinationKey, NextCommand));
        }
Example #33
0
 public MetaWeblogService(
     IBlogConfig blogConfig,
     ITZoneResolver tZoneResolver,
     ILogger <MetaWeblogService> logger,
     ITagService tagService,
     ICategoryService categoryService,
     IPostService postService,
     IPageService pageService,
     IBlogImageStorage blogImageStorage,
     IFileNameGenerator fileNameGenerator)
 {
     _blogConfig        = blogConfig;
     _tZoneResolver     = tZoneResolver;
     _logger            = logger;
     _tagService        = tagService;
     _categoryService   = categoryService;
     _postService       = postService;
     _pageService       = pageService;
     _blogImageStorage  = blogImageStorage;
     _fileNameGenerator = fileNameGenerator;
 }
Example #34
0
 public MetaWeblogService(
     IOptions <AuthenticationSettings> authOptions,
     IBlogConfig blogConfig,
     IDateTimeResolver dateTimeResolver,
     ILogger <MetaWeblogService> logger,
     ITagService tagService,
     ICategoryService categoryService,
     IPostService postService,
     IPageService pageService,
     IBlogImageStorage blogImageStorage,
     IFileNameGenerator fileNameGenerator)
 {
     _authenticationSettings = authOptions.Value;
     _blogConfig             = blogConfig;
     _dateTimeResolver       = dateTimeResolver;
     _logger            = logger;
     _tagService        = tagService;
     _categoryService   = categoryService;
     _postService       = postService;
     _pageService       = pageService;
     _blogImageStorage  = blogImageStorage;
     _fileNameGenerator = fileNameGenerator;
 }
 public MongoDbMessageDataRepository(IMessageDataResolver resolver, IGridFSBucket bucket, IFileNameGenerator fileNameGenerator)
 {
     _resolver = resolver;
     _bucket = bucket;
     _fileNameGenerator = fileNameGenerator;
 }
 public void Init()
 {
     _generator = new FileNameGenerator();
 }
 public MockHtmlOutputUrlProcessor(
     IRunnerContext context,
     IValidatorWrapper validator,
     IValidatorReportWriterFactory reportWriterFactory,
     IFileNameGenerator fileNameGenerator,
     ResourceCopier resourceCopier,
     IStreamFactory streamFactory,
     IHtmlIndexFileWriter htmlIndexFileWriter)
 {
     this.mContext = context;
     this.mValidator = validator;
     this.mReportWriterFactory = reportWriterFactory;
     this.mFileNameGenerator = fileNameGenerator;
     this.mResourceCopier = resourceCopier;
     this.mStreamFactory = streamFactory;
     this.mHtmlIndexFileWriter = htmlIndexFileWriter;
 }