public void SetUp()
        {
            linkConnection = connectionFactory.Create(connectionString);
            linkConnection.Open();
            linkRepository = new SQLiteLinkRepository(logger, linkConnection);
            linkRepository.Initialize();

            tagConnection = connectionFactory.Create(connectionString);
            tagConnection.Open();
            tagRepository = new SQLiteTagRepository(logger, tagTypeFactory, tagConnection);
            tagRepository.Initialize();

            mediaConnection = connectionFactory.Create(connectionString);
            mediaConnection.Open();
            mediaRepository = new SQLiteMediaRepository(logger, mediaFactory, mediaConnection);
            mediaRepository.Initialize();

            itemConnection = connectionFactory.Create(connectionString);
            itemConnection.Open();
            mediaItemRepository = new SQLiteMetadataRepository(logger, securityContext, mediaFactory, itemConnection);
            mediaItemRepository.Initialize();

            audioStreamFactory = new AudioStreamFactory();

            spider = new CatalogSpider(logger, securityContext, mediaFactory, linkRepository, tagRepository, mediaRepository, mediaItemRepository, audioStreamFactory);
        }
 public CatalogController(ILogger logger, ISecurityContext securityContext, IMediaFactory mediaFactory, IMediaRepository mediaRepository, ILinkRepository linkRepository, ITagRepository tagRepository, IMetadataRepository mediaItemRepository, IAudioStreamFactory audioStreamFactory)
 {
     this.logger = logger;
     spider = new CatalogSpider(logger, securityContext, mediaFactory, linkRepository, tagRepository, mediaRepository, mediaItemRepository, audioStreamFactory);
 }