Exemple #1
0
        public ArtifactCopyingVisitor(VirtualFileSystem fileSystem, IUserInteractionService userInteractionService, IPathValidator pathValidator, IApplicationController applicationController, TaskCounter taskCounter)
        {
            if (fileSystem == null)
            {
                throw new ArgumentNullException("fileSystem");
            }
            if (userInteractionService == null)
            {
                throw new ArgumentNullException("userInteractionService");
            }
            if (pathValidator == null)
            {
                throw new ArgumentNullException("pathValidator");
            }
            if (applicationController == null)
            {
                throw new ArgumentNullException("applicationController");
            }
            if (taskCounter == null)
            {
                throw new ArgumentNullException("taskCounter");
            }

            _fileSystem             = fileSystem;
            _applicationController  = applicationController;
            _taskCounter            = taskCounter;
            _userInteractionService = userInteractionService;
            _pathValidator          = pathValidator;
        }
Exemple #2
0
        public FileManager(IVirtualDisk virtualDisk, FileSystemNodeStorage fileSystemNodeStorage, IEqualityComparer <string> namesComparer, NodeResolver nodeResolver, IFreeBlockManager freeBlockManager, IFolderEnumeratorRegistry folderEnumeratorRegistry, IFileSystemObjectLockingManager lockingManager, BlockReferenceListsEditor blockReferenceListsEditor, PathBuilder pathBuilder, IFileSystemArtifactNamesValidator nameValidator, IPathValidator pathValidator)
        {
            if (virtualDisk == null)
            {
                throw new ArgumentNullException("virtualDisk");
            }
            if (fileSystemNodeStorage == null)
            {
                throw new ArgumentNullException("fileSystemNodeStorage");
            }
            if (namesComparer == null)
            {
                throw new ArgumentNullException("namesComparer");
            }
            if (nodeResolver == null)
            {
                throw new ArgumentNullException("nodeResolver");
            }
            if (freeBlockManager == null)
            {
                throw new ArgumentNullException("freeBlockManager");
            }
            if (folderEnumeratorRegistry == null)
            {
                throw new ArgumentNullException("folderEnumeratorRegistry");
            }
            if (lockingManager == null)
            {
                throw new ArgumentNullException("lockingManager");
            }
            if (blockReferenceListsEditor == null)
            {
                throw new ArgumentNullException("blockReferenceListsEditor");
            }
            if (pathBuilder == null)
            {
                throw new ArgumentNullException("pathBuilder");
            }
            if (nameValidator == null)
            {
                throw new ArgumentNullException("nameValidator");
            }
            if (pathValidator == null)
            {
                throw new ArgumentNullException("pathValidator");
            }

            _virtualDisk               = virtualDisk;
            _pathValidator             = pathValidator;
            _nameValidator             = nameValidator;
            _pathBuilder               = pathBuilder;
            _blockReferenceListsEditor = blockReferenceListsEditor;
            _lockingManager            = lockingManager;
            _folderEnumeratorRegistry  = folderEnumeratorRegistry;
            _freeBlockManager          = freeBlockManager;
            _nodeResolver              = nodeResolver;
            _namesComparer             = namesComparer;
            _fileSystemNodeStorage     = fileSystemNodeStorage;
        }
 public ConsoleUserInterface(
     TagCloudCreator creator,
     IEnumerable <ITextReader> readers,
     IPathValidator validator) : base(creator, readers)
 {
     Validator = validator;
     parser    = new FluentCommandLineParser();
     SetupParser();
 }
        public VirtualFolderPathViewModel(IPathValidator pathValidator)
        {
            if (pathValidator == null)
            {
                throw new ArgumentNullException("pathValidator");
            }

            _pathValidator = pathValidator;
        }
Exemple #5
0
 public Main(string initialDirectory)
 {
     InitializeComponent();
     pathValidator = new PathValidator();
     cleaner       = new Cleaner
     {
         Context = SynchronizationContext.Current
     };
     cleaner.CleaningDone += CleaningDone;
     path.Text             = (initialDirectory ?? "");
     path.SelectionStart   = 0;
     base.ActiveControl    = ((path.Text == "") ? ((Control)path) : ((Control)start));
     Running = false;
 }
Exemple #6
0
        /// <summary>
        /// Creates a new <see cref="MainForm"/>.
        /// </summary>
        public MainForm()
        {
            InitializeComponent();

            pathValidator = new PathValidator();

            cleaner = new Cleaner
            {
                Context = SynchronizationContext.Current,
            };
            cleaner.CleaningDone += CleaningDone;

            ActiveControl = path;

            Running = false;
        }
Exemple #7
0
        private void BuildPathsTree(Piece piece, IPathValidator <Key> validator, TreeNode <Key> currentPosition, int currentDepth)
        {
            if (!validator.IsValid(currentPosition, currentDepth))
            {
                return;
            }

            var moves = piece.GetPossibleMoves();

            foreach (var move in moves)
            {
                piece.MoveTo(move);
                var destinationChildTreeNode = currentPosition.AddChild(move.Item);
                BuildPathsTree(piece, validator, destinationChildTreeNode, currentDepth + 1);
            }
        }
Exemple #8
0
 public StatsEnricher(IDiskIOWrapper ioWrapper,
                      IGitCommands gitCommands,
                      ILogger logger,
                      ICommandLineExecutor executor,
                      ICoverageProviderFactory providerFactory,
                      IPathValidator pathValidator,
                      ICoverageReportConverter converter)
 {
     _ioWrapper       = ioWrapper;
     _gitCommands     = gitCommands;
     _logger          = logger;
     _executor        = executor;
     _providerFactory = providerFactory;
     _pathValidator   = pathValidator;
     _converter       = converter;
 }
        public NodeResolver(
            IVirtualDisk virtualDisk,
            FileSystemNodeStorage fileSystemNodeStorage,
            IEqualityComparer <string> namesComparer,
            int rootBlockIndex,
            string rootFolderPath,
            char directorySeparatorChar,
            IPathValidator pathValidator,
            PathBuilder pathBuilder)
        {
            if (virtualDisk == null)
            {
                throw new ArgumentNullException("virtualDisk");
            }
            if (fileSystemNodeStorage == null)
            {
                throw new ArgumentNullException("fileSystemNodeStorage");
            }
            if (namesComparer == null)
            {
                throw new ArgumentNullException("namesComparer");
            }
            if (pathBuilder == null)
            {
                throw new ArgumentNullException("pathBuilder");
            }
            if (String.IsNullOrEmpty(rootFolderPath))
            {
                throw new ArgumentNullException("rootFolderPath");
            }
            MethodArgumentValidator.ThrowIfNegative(rootBlockIndex, "rootBlockIndex");

            if (rootBlockIndex >= virtualDisk.NumberOfBlocks)
            {
                throw new ArgumentOutOfRangeException("rootBlockIndex");
            }

            _virtualDisk            = virtualDisk;
            _pathBuilder            = pathBuilder;
            _fileSystemNodeStorage  = fileSystemNodeStorage;
            _namesComparer          = namesComparer;
            _rootBlockIndex         = rootBlockIndex;
            _rootFolderPath         = rootFolderPath;
            _directorySeparatorChar = directorySeparatorChar;
            _pathValidator          = pathValidator;
        }
        public ArtifactMovingVisitor(VirtualFileSystem fileSystem, IUserInteractionService userInteractionService, IPathValidator pathValidator)
        {
            if (fileSystem == null)
            {
                throw new ArgumentNullException("fileSystem");
            }
            if (userInteractionService == null)
            {
                throw new ArgumentNullException("userInteractionService");
            }
            if (pathValidator == null)
            {
                throw new ArgumentNullException("pathValidator");
            }

            _fileSystem             = fileSystem;
            _userInteractionService = userInteractionService;
            _pathValidator          = pathValidator;
        }
 public RepositorySnapshotBuilderArguments(string snapshotId,
                                           string rootPath,
                                           string sourceRoot,
                                           string[] sourceExtensions,
                                           string coveragePath,
                                           Option <string> atHash,
                                           Option <DateTime> commitCreationDate,
                                           IDiskIOWrapper diskIoWrapper,
                                           IPathValidator pathValidator)
 {
     SnapshotId         = snapshotId;
     RootPath           = rootPath;
     SourceRoot         = sourceRoot;
     SourceExtensions   = sourceExtensions;
     CoveragePath       = coveragePath;
     AtHash             = atHash;
     CommitCreationDate = commitCreationDate;
     DiskIoWrapper      = diskIoWrapper;
     PathValidator      = pathValidator;
 }
        public AllCollaborators(IVirtualDisk disk, IFileSystemNodeStorage diskStructuresManager, IFileSystemArtifactNamesValidator nameValidator, IPathValidator pathValidator, NodeResolver nodeResolver, VirtualFileSystem virtualFileSystem, FileInfo fileNodeFake, Stream stream)
        {
            if (disk == null)
            {
                throw new ArgumentNullException("disk");
            }
            if (diskStructuresManager == null)
            {
                throw new ArgumentNullException("diskStructuresManager");
            }
            if (nameValidator == null)
            {
                throw new ArgumentNullException("nameValidator");
            }
            if (pathValidator == null)
            {
                throw new ArgumentNullException("pathValidator");
            }
            if (nodeResolver == null)
            {
                throw new ArgumentNullException("nodeResolver");
            }
            if (virtualFileSystem == null)
            {
                throw new ArgumentNullException("virtualFileSystem");
            }
            if (stream == null)
            {
                throw new ArgumentNullException("stream");
            }

            Disk = disk;
            DiskStructuresManager = diskStructuresManager;
            NameValidator         = nameValidator;
            PathValidator         = pathValidator;
            NodeResolver          = nodeResolver;
            VirtualFileSystem     = virtualFileSystem;
            FileNodeFake          = fileNodeFake;
            Stream = stream;
        }
        internal PathBuilder(
            char directorySeparator,
            IPathValidator pathValidator,
            string rootPath,
            IEqualityComparer <string> nameComparer)
        {
            if (pathValidator == null)
            {
                throw new ArgumentNullException("pathValidator");
            }
            if (nameComparer == null)
            {
                throw new ArgumentNullException("nameComparer");
            }

            MethodArgumentValidator.ThrowIfStringIsNullOrEmpty(rootPath, "rootPath");

            _directorySeparator = directorySeparator;
            _pathValidator      = pathValidator;
            _rootPath           = rootPath;
            _nameComparer       = nameComparer;
        }
Exemple #14
0
 public Runner(IDiskIOWrapper ioWrapper,
               IPathValidator pathValidator,
               IRepositorySnapshotBuilderWrapper builder,
               IStatsEnricher statsEnricher,
               ICoverageReportConverter converter,
               ILogger log,
               ISnapshotPersistence persistence,
               IProgressBarFactory progressBarFactory,
               ICommandLineExecutor executor,
               ISpinner spinner)
 {
     _ioWrapper          = ioWrapper;
     _pathValidator      = pathValidator;
     _builder            = builder;
     _statsEnricher      = statsEnricher;
     _converter          = converter;
     _log                = log;
     _persistence        = persistence;
     _progressBarFactory = progressBarFactory;
     _executor           = executor;
     _spinner            = spinner;
 }
Exemple #15
0
        public PathFinderResult FindAllPaths(Piece piece, IPathValidator <Key> validator)
        {
            List <Path> paths = new List <Path>();

            foreach (var startPosition in _keypad.Graph.Vertices)
            {
                if (!startPosition.Item.IsCharacter)
                {
                    var tree = new Tree <Key>(startPosition.Item);
                    _uniquePaths.Add(tree.Root.Item, tree);

                    piece.MoveTo(startPosition);

                    BuildPathsTree(piece, validator, _uniquePaths[startPosition.Item].Root, 1);

                    if (validator.IsValid(tree))
                    {
                        paths.AddRange(BuildAllPathsForStartPosition(piece, startPosition.Item));
                    }
                }
            }

            return(new PathFinderResult(paths, (from t in _uniquePaths.Values where validator.IsValid(t) select t)));
        }
Exemple #16
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="disk"></param>
        /// <param name="namesComparer"></param>
        /// <param name="nodeResolver"></param>
        /// <param name="pathBuilder"></param>
        /// <param name="namesValidator"></param>
        /// <param name="pathValidator"></param>
        /// <returns></returns>
        /// <exception cref="ArgumentNullException"></exception>
        /// <exception cref="InconsistentDataDetectedException"></exception>
        internal static VirtualFileSystem CreateFromDisk(IVirtualDisk disk, IEqualityComparer <string> namesComparer, NodeResolver nodeResolver, PathBuilder pathBuilder, IFileSystemArtifactNamesValidator namesValidator, IPathValidator pathValidator)
        {
            if (disk == null)
            {
                throw new ArgumentNullException("disk");
            }
            if (namesComparer == null)
            {
                throw new ArgumentNullException("namesComparer");
            }
            if (nodeResolver == null)
            {
                throw new ArgumentNullException("nodeResolver");
            }
            if (pathBuilder == null)
            {
                throw new ArgumentNullException("pathBuilder");
            }
            if (namesValidator == null)
            {
                throw new ArgumentNullException("namesValidator");
            }
            if (pathValidator == null)
            {
                throw new ArgumentNullException("pathValidator");
            }

            VirtualFileSystemInfo fileSystemInfo;
            var fileSystemNodeStorage = new FileSystemNodeStorage(disk);

            const int headerBlockIndex = VirtualDiskFormatter.FileSystemHeaderBlockIndex;
            const int freeBlockBitmapStartingBlockIndex = VirtualDiskFormatter.FreeSpaceStartingBlockIndex;

            var header = fileSystemNodeStorage.ReadFileSystemHeader(headerBlockIndex);

            fileSystemInfo = new VirtualFileSystemInfo(header.Version, disk.BlockSizeInBytes, header.RootBlockOffset, freeBlockBitmapStartingBlockIndex);

            var freeSpaceBitmapStore = new FreeSpaceBitmapStore(disk, VirtualDiskFormatter.FreeSpaceStartingBlockIndex);

            int bitmapSize;
            var freeSpaceMap = freeSpaceBitmapStore.ReadMap(out bitmapSize);

            var freeSpaceBitArray = new BitArray(freeSpaceMap)
            {
                Length = bitmapSize
            };

            var freeBlockManagerBitArrayBased = new FreeBlockManagerBitArrayBased(freeSpaceBitArray,
                                                                                  fileSystemInfo.FirstNonReservedDiskBlockIndex,
                                                                                  bitmapSize);

            IFreeBlockManager freeBlockManager = new FreeBlockManagerDiskWriting(freeSpaceBitmapStore, freeBlockManagerBitArrayBased);

            IFolderEnumeratorRegistry folderEnumeratorRegistry = new FolderEnumeratorRegistry();

            IFileSystemObjectLockingManager lockingManager = new FileSystemObjectLockingManager();

            var blockReferenceEditor = new BlockReferenceListsEditor(disk, freeBlockManager, fileSystemNodeStorage);

            //Note: много общих коллабораторов у трех классов. Недорефакторено.

            var fileManager   = new FileManager(disk, fileSystemNodeStorage, namesComparer, nodeResolver, freeBlockManager, folderEnumeratorRegistry, lockingManager, blockReferenceEditor, pathBuilder, namesValidator, pathValidator);
            var folderManager = new FolderManager(fileSystemNodeStorage, namesComparer, nodeResolver, freeBlockManager, folderEnumeratorRegistry, lockingManager, blockReferenceEditor, pathBuilder, namesValidator, pathValidator);

            return(new VirtualFileSystem(disk, fileSystemInfo, fileSystemNodeStorage, namesComparer, nodeResolver, freeBlockManager, folderEnumeratorRegistry, blockReferenceEditor, pathBuilder, namesValidator, pathValidator, fileManager, folderManager));
        }
Exemple #17
0
 public static ChessPathsValidator PathsValidator(IPathValidator <ChessPieceEntity> pathValidator = null
                                                  )
 {
     return(new ChessPathsValidator(pathValidator ?? PathValidator(null)
                                    ));
 }
Exemple #18
0
 public FileFinder(IPathValidator pathValidator, IDirectoryWrapper directoryWrapper)
 {
     PathValidator    = pathValidator;
     DirectoryWrapper = directoryWrapper;
 }
Exemple #19
0
 public ChessPathsValidator(IPathValidator <ChessPieceEntity> pathValidator
                            )
 {
     _pathValidator = pathValidator;
 }
Exemple #20
0
 public FolderPath(string _folderPath, string _defauldFolderPath, IPathValidator _saveFolderPathValidator)
 {
     saveFolderpath          = _folderPath;
     saveFolderPathValidator = _saveFolderPathValidator;
     defauldFolderPath       = _defauldFolderPath;
 }
Exemple #21
0
        private VirtualFileSystem(
            IVirtualDisk virtualDisk,
            VirtualFileSystemInfo fileSystemInfo,
            FileSystemNodeStorage fileSystemNodeStorage,
            IEqualityComparer <string> namesComparer,
            NodeResolver nodeResolver,
            IFreeBlockManager freeBlockManager,
            IFolderEnumeratorRegistry folderEnumeratorRegistry,
            BlockReferenceListsEditor blockReferenceListsEditor,
            PathBuilder pathBuilder,
            IFileSystemArtifactNamesValidator nameValidator,
            IPathValidator pathValidator,
            FileManager fileManager,
            FolderManager folderManager)
        {
            if (fileSystemInfo == null)
            {
                throw new ArgumentNullException("fileSystemInfo");
            }
            if (fileSystemNodeStorage == null)
            {
                throw new ArgumentNullException("fileSystemNodeStorage");
            }
            if (namesComparer == null)
            {
                throw new ArgumentNullException("namesComparer");
            }
            if (nodeResolver == null)
            {
                throw new ArgumentNullException("nodeResolver");
            }
            if (freeBlockManager == null)
            {
                throw new ArgumentNullException("freeBlockManager");
            }
            if (folderEnumeratorRegistry == null)
            {
                throw new ArgumentNullException("folderEnumeratorRegistry");
            }
            if (blockReferenceListsEditor == null)
            {
                throw new ArgumentNullException("blockReferenceListsEditor");
            }
            if (pathBuilder == null)
            {
                throw new ArgumentNullException("pathBuilder");
            }
            if (nameValidator == null)
            {
                throw new ArgumentNullException("nameValidator");
            }
            if (pathValidator == null)
            {
                throw new ArgumentNullException("pathValidator");
            }
            if (folderManager == null)
            {
                throw new ArgumentNullException("folderManager");
            }

            _virtualDisk              = virtualDisk;
            _folderManager            = folderManager;
            _folderManager            = folderManager;
            _folderManager            = folderManager;
            _folderManager            = folderManager;
            _fileManager              = fileManager;
            _pathBuilder              = pathBuilder;
            _folderEnumeratorRegistry = folderEnumeratorRegistry;
            _nodeResolver             = nodeResolver;
            _freeBlockManager         = freeBlockManager;
            _fileSystemInfo           = fileSystemInfo;
            _namesComparer            = namesComparer;
        }