Beispiel #1
0
        public void Test_CommentStoreXmlDoc_WithCrefAndTwoPara()
        {
            var store = new CommentStore();

            XmlDocument doc = new XmlDocument();

            doc.LoadXml(
                @" <member name=""T:ResearchDataManagementPlatform.WindowManagement.WindowFactory"">
                <summary>
                Does some stuff 
                And some more stuff
            IObjectCollectionControl (for <see cref=""T:Rdmp.UI.Collections.RDMPCollectionUI""/> see <see cref=""T:ResearchDataManagementPlatform.WindowManagement.WindowManager""/>).

<para> paragraph 2
got it?
</para>
                </summary>
                <exception cref=""T:System.ArgumentOutOfRangeException"">This text shouldn't appear</exception>
                </member>");

            store.AddXmlDoc(doc.FirstChild);

            Assert.AreEqual(
                @"Does some stuff And some more stuff IObjectCollectionControl (for RDMPCollectionUI see WindowManager ).

paragraph 2 got it?"
                , store["WindowFactory"]);
        }
Beispiel #2
0
        public void Test_CommentStoreXmlDoc_TwoPara()
        {
            var store = new CommentStore();

            XmlDocument doc = new XmlDocument();

            doc.LoadXml(
                @" <member name=""T:ResearchDataManagementPlatform.WindowManagement.WindowFactory"">
                <summary>
                Does some stuff 
                This is still one para
                <para>
                this is next para
                </para>
                </summary>
                </member>");

            store.AddXmlDoc(doc.FirstChild);

            Assert.AreEqual(
                @"Does some stuff This is still one para

this is next para"
                , store["WindowFactory"]);
        }
Beispiel #3
0
        private void PopulateBasicCommandInfo(StringBuilder sb)
        {
            var help = new CommentStore();

            help.ReadComments(Environment.CurrentDirectory);

            // Basic info about command
            sb.AppendLine("Name: " + _commandType.Name);

            var helpText = help.GetTypeDocumentationIfExists(_commandType);

            if (helpText != null)
            {
                sb.AppendLine();
                sb.AppendLine("Description: " + helpText);
            }

            sb.AppendLine();
            sb.AppendLine("USAGE: ");

            sb.Append(EnvironmentInfo.IsLinux ? "./rdmp" : "./rdmp.exe");
            sb.Append(" cmd ");

            sb.Append(BasicCommandExecution.GetCommandName(_commandType.Name));
            sb.Append(" ");
        }
Beispiel #4
0
        public TestActivateItems(UITests uiTests, MemoryDataExportRepository repo) : base(new RepositoryProvider(repo), new ToMemoryCheckNotifier())
        {
            _uiTests   = uiTests;
            Results    = new TestActivateItemsResults();
            RefreshBus = new RefreshBus();

            //don't load the comment store for every single test
            if (_commentStore == null)
            {
                _commentStore = new CommentStore();
                _commentStore.ReadComments(TestContext.CurrentContext.TestDirectory);
            }

            CommentStore = _commentStore;

            CoreChildProvider  = new DataExportChildProvider(RepositoryLocator, null, Results);
            CoreIconProvider   = new DataExportIconProvider(RepositoryLocator, null);
            FavouritesProvider = new FavouritesProvider(this, repo.CatalogueRepository);

            _problemProviders = new List <IProblemProvider>(new IProblemProvider[]
            {
                new CatalogueProblemProvider(),
                new DataExportProblemProvider()
            });

            PluginUserInterfaces = new List <IPluginUserInterface>();
        }
        public void RefreshRepositoriesFromUserSettings()
        {
            //we have mef?
            MEF          mef          = null;
            CommentStore commentStore = null;

            //if we have a catalogue repository with loaded MEF then grab it
            if (_linkedRepositoryProvider != null && _linkedRepositoryProvider.CatalogueRepository != null)
            {
                if (_linkedRepositoryProvider.CatalogueRepository.MEF != null)
                {
                    mef = _linkedRepositoryProvider.CatalogueRepository.MEF;
                }

                if (_linkedRepositoryProvider.CatalogueRepository.CommentStore != null)
                {
                    commentStore = _linkedRepositoryProvider.CatalogueRepository.CommentStore;
                }
            }

            //user must have a Catalogue
            string catalogueString = UserSettings.CatalogueConnectionString;

            //user may have a DataExportManager
            string dataExportManagerConnectionString = UserSettings.DataExportConnectionString;

            LinkedRepositoryProvider newrepo;

            try
            {
                newrepo = new LinkedRepositoryProvider(catalogueString, dataExportManagerConnectionString);
            }
            catch (Exception ex)
            {
                throw new CorruptRepositoryConnectionDetailsException($"Unable to create {nameof(LinkedRepositoryProvider)}", ex);
            }

            //preserve the currently loaded MEF assemblies

            //if we have a new repo
            if (newrepo.CatalogueRepository != null)
            {
                //and the new repo doesn't have MEF loaded
                if (newrepo.CatalogueRepository.MEF != null && !newrepo.CatalogueRepository.MEF.HaveDownloadedAllAssemblies && mef != null && mef.HaveDownloadedAllAssemblies)
                {
                    //use the old MEF
                    newrepo.CatalogueRepository.MEF = mef;
                }

                newrepo.CatalogueRepository.CommentStore = commentStore ?? newrepo.CatalogueRepository.CommentStore;
            }


            _linkedRepositoryProvider = newrepo;
        }
Beispiel #6
0
        public void GenerateReport(CommentStore commentStore, ICheckNotifier notifier, IIconProvider iconProvider, MEF mef, bool showFile)
        {
            _mef          = mef;
            _commentStore = commentStore;
            try
            {
                Check(notifier);

                using (var document = GetNewDocFile("RDMPDocumentation"))
                {
                    var t = InsertTable(document, (Summaries.Count * 2) + 1, 1);

                    //Listing Cell header
                    SetTableCell(t, 0, 0, "Tables");

                    Type[] keys = Summaries.Keys.ToArray();

                    for (int i = 0; i < Summaries.Count; i++)
                    {
                        //creates the run
                        SetTableCell(t, (i * 2) + 1, 0, "");

                        var bmp = iconProvider.GetImage(keys[i]);

                        if (bmp != null)
                        {
                            var para = t.Rows[(i * 2) + 1].GetCell(0).Paragraphs.First();
                            var run  = para.Runs.FirstOrDefault() ?? para.CreateRun();
                            GetPicture(run, bmp);
                        }
                        SetTableCell(t, (i * 2) + 1, 0, " " + keys[i].Name);

                        SetTableCell(t, (i * 2) + 2, 0, Summaries[keys[i]]);
                    }

                    if (showFile)
                    {
                        ShowFile(document);
                    }
                }
            }
            catch (Exception e)
            {
                notifier.OnCheckPerformed(new CheckEventArgs("Report generation failed", CheckResult.Fail, e));
            }
        }
Beispiel #7
0
        public void Test_CommentStoreXmlDoc_Basic()
        {
            var store = new CommentStore();

            XmlDocument doc = new XmlDocument();

            doc.LoadXml(
                @" <member name=""T:ResearchDataManagementPlatform.WindowManagement.WindowFactory"">
                <summary>
                Does some stuff 
                </summary>
                </member>");

            store.AddXmlDoc(doc.FirstChild);

            Assert.AreEqual(
                @"Does some stuff"
                , store["WindowFactory"]);
        }
        public void Test_DocumentationReportDatabaseEntities_Normal()
        {
            var store = new CommentStore();

            store.ReadComments(TestContext.CurrentContext.TestDirectory);

            SetupMEF();

            var reporter = new DocumentationReportDatabaseEntities();

            Bitmap bmp = new Bitmap(19, 19);

            using (var g = Graphics.FromImage(bmp))
                g.DrawRectangle(new Pen(Color.DarkMagenta), 5, 5, 5, 5);

            var iconProvider = Mock.Of <IIconProvider>(m => m.GetImage(It.IsAny <object>(), It.IsAny <OverlayKind>()) == bmp);

            reporter.GenerateReport(store, new ThrowImmediatelyCheckNotifier(), iconProvider, MEF, false);
        }
Beispiel #9
0
        public void Test_CommentStoreXmlDoc_EmptyElements()
        {
            var store = new CommentStore();

            XmlDocument doc = new XmlDocument();

            doc.LoadXml(
                @" <member name=""T:ResearchDataManagementPlatform.WindowManagement.WindowFactory"">
                <summary></summary>
                </member>");

            //shouldn't bomb
            store.AddXmlDoc(null);
            //also shouldn't bomb but should be 0
            store.AddXmlDoc(doc.FirstChild.FirstChild);

            Assert.IsEmpty(store);

            store.AddXmlDoc(doc.FirstChild);
            Assert.IsEmpty(store);

            doc.LoadXml(
                @" <member name=""T:ResearchDataManagementPlatform.WindowManagement.WindowFactory"">
                <summary>  </summary>
                </member>");

            store.AddXmlDoc(doc.FirstChild);
            Assert.IsEmpty(store);


            doc.LoadXml(
                @" <member name=""T:ResearchDataManagementPlatform.WindowManagement.WindowFactory"">
                <summary> a </summary>
                </member>");

            store.AddXmlDoc(doc.FirstChild);
            Assert.IsNotEmpty(store);
        }
Beispiel #10
0
        public TestActivateItems(UITests uiTests, MemoryDataExportRepository repo) : base(new RepositoryProvider(repo), new ToMemoryCheckNotifier())
        {
            _uiTests   = uiTests;
            Results    = new TestActivateItemsResults();
            RefreshBus = new RefreshBus();

            //don't load the comment store for every single test
            if (_commentStore == null)
            {
                _commentStore = new CommentStore();
                _commentStore.ReadComments(TestContext.CurrentContext.TestDirectory);
            }

            CommentStore = _commentStore;

            HistoryProvider = new HistoryProvider(RepositoryLocator);

            _problemProviders = new List <IProblemProvider>(new IProblemProvider[]
            {
                new CatalogueProblemProvider(),
                new DataExportProblemProvider()
            });
        }
Beispiel #11
0
 public StandardPipelineUseCaseNode(string caption, PipelineUseCase useCase, CommentStore commentStore) : base(caption)
 {
     _commentStore = commentStore;
     UseCase       = useCase;
 }
Beispiel #12
0
 public HomeController(UserStore userStore, IConfiguration configuration, CommentStore commentStore)
 {
     _userStore     = userStore;
     _configuration = configuration;
     _commentStore  = commentStore;
 }
Beispiel #13
0
 public ChatHub(UserContext userContext, CommentStore commentStore, OnlineStore onlineStore)
 {
     _userContext  = userContext;
     _commentStore = commentStore;
     _onlineStore  = onlineStore;
 }
Beispiel #14
0
        public override void Execute()
        {
            base.Execute();

            var invoker = new CommandInvoker(BasicActivator);

            var commandCtor = invoker.GetConstructor(_commandType);

            var help = new CommentStore();

            help.ReadComments(Environment.CurrentDirectory);

            var sb = new StringBuilder();

            if (commandCtor == null || !invoker.IsSupported(commandCtor))
            {
                sb.AppendLine($"Command '{_commandType.Name}' is not supported by the current input type ({BasicActivator.GetType().Name})");
            }
            else
            {
                sb.AppendLine("COMMAND:" + _commandType.FullName);

                var helpText = help.GetTypeDocumentationIfExists(_commandType);

                if (helpText != null)
                {
                    sb.AppendLine(helpText);
                }

                sb.AppendLine("USAGE:");

                sb.Append(EnvironmentInfo.IsLinux ? "./rdmp" : "./rdmp.exe");
                sb.Append(" cmd ");

                sb.Append(BasicCommandExecution.GetCommandName(_commandType.Name));
                sb.Append(" ");

                var sbParameters = new StringBuilder();
                sbParameters.AppendLine("PARAMETERS:");

                foreach (ParameterInfo p in commandCtor.GetParameters())
                {
                    var req = new RequiredArgument(p);

                    //automatic delegates require no user input or CLI entry (e.g. IActivateItems)
                    if (invoker.GetDelegate(req).IsAuto)
                    {
                        continue;
                    }

                    sb.Append($"<{req.Name}> ");
                    sbParameters.AppendLine($"{req.Name}\t{req.Type.Name}\t{req.DemandIfAny?.Description}");
                }

                sb.AppendLine();
                sb.AppendLine(sbParameters.ToString());
            }


            BasicActivator.Show(sb.ToString());
        }