Beispiel #1
0
        /// <summary>
        /// Gets all registered specified classes in core folder and addins (optional) folders
        /// </summary>
        /// <param name="includeAddinFolder">include add-ins folder or not</param>
        /// <returns>List of registered classes</returns>
        private static IList <T> GetClasses <T>(bool includeAddinFolder)
        {
            IList <T> registeredAligners = new List <T>();

            if (includeAddinFolder)
            {
                IList <T> addInAligners;
                if (null != RegisteredAddIn.AddinFolderPath)
                {
                    addInAligners =
                        RegisteredAddIn.GetInstancesFromAssemblyPath <T>(RegisteredAddIn.AddinFolderPath,
                                                                         RegisteredAddIn.DLLFilter);
                    if (null != addInAligners && addInAligners.Count > 0)
                    {
                        foreach (T aligner in addInAligners)
                        {
                            if (aligner != null)
                            {
                                registeredAligners.Add(aligner);
                            }
                        }
                    }
                }
            }

            return(registeredAligners);
        }
Beispiel #2
0
        /// <summary>
        /// Gets all registered sequence alignment formatters in core folder and addins (optional) folders
        /// </summary>
        /// <param name="includeAddinFolder">include add-ins folder or not</param>
        /// <returns>List of registered formatters</returns>
        private static IList <ISequenceAlignmentFormatter> GetAlignmentFormatters(bool includeAddinFolder)
        {
            IList <ISequenceAlignmentFormatter> registeredFormatters = new List <ISequenceAlignmentFormatter>();

            if (includeAddinFolder)
            {
                IList <ISequenceAlignmentFormatter> addInFormatters;
                if (null != RegisteredAddIn.AddinFolderPath)
                {
                    addInFormatters = RegisteredAddIn.GetInstancesFromAssemblyPath <ISequenceAlignmentFormatter>(RegisteredAddIn.AddinFolderPath, RegisteredAddIn.DLLFilter);
                    if (null != addInFormatters && addInFormatters.Count > 0)
                    {
                        foreach (ISequenceAlignmentFormatter formatter in addInFormatters)
                        {
                            if (formatter != null && registeredFormatters.FirstOrDefault(IA => string.Compare(
                                                                                             IA.Name, formatter.Name, StringComparison.OrdinalIgnoreCase) == 0) == null)
                            {
                                registeredFormatters.Add(formatter);
                            }
                        }
                    }
                }
            }

            return(registeredFormatters);
        }
Beispiel #3
0
        public void RegisterAddinsGetInstancesFilter()
        {
            CreateAddinsFolder();
            IList <ISequenceAligner> finalValue = new List <ISequenceAligner>();

            finalValue.Add(new TestAutomationSequenceAligner());
            finalValue.Add(new TestAutomationPairwiseSequenceAligner());

            // Gets the registered Instances for the path passed and the filter
            IList <ISequenceAligner> registeredAligners =
                RegisteredAddIn.GetInstancesFromAssemblyPath <ISequenceAligner>(
                    RegisteredAddIn.AddinFolderPath, "*.dll");

            RegisterAlignGeneralTestCases(registeredAligners, finalValue);
            DeleteAddinsFolder();
        }