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);
 }
Beispiel #3
0
        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();
     }
 }
Beispiel #8
0
        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();
        }
Beispiel #9
0
        public void Dispose(bool disposing)
        {
            if (_disposed)
            {
                return;
            }

            if (disposing)
            {
                CloseDb4OContainer();
            }

            _emmbededServer    = null;
            _embeddedContainer = null;

            _disposed = true;
        }
Beispiel #10
0
        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();
            }
        }
Beispiel #11
0
        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);
            }
        }
Beispiel #14
0
        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;
        }
Beispiel #18
0
        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);
			}
Beispiel #21
0
		public void Apply(IEmbeddedObjectContainer db)
		{
		}
Beispiel #22
0
        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();
                }
            }
        }
Beispiel #23
0
 public PersonService()
 {
     _context = Db4oEmbedded.OpenFile(DatabaseFileName);
 }
Beispiel #24
0
		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();
			}
		}
Beispiel #25
0
		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);
				}
			}
		}
 public virtual void Apply(IEmbeddedObjectContainer container)
 {
     _applied.Add(this);
 }
        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;
        }
Beispiel #28
0
 public void Apply(IEmbeddedObjectContainer container)
 {
     this._container = container;
     this._applyCount++;
 }
Beispiel #29
0
		// 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;
		}
Beispiel #30
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 void Apply(IEmbeddedObjectContainer db)
 {
 }
Beispiel #34
0
 public DataContext()
 {
     container = OpenFile();
 }