private void AssertExtentSize(int expectedCount, Type extent, IEmbeddedObjectContainer db) { IQuery query = db.Query(); query.Constrain(db.Ext().Reflector().ForName(extent.FullName)); IObjectSet result = query.Execute(); Assert.AreEqual(expectedCount, result.Count); }
internal void Verify(IEmbeddedConfiguration config, IEmbeddedObjectContainer container ) { Assert.AreSame(config, _config); Assert.AreSame(container, _container); Assert.AreEqual(1, _prepareCount); Assert.AreEqual(1, _applyCount); }
public Db4oModel(String fileName) { if (fileName == null) { throw new ArgumentNullException ("fileName"); } file = fileName; db = Container(); }
public LicensePlateDataProvider(string outputDirectory) { if (string.IsNullOrEmpty(outputDirectory)) throw new ArgumentNullException("outputDirectory"); if (!System.IO.Directory.Exists(outputDirectory)) throw new System.IO.DirectoryNotFoundException("output directory of licenseplate not found"); _outputDirectory = outputDirectory; var dbFilePath = System.IO.Path.Combine(_outputDirectory, "LicensePlates.db4o"); _db4oContainer = Db4oEmbedded.OpenFile(dbFilePath); }
public virtual void ApplyConfigurationItems(IEmbeddedObjectContainer container) { if (_configItems == null) { return; } for (IEnumerator configItemIter = _configItems.GetEnumerator(); configItemIter.MoveNext (); ) { IEmbeddedConfigurationItem configItem = ((IEmbeddedConfigurationItem)configItemIter .Current); configItem.Apply(container); } }
public override void Init(int flowCount, long flowRecordCount) { sessions = new IObjectContainer[flowCount]; fileName = Path.Combine(DataDirectory, CollectionName + ".db4objects"); IEmbeddedConfiguration config = Db4oEmbedded.NewConfiguration(); config.Common.ObjectClass(typeof(long)).ObjectField("Key").Indexed(true); database = Db4oEmbedded.OpenFile(config, fileName); for (int i = 0; i < flowCount; i++) { IObjectContainer obj = database.Ext().OpenSession(); sessions[i] = obj; } }
private static void ApplyProcedure(PagingMemoryStorage storage, IProcedure4 procedure4 ) { IEmbeddedConfiguration config = Db4oEmbedded.NewConfiguration(); config.File.Storage = storage; IEmbeddedObjectContainer container = Db4oEmbedded.OpenFile(config, "benchmark.db4o" ); try { procedure4.Apply(container); } finally { container.Close(); } }
public virtual void Test() { IEmbeddedConfiguration config = Config(); config.Common.ObjectClass(typeof(ClassRenameByConfigExcludingOldClassTestCase.OldItem )).Rename(typeof(ClassRenameByConfigExcludingOldClassTestCase.NewItem).FullName); config.Common.ReflectWith(new ExcludingReflector(new Type[] { typeof(ClassRenameByConfigExcludingOldClassTestCase.OldItem ) })); IEmbeddedObjectContainer db = Db4oEmbedded.OpenFile(config, DbPath); AssertExtentSize(0, typeof(ClassRenameByConfigExcludingOldClassTestCase.OldItem), db); AssertExtentSize(NumItems, typeof(ClassRenameByConfigExcludingOldClassTestCase.NewItem ), db); db.Close(); }
public void Dispose(bool disposing) { if (_disposed) { return; } if (disposing) { CloseDb4OContainer(); } _emmbededServer = null; _embeddedContainer = null; _disposed = true; }
public virtual void TestIndexInfoAvailableAfterInfoGathering() { IEmbeddedConfiguration config = Config(); config.Common.ReflectWith(new ExcludingReflector(new Type[] { typeof(KnownClassesIndexTestCase.WithIndex ) })); IEmbeddedObjectContainer db = Db4oEmbedded.OpenFile(config, DbPath); try { ScanThroughKnownClassesInfo(db); AssertHasIndexInfo(db); } finally { db.Close(); } }
public LicensePlateDataProvider(string outputDirectory) { if (string.IsNullOrEmpty(outputDirectory)) { throw new ArgumentNullException("outputDirectory"); } if (!System.IO.Directory.Exists(outputDirectory)) { throw new System.IO.DirectoryNotFoundException("output directory of licenseplate not found"); } _outputDirectory = outputDirectory; var dbFilePath = System.IO.Path.Combine(_outputDirectory, "LicensePlates.db4o"); _db4oContainer = Db4oEmbedded.OpenFile(dbFilePath); }
private static void StoreItems(PagingMemoryStorage storage) { IEmbeddedConfiguration config = Db4oEmbedded.NewConfiguration(); config.File.Storage = storage; IEmbeddedObjectContainer container = Db4oEmbedded.OpenFile(config, "benchmark.db4o" ); try { for (int i = 0; i < ObjectCount; ++i) { container.Store(new SodaQueryComparatorBenchmark.Item(i, "Item " + i, new SodaQueryComparatorBenchmark.ItemChild ("Child " + i))); } } finally { container.Close(); } }
private static void MakeAndStoreTwoItemsInTwoContainers(IEmbeddedObjectContainer objectContainer, int seriesNumber) { var evenIndex = 2 * seriesNumber; var oddIndex = 1 + evenIndex; var fred = new Container {Name = String.Format("Fred_{0}", evenIndex)}; var itemOne = new Item {Name = String.Format("Odd_{0}", oddIndex)}; var itemTwo = new Item {Name = String.Format("Even_{0}", evenIndex)}; itemOne.Container = fred; itemTwo.Container = fred; { objectContainer.Store(itemOne); objectContainer.Commit(); var ethel = new Container {Name = String.Format("Ethel_{0}", evenIndex)}; var oldContainer = itemTwo.Container; itemTwo.Container = ethel; if (oldContainer != fred) { throw new Exception("No!"); } if (oldContainer.Items.Count() != 1) { throw new Exception("No"); } objectContainer.Store(oldContainer); objectContainer.Store(itemTwo); } }
internal static void GetAndWriteCustomFieldInfo(IEmbeddedObjectContainer db, XmlWriter writer) { var customfields = new List <CustomFieldInfo>(); foreach (CustomFieldInfo cfi in db.Query <CustomFieldInfo>().ToArray()) { customfields.Add(cfi); } if (customfields.Count > 0) { writer.WriteStartElement("AdditionalFields"); foreach (CustomFieldInfo customFieldInfo in customfields) { writer.WriteStartElement("CustomField"); writer.WriteAttributeString("name", customFieldInfo.m_fieldname); writer.WriteAttributeString("class", customFieldInfo.m_classname); if (customFieldInfo.m_destinationClass != 0) { writer.WriteAttributeString("destclass", customFieldInfo.m_destinationClass.ToString()); } writer.WriteAttributeString("type", GetFlidTypeAsString(customFieldInfo.m_fieldType)); if (customFieldInfo.m_fieldWs != 0) { writer.WriteAttributeString("wsSelector", customFieldInfo.m_fieldWs.ToString()); } if (!String.IsNullOrEmpty(customFieldInfo.m_fieldHelp)) { writer.WriteAttributeString("helpString", customFieldInfo.m_fieldHelp); } if (customFieldInfo.m_fieldListRoot != Guid.Empty) { writer.WriteAttributeString("listRoot", customFieldInfo.m_fieldListRoot.ToString()); } if (customFieldInfo.Label != customFieldInfo.m_fieldname) { writer.WriteAttributeString("label", customFieldInfo.Label); } writer.WriteEndElement(); } writer.WriteEndElement(); } }
/// <exception cref="System.Exception"></exception> public virtual void Test() { IEmbeddedObjectContainer db = OpenDatabase(); IList exceptions = new ArrayList(); Thread[] threads = new Thread[] { new Thread(new ConcurrentRenameTestCase.QueryRunner (db, exceptions), "ConcurrentRenameTestCase.test Thread[0]"), new Thread(new ConcurrentRenameTestCase.RenameRunner (db, exceptions), "ConcurrentRenameTestCase.test Thread[1]") }; for (int threadIndex = 0; threadIndex < threads.Length; ++threadIndex) { Thread thread = threads[threadIndex]; thread.Start(); } for (int threadIndex = 0; threadIndex < threads.Length; ++threadIndex) { Thread thread = threads[threadIndex]; thread.Join(); } db.Close(); Assert.AreEqual(0, exceptions.Count); }
public virtual void TestEmbedded() { IList missingClasses = new ArrayList(); IEmbeddedConfiguration excludingConfig = Db4oEmbedded.NewConfiguration(); PrepareHost(excludingConfig.File, excludingConfig.Common, missingClasses); ExcludeClasses(excludingConfig.Common, new Type[] { typeof(MissingClassDiagnosticsTestCase.Pilot ), typeof(MissingClassDiagnosticsTestCase.Car) }); IEmbeddedObjectContainer excludingContainer = Db4oEmbedded.OpenFile(excludingConfig , DbUri); try { excludingContainer.Query(new MissingClassDiagnosticsTestCase.AcceptAllPredicate() ); } finally { excludingContainer.Close(); } AssertPilotAndCarMissing(missingClasses); }
public NovaromaDb4OContext(IEmbeddedObjectContainer container) { container.Ext().Configure().OptimizeNativeQueries(true); container.Ext().Configure().ObjectClass(typeof(EntityBase)).ObjectField("_id").Indexed(true); container.Ext().Configure().ObjectClass(typeof(Media)).ObjectField("_title").Indexed(true); container.Ext().Configure().ObjectClass(typeof(Media)).ObjectField("_year").Indexed(true); container.Ext().Configure().ObjectClass(typeof(Media)).ObjectField("_rating").Indexed(true); container.Ext().Configure().ObjectClass(typeof(Media)).ObjectField("_directory").Indexed(true); container.Ext().Configure().ObjectClass(typeof(Media)).ObjectField("_imdbId").Indexed(true); container.Ext().Configure().ObjectClass(typeof(Media)).ObjectField("_voteCount").Indexed(true); container.Ext().Configure().ObjectClass(typeof(Media)).ObjectField("_runtime").Indexed(true); container.Ext().Configure().ObjectClass(typeof(Movie)).ObjectField("_filePath").Indexed(true); container.Ext().Configure().ObjectClass(typeof(Movie)).ObjectField("_isWatched").Indexed(true); container.Ext().Configure().ObjectClass(typeof(Movie)).ObjectField("_subtitleDownloaded").Indexed(true); container.Ext().Configure().ObjectClass(typeof(Movie)).ObjectField("_notFound").Indexed(true); container.Ext().Configure().ObjectClass(typeof(Movie)).ObjectField("_subtitleNotFound").Indexed(true); container.Ext().Configure().ObjectClass(typeof(Movie)).ObjectField("_downloadKey").Indexed(true); container.Ext().Configure().ObjectClass(typeof(TvShowEpisode)).ObjectField("_filePath").Indexed(true); container.Ext().Configure().ObjectClass(typeof(TvShowEpisode)).ObjectField("_isWatched").Indexed(true); container.Ext().Configure().ObjectClass(typeof(TvShowEpisode)).ObjectField("_subtitleDownloaded").Indexed(true); container.Ext().Configure().ObjectClass(typeof(TvShowEpisode)).ObjectField("_notFound").Indexed(true); container.Ext().Configure().ObjectClass(typeof(TvShowEpisode)).ObjectField("_subtitleNotFound").Indexed(true); container.Ext().Configure().ObjectClass(typeof(TvShowEpisode)).ObjectField("_downloadKey").Indexed(true); container.Ext().Configure().ObjectClass(typeof(TvShow)).CascadeOnDelete(true); container.Ext().Configure().ObjectClass(typeof(TvShowSeason)).CascadeOnDelete(true); container.Ext().Configure().MarkTransient("System.NonSerialized"); container.Ext().Configure().UpdateDepth(5); container.Ext().Configure().CallConstructors(true); _container = container; }
private static void LoadRoutes(IEmbeddedObjectContainer cache, FirefoxDriver driver) { foreach (var route in cache.AsQueryable <Route>()) { cache.Delete(route); } driver.Url = "http://www.ryanair.com/en"; driver.ExecuteScript("window.moveTo(0, 0); window.resizeTo(1280, 1024);"); var fromPicker = new FromPicker(driver); var toPicker = new ToPicker(driver); foreach (var fromCode in fromPicker.GetAirportCodes().ToArray()) { fromPicker.PickAirportByCode(fromCode); foreach (var toCode in toPicker.GetAirportCodes().ToArray()) { var route = new Route(fromCode, toCode); Console.WriteLine(route); cache.Store(route); } } }
public void Execute() { Db = OpenDatabase(); }
public virtual void Apply(IEmbeddedObjectContainer container) { _applied.Add(this); }
public void Apply(IEmbeddedObjectContainer db) { }
private static void LoadFlights(IEmbeddedObjectContainer cache, Route route, FirefoxDriver driver, DateTime when, int weeks) { var fromFlights = cache.AsQueryable <Flight>() .Where(flight => flight.Source == route.Source && flight.Target == route.Target); foreach (var flight in fromFlights) { cache.Delete(flight); } var toFlights = cache.AsQueryable <Flight>() .Where(flight => flight.Source == route.Target && flight.Target == route.Source); foreach (var flight in toFlights) { cache.Delete(flight); } driver.Url = "http://www.ryanair.com/en"; driver.ExecuteScript("window.moveTo(0, 0); window.resizeTo(1280, 1024);"); var fromPicker = new FromPicker(driver); var toPicker = new ToPicker(driver); var search = new Search(driver); fromPicker.PickAirportByCode(route.Source); toPicker.PickAirportByCode(route.Target); fromPicker.PickWhen(when); toPicker.PickWhen(when); search.Submit(); var fromPlanner = new FromPlanner(driver); var toPlanner = new ToPlanner(driver); foreach (var week in Enumerable.Range(1, weeks)) { if (FromPlanner.Exists(driver)) { foreach (var info in fromPlanner.GetInfos()) { var flight = new Flight(route.Source, route.Target, info); Console.WriteLine(flight); cache.Store(flight); } } if (ToPlanner.Exists(driver)) { foreach (var info in toPlanner.GetInfos()) { var flight = new Flight(route.Target, route.Source, info); Console.WriteLine(flight); cache.Store(flight); } } if (week < weeks && FromPlanner.Exists(driver) && ToPlanner.Exists(driver)) { toPlanner.ShowNextWeek(); fromPlanner.ShowNextWeek(); } } }
public PersonService() { _context = Db4oEmbedded.OpenFile(DatabaseFileName); }
internal static void GetAndWriteCustomFieldInfo(IEmbeddedObjectContainer db, XmlWriter writer) { var customfields = new List<CustomFieldInfo>(); foreach (CustomFieldInfo cfi in db.Query<CustomFieldInfo>().ToArray()) { customfields.Add(cfi); } if (customfields.Count > 0) { writer.WriteStartElement("AdditionalFields"); foreach (CustomFieldInfo customFieldInfo in customfields) { writer.WriteStartElement("CustomField"); writer.WriteAttributeString("name", customFieldInfo.m_fieldname); writer.WriteAttributeString("class", customFieldInfo.m_classname); if (customFieldInfo.m_destinationClass != 0) writer.WriteAttributeString("destclass", customFieldInfo.m_destinationClass.ToString()); writer.WriteAttributeString("type", GetFlidTypeAsString(customFieldInfo.m_fieldType)); if (customFieldInfo.m_fieldWs != 0) writer.WriteAttributeString("wsSelector", customFieldInfo.m_fieldWs.ToString()); if (!String.IsNullOrEmpty(customFieldInfo.m_fieldHelp)) writer.WriteAttributeString("helpString", customFieldInfo.m_fieldHelp); if (customFieldInfo.m_fieldListRoot != Guid.Empty) writer.WriteAttributeString("listRoot", customFieldInfo.m_fieldListRoot.ToString()); if (customFieldInfo.Label != customFieldInfo.m_fieldname) writer.WriteAttributeString("label", customFieldInfo.Label); writer.WriteEndElement(); } writer.WriteEndElement(); } }
internal static void GetAndWriteSurrogates(IEmbeddedObjectContainer db, XmlWriter outfile) { // These two lines code uses the CachedProjectInformation to accumulate the raw data from Db4o to a manageable form var results = db.Query<CmObjectSurrogate>(); var asBytes = results.ToArray(); // And this line causes all the data to be available. Not putting this statement in causes the follow reads to hit // a premature end of the data CMOSTHandler.CachedProjectInformation.Compressor.Dispose(); byte[] compressedBytes = CMOSTHandler.CachedProjectInformation.CompressedMemoryStream.ToArray(); using (var stream = new GZipStream(new MemoryStream(compressedBytes), CompressionMode.Decompress)) { var temp = new byte[16]; var unicoding = new UnicodeEncoding(); var xml = ReadNextSurrogateXml(stream, unicoding); while (xml != null) { // just copy from in to out outfile.WriteRaw(xml); xml = ReadNextSurrogateXml(stream, unicoding); } } }
private static IEmbeddedObjectContainer GetContainer() { if (null == _container || _container.Ext().IsClosed()) { var file = MapPath("northwind.db4o"); _container = Db4oEmbedded.OpenFile(Db4oEmbedded.NewConfiguration(), file); HttpContext.Current.ApplicationInstance.Disposed += delegate { _container.Close(); }; } return _container; }
public void Apply(IEmbeddedObjectContainer container) { this._container = container; this._applyCount++; }
// Just gets the version from the opened db40 file internal static int GetModelVersionNumber(IEmbeddedObjectContainer db) { var result = db.Query<ModelVersionNumber>(); if (result.Count > 0) return result[0].m_modelVersionNumber; else return 0; }
public GenController() : base() { db = Db4oEmbedded.OpenFile(Path.Combine(HttpRuntime.AppDomainAppPath, "db4o/db")); }
public void Apply(IEmbeddedObjectContainer container) { _container = container; _applyCount++; }
public virtual void Open() { IEmbeddedConfiguration config = Db4oEmbedded.NewConfiguration(); config.File.Storage = new MemoryStorage(); _server = Db4oEmbedded.OpenFile(config, string.Empty); }
public DataContext() { container = OpenFile(); }