Beispiel #1
0
        public CompositeRepository(DaoRepository sourceRepository, DataProvider dataProvider = null)
        {
            DataDirectoryProvider      = dataProvider ?? DataProvider.Current;
            SourceRepository           = sourceRepository;
            ReadRepository             = new CachingRepository(sourceRepository);
            WriteRepositories          = new HashSet <IRepository>();
            WorkspacePath              = DataDirectoryProvider.GetWorkspaceDirectory(this.GetType()).FullName;
            BackupRepository           = ServiceRegistry.Default.Get <IRepository>();
            TypeSchemaTempPathProvider = (sd, ts) => Path.Combine(WorkspacePath, sd.Name, ts.Hash);

            WireBackup();

            sourceRepository.StorableTypes.Each(type => AddType(type));
        }
Beispiel #2
0
        /// <summary>
        /// Can't call into Octgn.Core.Prefs
        /// Can't call into Octgn.Library.Paths
        /// </summary>
        public Config()
        {
            try {
                _isConstructing = true;

                var ass = typeof(Config).Assembly;

                var assFile = new FileInfo(ass.Location);

                WorkingDirectory = assFile.Directory.FullName;

                _cacheLocker = new ReaderWriterLockSlim();
                _locker      = new ReaderWriterLockSlim();

                var dataDirectoryProvider = new DataDirectoryProvider();

                var dataDirectory = dataDirectoryProvider.Get();

                var correctedPath = ResolvePath(dataDirectory);

                Paths = new Paths(correctedPath, WorkingDirectory);

                DataDirectory = dataDirectory;

                // Expected Exception: System.InvalidOperationException
                // Additional information: The requested Performance Counter is not a custom counter, it has to be initialized as ReadOnly.
                _cache = new MemoryCache("ConfigCache");

                Log.Info("Config Path: " + ConfigPath);

                Log.Debug("Created Paths");
            } catch {
                _cacheLocker?.Dispose();
                _locker?.Dispose();
                _cache?.Dispose();

                throw;
            } finally {
                _isConstructing = false;
            }
        }
Beispiel #3
0
 public S3FileSystem(string bucketName, IDataDirectoryProvider dataDirectoryProvider, AmazonS3Client amazonS3Client) : base(dataDirectoryProvider, new S3FileService(bucketName, amazonS3Client))
 {
     BucketName = DefaultBucketName;
     Repository = new DaoRepository();
     LocalFs    = new Fs(DataDirectoryProvider.GetFilesDirectory());
 }