Beispiel #1
0
        public IAutoDetection GetAutoDetection(int configurationId)
        {
            cacheLock.EnterUpgradeableReadLock();
            try
            {
                if (!AutoDetectionPool.ContainsKey(configurationId))
                {
                    CreateAutoDetector(configurationId);
                }

                return(AutoDetectionPool[configurationId]);
            }
            finally
            {
                cacheLock.ExitUpgradeableReadLock();
            }
        }
Beispiel #2
0
        public int CreateAutoDetector(int configurationId)
        {
            var configuration    = GetConfiguration(configurationId);
            var ptfConfigStorage = configuration.StorageRoot.GetNode(ConfigurationConsts.PtfConfig);

            var testSuite = configuration.TestSuite;

            cacheLock.EnterWriteLock();
            try
            {
                var autoDetector = AutoDetection.Create(configuration);
                AutoDetectionPool.AddOrUpdate(configurationId, _ => autoDetector, (_, _) => autoDetector);
            }
            finally
            {
                cacheLock.ExitWriteLock();
            }

            return(configurationId);
        }