Ejemplo n.º 1
0
        public static PartitionData <T> CreatePartition <T>(int?recordHint = null, EFileAccess access = EFileAccess.Read, EFileFlags fileFlags = EFileFlags.None)
        {
            var mmFactory = new CompositeFileFactory(fileFlags);

            using (var dbXml = typeof(Quote).Assembly.GetManifestResourceStream(
                       "Apaf.NFSdb.TestShared.Resources.nfsdb.xml"))
            {
                var dbElement = ConfigurationSerializer.ReadConfiguration(dbXml);
                var jconf     = dbElement.Journals.Single(j => j.Class.EndsWith("." + typeof(T).Name));
                if (recordHint.HasValue)
                {
                    jconf.RecordHint = recordHint.Value;
                }
                var journalPath = Path.Combine(FindJournalsPath(), jconf.DefaultPath);
                jconf.DefaultPath = journalPath;

                var metadata       = JournalBuilder.CreateNewJournalMetadata(jconf);
                var startDate      = new DateTime(2013, 10, 1);
                var journalStorage = new ColumnStorage(metadata, jconf.DefaultPath,
                                                       access, 0, mmFactory);

                var part = new Partition(
                    metadata, new CompositeFileFactory(fileFlags),
                    access, new PartitionDate(startDate, 0, metadata.Settings.PartitionType), 0,
                    Path.Combine(jconf.DefaultPath, "2013-10"), new AsyncJournalServer(TimeSpan.FromSeconds(1)));

                return(new PartitionData <T>(part, metadata, journalStorage, journalPath));
            }
        }
        private DbElement Parse(string config)
        {
            using (var stream = new MemoryStream())
            {
                using (var writer = new StreamWriter(stream))
                {
                    writer.Write(config);
                    writer.Flush();
                    stream.Position = 0;

                    return(ConfigurationSerializer.ReadConfiguration(stream));
                }
            }
        }
Ejemplo n.º 3
0
 public static JournalElement ReadConfig <T>()
 {
     using (Stream dbXml = typeof(Quote).Assembly.GetManifestResourceStream(
                "Apaf.NFSdb.TestShared.Resources.nfsdb.xml"))
     {
         var dbElement = ConfigurationSerializer.ReadConfiguration(dbXml);
         var jconf     = dbElement.Journals.FirstOrDefault(j => j.Class.EndsWith("." + typeof(T).Name));
         if (jconf != null)
         {
             jconf.DefaultPath = Path.Combine(FindJournalsPath(), jconf.DefaultPath);
         }
         return(jconf);
     }
 }
Ejemplo n.º 4
0
        public static void ClearJournal <T>(string folderPath = null)
        {
            using (Stream dbXml = typeof(Quote).Assembly.GetManifestResourceStream(
                       "Apaf.NFSdb.TestShared.Resources.nfsdb.xml"))
            {
                if (folderPath == null)
                {
                    var dbElement = ConfigurationSerializer.ReadConfiguration(dbXml);
                    var jconf     = dbElement.Journals.Single(j => j.Class.EndsWith("." + typeof(T).Name));
                    folderPath = jconf.DefaultPath;
                }

                var path = Path.Combine(FindJournalsPath(), folderPath);
                ClearDir(path);
            }
        }