Exemple #1
0
        private OperationResult UpdateSourceDirectoryViewModels(ICollection <SourceDirectory> updateSource)
        {
            bool save = false;

            lock (SourceDirectories)
            {
                foreach (var foundDirectory in updateSource)
                {
                    SourceDirectoryVM vm = SourceDirectories.FirstOrDefault(e => PathHelper.PointsToSameDirectory(e.SrcPath, foundDirectory.SrcPath));
                    if (vm == null)
                    {
                        vm = new SourceDirectoryVM(this, foundDirectory);
                        SourceDirectories.Add(vm);
                        save = true;
                        continue;
                    }

                    if (vm.MergeConfigurationViewModels(foundDirectory.Configurations) == OperationResult.Success)
                    {
                        save = true;
                    }
                }

                if (save)
                {
                    EnvironmentIsDirty();
                }
            }

            return(save ? OperationResult.Success : OperationResult.Finished);
        }
        public override bool Execute()
        {
            Log.LogDebugMessage("JavaDoc Task");
            Log.LogDebugTaskItems("  SourceDirectories: ", SourceDirectories);
            Log.LogDebugTaskItems("  DestinationDirectories: ", DestinationDirectories);
            Log.LogDebugMessage("  JavaPlatformJar: {0}", JavaPlatformJar);
            Log.LogDebugTaskItems("  ReferenceJars: ", ReferenceJars);
            Log.LogDebugTaskItems("  ExtraArgs: ", ExtraArgs);

            foreach (var dir in DestinationDirectories)
            {
                if (!Directory.Exists(dir))
                {
                    Directory.CreateDirectory(dir);
                }
            }

            // Basically, javadoc will return non-zero return code with those expected errors. We have to ignore them.
            foreach (var pair in SourceDirectories.Zip(DestinationDirectories, (src, dst) => new { Source = src, Destination = dst }))
            {
                context_src = pair.Source;
                context_dst = pair.Destination;
                base.Execute();
            }
            return(true);
        }
Exemple #3
0
 public ConfigurationItem GenerateInitialDirectoryLists()
 {
     SourceDirectories.Add(new DirectoryItem {
         Path = string.Empty
     });
     DestinationDirectories.Add(new DirectoryItem {
         Path = string.Empty
     });
     return(this);
 }
Exemple #4
0
        private void RemoveFromSourceList(object parameter)
        {
            if (parameter == null)
            {
                return;
            }

            var directory = parameter as SourceDirectory;

            SourceDirectories.Remove(directory);
        }
Exemple #5
0
        private void AcceptFolderToSources(string folder)
        {
            if (folder.ValidateDirectory())
            {
                SourceDirectory sourceDir    = new SourceDirectory(folder);
                var             sourceExists = SourceDirectories.Where(item => item.DirectoryName == sourceDir.DirectoryName).FirstOrDefault();

                if (sourceExists == null)
                {
                    SourceDirectories.Add(sourceDir);                        //ensure duplicate entries are not allowed
                }
            }
        }
Exemple #6
0
 public MainVM()
 {
     SourceDirectories.Add(new SourceDirectoryVM()
     {
         AliasEditable = "Hello", Stream = "**stream**"
     });
     SourceDirectories.Add(new SourceDirectoryVM()
     {
         AliasEditable = "Foo", Stream = "bar"
     });
     SourceDirectories.Add(new SourceDirectoryVM()
     {
         AliasEditable = "Batman", Stream = "Superman"
     });
 }
Exemple #7
0
        public void SaveEnvironmentsIfDirty()
        {
            if (!_environmentIsDirty)
            {
                return;
            }

            _environmentIsDirty = false;

            lock (SourceDirectories)
            {
                //rebuild the model tree
                AppDataManager.SaveEnvironments(SourceDirectories.Select(vm => vm.RegenerateModel()).ToList());
            }
        }
        public async void RefreshAllBooks()
        {
            var b = await _bookDomain.GetAllAsync();

            AllBooks = b != null ? new ObservableCollection <Book>(b) : new ObservableCollection <Book>();
            Books    = CollectionViewSource.GetDefaultView(AllBooks);
            Books.CollectionChanged += Books_CollectionChanged;

            SourceDirectories.Clear();
            SourceDirectories =
                new ObservableCollection <SourceDirectory>(_sourceDomain.GetAllSourceDirectories().ToList());
            SourceDirectories.Insert(0,
                                     new SourceDirectory {
                SourceDirectoryUrl = "All Sources", NickName = "All Sources"
            });
            SourceDirectoryFilter = SourceDirectories[0];
        }
Exemple #9
0
        public override bool RunTask()
        {
            foreach (var dir in DestinationDirectories)
            {
                if (!Directory.Exists(dir))
                {
                    Directory.CreateDirectory(dir);
                }
            }

            // Basically, javadoc will return non-zero return code with those expected errors. We have to ignore them.
            foreach (var pair in SourceDirectories.Zip(DestinationDirectories, (src, dst) => new { Source = src, Destination = dst }))
            {
                context_src = pair.Source;
                context_dst = pair.Destination;
                base.RunTask();
            }
            return(true);
        }
Exemple #10
0
        public MainVM(SettingsVM settings, ICollection <SourceDirectory> sourceDirectories)
        {
            Guard.NotNull(settings);
            _ts        = TaskScheduler.FromCurrentSynchronizationContext();
            HistoryVM  = new HistoryVM(this);
            OutputVM   = new OutputVM(this);
            SettingsVM = settings;
            WireupCommands();

            if (sourceDirectories != null)
            {
                foreach (var src in sourceDirectories)
                {
                    SourceDirectories.Add(new SourceDirectoryVM(this, src));
                }
            }

            System.Windows.Data.BindingOperations.EnableCollectionSynchronization(SourceDirectories, SourceDirectories);
            ThemeHelper.ApplyTheme(SettingsVM.Theme);
        }
Exemple #11
0
        private void AddSourceDirectory(object obj)
        {
            Window mainWindow = Application.Current.MainWindow;

            if (mainWindow == null)
            {
                return;
            }

            SourceDirectoryPropertiesDialog dialog = new SourceDirectoryPropertiesDialog();

            dialog.DataContext = new SourceDirectoryVM(this);
            dialog.Owner       = mainWindow;
            if (dialog.ShowDialog() == true)
            {
                SourceDirectoryVM result = (SourceDirectoryVM)dialog.DataContext;

                SourceDirectories.Insert(0, result);
                result.IsSelected = true;
                EnvironmentIsDirty();
            }
        }
Exemple #12
0
        public override bool Execute()
        {
            Log.LogDebugMessage("JavaDoc Task");
            Log.LogDebugTaskItems("  SourceDirectories: ", SourceDirectories);
            Log.LogDebugTaskItems("  DestinationDirectories: ", DestinationDirectories);

            foreach (var dir in DestinationDirectories)
            {
                if (!Directory.Exists(dir))
                {
                    Directory.CreateDirectory(dir);
                }
            }

            bool retval = true;

            foreach (var pair in SourceDirectories.Zip(DestinationDirectories, (src, dst) => new { Source = src, Destination = dst }))
            {
                context_src = pair.Source;
                context_dst = pair.Destination;
                retval     &= base.Execute();
            }
            return(retval);
        }
Exemple #13
0
        /// <summary>
        /// When overridden in a derived class, executes the task.
        /// </summary>
        /// <returns>
        /// true if the task successfully executed; otherwise, false.
        /// </returns>
        public override bool Execute()
        {
            var    reportFilePatterns = Array.Empty <string>();
            var    targetDirectory    = TargetDirectory;
            var    sourceDirectories  = Array.Empty <string>();
            string historyDirectory   = HistoryDirectory;
            var    reportTypes        = Array.Empty <string>();
            var    plugins            = Array.Empty <string>();
            var    assemblyFilters    = Array.Empty <string>();
            var    classFilters       = Array.Empty <string>();
            var    fileFilters        = Array.Empty <string>();
            string verbosityLevel     = VerbosityLevel;
            string tag = Tag;

            var    config = Config.Build(ProjectDirectory).GetSection(SectionName);
            string value  = null;

            if (ReportFiles.Length > 0)
            {
                reportFilePatterns = ReportFiles.Select(r => r.ItemSpec).ToArray();
            }
            else if (config.TryGetString("reports", out value))
            {
                reportFilePatterns = value.Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
            }
            else
            {
                reportFilePatterns = config
                                     .GetAll("report")
                                     .Select(x => x.RawValue)
                                     .Where(x => !string.IsNullOrEmpty(x))
                                     .ToArray();
            }

            if (reportFilePatterns.Length == 0)
            {
                Log.LogError($"{nameof(ReportFiles)} is required.");
                return(false);
            }

            if (string.IsNullOrEmpty(targetDirectory) &&
                config.TryGetString("targetdir", out value))
            {
                targetDirectory = value;
            }

            if (string.IsNullOrEmpty(targetDirectory))
            {
                Log.LogError($"{nameof(TargetDirectory)} is required.");
                return(false);
            }

            if (SourceDirectories.Length > 0)
            {
                sourceDirectories = SourceDirectories.Select(r => r.ItemSpec).ToArray();
            }
            else if (config.TryGetString("sourcedirs", out value))
            {
                sourceDirectories = value.Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
            }
            else
            {
                sourceDirectories = config
                                    .GetAll("sourcedir")
                                    .Select(x => x.RawValue)
                                    .Where(x => !string.IsNullOrEmpty(x))
                                    .ToArray();
            }

            if (string.IsNullOrEmpty(HistoryDirectory) &&
                config.TryGetString("historydir", out value))
            {
                historyDirectory = value;
            }

            if (ReportTypes.Length > 0)
            {
                reportTypes = ReportTypes.Select(r => r.ItemSpec).ToArray();
            }
            else if (config.TryGetString("reporttypes", out value))
            {
                reportTypes = value.Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
            }
            else
            {
                reportTypes = config
                              .GetAll("reporttype")
                              .Select(x => x.RawValue)
                              .Where(x => !string.IsNullOrEmpty(x))
                              .ToArray();
            }

            if (Plugins.Length > 0)
            {
                plugins = Plugins.Select(r => r.ItemSpec).ToArray();
            }
            else if (config.TryGetString("plugins", out value))
            {
                plugins = value.Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
            }
            else
            {
                plugins = config
                          .GetAll("plugin")
                          .Select(x => x.RawValue)
                          .Where(x => !string.IsNullOrEmpty(x))
                          .ToArray();
            }

            if (AssemblyFilters.Length > 0)
            {
                assemblyFilters = AssemblyFilters.Select(r => r.ItemSpec).ToArray();
            }
            else if (Filters.Length > 0)
            {
                assemblyFilters = Filters.Select(r => r.ItemSpec).ToArray();
            }
            else if (config.TryGetString("assemblyfilters", out value))
            {
                assemblyFilters = value.Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
            }
            else
            {
                assemblyFilters = config
                                  .GetAll("assemblyfilter")
                                  .Select(x => x.RawValue)
                                  .Where(x => !string.IsNullOrEmpty(x))
                                  .ToArray();
            }

            if (ClassFilters.Length > 0)
            {
                classFilters = ClassFilters.Select(r => r.ItemSpec).ToArray();
            }
            else if (config.TryGetString("classfilters", out value))
            {
                classFilters = value.Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
            }
            else
            {
                classFilters = config
                               .GetAll("classfilter")
                               .Select(x => x.RawValue)
                               .Where(x => !string.IsNullOrEmpty(x))
                               .ToArray();
            }

            if (FileFilters.Length > 0)
            {
                fileFilters = FileFilters.Select(r => r.ItemSpec).ToArray();
            }
            else if (config.TryGetString("filefilters", out value))
            {
                fileFilters = value.Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
            }
            else
            {
                fileFilters = config
                              .GetAll("filefilter")
                              .Select(x => x.RawValue)
                              .Where(x => !string.IsNullOrEmpty(x))
                              .ToArray();
            }

            if (string.IsNullOrEmpty(verbosityLevel) &&
                config.TryGetString("verbosity", out value))
            {
                verbosityLevel = value;
            }

            if (string.IsNullOrEmpty(tag) &&
                config.TryGetString("tag", out value))
            {
                tag = value;
            }

            var configuration = new ReportConfiguration(
                reportFilePatterns,
                targetDirectory,
                sourceDirectories,
                historyDirectory,
                reportTypes,
                plugins,
                assemblyFilters,
                classFilters,
                fileFilters,
                verbosityLevel,
                tag);

            return(new Generator().GenerateReport(configuration));
        }
        public List <HitFile> GetFoundFiles()
        {
            var foundFiles = SourceDirectories.SelectMany(dir => dir.FoundFileList).ToList();

            return(foundFiles);
        }