public void Apply(IInternalObjectContainer container)
        {
            PerformanceCounter queriesPerSec         = null;
            PerformanceCounter classIndexScansPerSec = null;

            container.WithEnvironment(delegate
            {
                queriesPerSec         = Db4oPerformanceCounters.CounterFor(PerformanceCounterSpec.QueriesPerSec, false);
                classIndexScansPerSec = Db4oPerformanceCounters.CounterFor(PerformanceCounterSpec.ClassIndexScansPerSec, false);
            });

            IEventRegistry eventRegistry = EventRegistryFactory.ForObjectContainer(container);

            eventRegistry.QueryFinished += delegate
            {
                queriesPerSec.Increment();
            };

            container.Configure().Diagnostic().AddListener(new DiagnosticListener(classIndexScansPerSec));

            eventRegistry.Closing += delegate
            {
                queriesPerSec.RemoveInstance();
                classIndexScansPerSec.RemoveInstance();

                queriesPerSec.Dispose();
                classIndexScansPerSec.Dispose();
            };
        }
		public void Apply(IInternalObjectContainer container)
		{
#if NET_3_5
			My<LinqQueryMonitor>.Instance.Initialize();
#endif

			IEventRegistry eventRegistry = EventRegistryFactory.ForObjectContainer(container);
			
			PerformanceCounter unoptimizedNativeQueriesPerSec = Db4oPerformanceCounters.CounterFor(PerformanceCounterSpec.UnoptimizedNativeQueriesPerSec, false);
			PerformanceCounter nativeQueriesPerSec = Db4oPerformanceCounters.CounterFor(PerformanceCounterSpec.NativeQueriesPerSec, false);
			container.GetNativeQueryHandler().QueryExecution += delegate(object sender, QueryExecutionEventArgs args)
			{
				if (args.ExecutionKind == QueryExecutionKind.Unoptimized)
					unoptimizedNativeQueriesPerSec.Increment();

				nativeQueriesPerSec.Increment();
			};

			eventRegistry.Closing += delegate
			{
				nativeQueriesPerSec.RemoveInstance();

				nativeQueriesPerSec.Dispose();
				unoptimizedNativeQueriesPerSec.Dispose();

#if NET_3_5
				container.WithEnvironment(delegate
				{
					My<LinqQueryMonitor>.Instance.Dispose();
				});
#endif
			};
		}
        public virtual void Rename(string newName)
        {
            IInternalObjectContainer container = (IInternalObjectContainer)_transaction.ObjectContainer
                                                     ();

            container.SyncExec(new _IClosure4_56(this, newName));
        }
        public void Apply(IInternalObjectContainer container)
        {
            My <LinqQueryMonitor> .Instance.Initialize();

            IEventRegistry eventRegistry = EventRegistryFactory.ForObjectContainer(container);

            PerformanceCounter unoptimizedNativeQueriesPerSec = Db4oPerformanceCounters.CounterFor(PerformanceCounterSpec.UnoptimizedNativeQueriesPerSec, false);
            PerformanceCounter nativeQueriesPerSec            = Db4oPerformanceCounters.CounterFor(PerformanceCounterSpec.NativeQueriesPerSec, false);

            container.GetNativeQueryHandler().QueryExecution += delegate(object sender, QueryExecutionEventArgs args)
            {
                if (args.ExecutionKind == QueryExecutionKind.Unoptimized)
                {
                    unoptimizedNativeQueriesPerSec.Increment();
                }

                nativeQueriesPerSec.Increment();
            };

            eventRegistry.Closing += delegate
            {
                nativeQueriesPerSec.RemoveInstance();

                nativeQueriesPerSec.Dispose();
                unoptimizedNativeQueriesPerSec.Dispose();

                container.WithEnvironment(delegate
                {
                    My <LinqQueryMonitor> .Instance.Dispose();
                });
            };
        }
Beispiel #5
0
        private void FlushOnQueryStarted(IInternalObjectContainer container)
        {
            IEventRegistry registry = EventRegistryFactory.ForObjectContainer(container);

            registry.QueryStarted += new System.EventHandler <Db4objects.Db4o.Events.QueryEventArgs>
                                         (new _IEventListener4_46(this).OnEvent);
        }
Beispiel #6
0
 public virtual void EnableTransparentPersistenceSupportFor(IInternalObjectContainer
                                                            container, IRollbackStrategy rollbackStrategy)
 {
     FlushOnQueryStarted(container);
     _rollbackStrategy = rollbackStrategy;
     _transparentPersistenceIsEnabled = true;
 }
        private void EnableTransparentPersistenceFor(IInternalObjectContainer container)
        {
            ITransparentActivationDepthProvider provider = (ITransparentActivationDepthProvider
                                                            )ActivationProvider(container);

            provider.EnableTransparentPersistenceSupportFor(container, _rollbackStrategy);
        }
		public virtual void EnableTransparentPersistenceSupportFor(IInternalObjectContainer
			 container, IRollbackStrategy rollbackStrategy)
		{
			FlushOnQueryStarted(container);
			_rollbackStrategy = rollbackStrategy;
			_transparentPersistenceIsEnabled = true;
		}
Beispiel #9
0
            public void Apply(IInternalObjectContainer container)
            {
                IEventRegistry registry = EventRegistryFactory.ForObjectContainer(container);

                registry.Creating += new CancellableObjectEventHandler(registry_Creating);
                registry.Updating += new CancellableObjectEventHandler(registry_Updating);
            }
Beispiel #10
0
        private KeyValueHandlerPair DetectKeyValueTypeHandlers(IInternalObjectContainer container
                                                               , IDictionary map)
        {
            ITypeHandler4 untypedHandler = (ITypeHandler4)container.Handlers.OpenTypeHandler(
                );

            return(new KeyValueHandlerPair(untypedHandler, untypedHandler));
        }
Beispiel #11
0
        private ClassMetadata ClassMetadataForName(string className)
        {
            IInternalObjectContainer container = (IInternalObjectContainer)_provider.DataContainer
                                                     (_context);

            return(container.ClassMetadataForReflectClass(container.Reflector().ForName(className
                                                                                        )));
        }
Beispiel #12
0
        public static ByteArrayBuffer WriteToBuffer(IInternalObjectContainer container, string
                                                    str)
        {
            ByteArrayBuffer buffer = new ByteArrayBuffer(StringIo(container).Length(str));

            InternalWrite(container, buffer, str);
            return(buffer);
        }
 public static bool InCallback(IInternalObjectContainer container)
 {
     if (container.Callbacks() is EventRegistryImpl)
     {
         EventRegistryImpl er = (EventRegistryImpl)container.Callbacks();
         return(er._inCallback);
     }
     return(false);
 }
Beispiel #14
0
 // Nothing to do...
 /// <summary>internal method, public for implementation reasons.</summary>
 /// <remarks>internal method, public for implementation reasons.</remarks>
 public virtual void Apply(IInternalObjectContainer objectContainer)
 {
     if (objectContainer.IsClient)
     {
         throw new InvalidOperationException(GetType().FullName + " should be configured on the server."
                                             );
     }
     EventRegistryFactory.ForObjectContainer(objectContainer).Committing += new System.EventHandler <Db4objects.Db4o.Events.CommitEventArgs>
                                                                                (new _IEventListener4_46(this, objectContainer).OnEvent);
 }
		// Nothing to do...
		/// <summary>internal method, public for implementation reasons.</summary>
		/// <remarks>internal method, public for implementation reasons.</remarks>
		public virtual void Apply(IInternalObjectContainer objectContainer)
		{
			if (objectContainer.IsClient)
			{
				throw new InvalidOperationException(GetType().FullName + " should be configured on the server."
					);
			}
			EventRegistryFactory.ForObjectContainer(objectContainer).Committing += new System.EventHandler<Db4objects.Db4o.Events.CommitEventArgs>
				(new _IEventListener4_46(this, objectContainer).OnEvent);
		}
        public void Apply(IInternalObjectContainer container)
        {
            PerformanceCounter storedObjectsPerSec =
                Db4oPerformanceCounters.CounterFor(PerformanceCounterSpec.ObjectsStoredPerSec, false);
            PerformanceCounter activatedObjectsPerSec =
                Db4oPerformanceCounters.CounterFor(PerformanceCounterSpec.ObjectsActivatedPerSec, false);
            PerformanceCounter deactivatedObjectsPerSec =
                Db4oPerformanceCounters.CounterFor(PerformanceCounterSpec.ObjectsDeactivatedPerSec, false);
            IEventRegistry eventRegistry = EventRegistryFactory.ForObjectContainer(container);

            EventHandler<ObjectInfoEventArgs> eventHandler = delegate
                                       {
                                           storedObjectsPerSec.Increment();
                                       };
            eventRegistry.Created += eventHandler;
            eventRegistry.Updated += eventHandler;

            eventRegistry.Activated += delegate
                                           {
                                               activatedObjectsPerSec.Increment();
                                           };
            eventRegistry.Deactivated += delegate
                                             {
                                                 deactivatedObjectsPerSec.Increment();
                                             };

            eventRegistry.Closing += delegate
                                        {
                                            storedObjectsPerSec.Dispose();
                                            activatedObjectsPerSec.Dispose();
                                            deactivatedObjectsPerSec.Dispose();

                                            storedObjectsPerSec.RemoveInstance();
                                        };
            if (container.IsClient)
            {
                return;
            }

            PerformanceCounter deletedObjectsPerSec =
                Db4oPerformanceCounters.CounterFor(PerformanceCounterSpec.ObjectsDeletedPerSec, false);
            eventRegistry.Deleted += delegate
                                         {
                                             deletedObjectsPerSec.Increment();
                                         };

            eventRegistry.Closing += delegate
            {
                deletedObjectsPerSec.Dispose();
            };



        }
Beispiel #17
0
        private void UnbindAll(IInternalObjectContainer container)
        {
            Db4objects.Db4o.Internal.Transaction transaction = container.Transaction;
            // FIXME should that ever happen?
            if (transaction == null)
            {
                return;
            }
            IReferenceSystem referenceSystem = transaction.ReferenceSystem();

            referenceSystem.TraverseReferences(new _IVisitor4_95(this));
        }
Beispiel #18
0
            public void OnEvent(object sender, Db4objects.Db4o.Events.ObjectContainerEventArgs
                                args)
            {
                IInternalObjectContainer objectContainer = (IInternalObjectContainer)((ObjectContainerEventArgs
                                                                                       )args).ObjectContainer;

                this._enclosing.UnbindAll(objectContainer);
                if (!this._enclosing.IsEmbeddedClient(objectContainer))
                {
                    this._enclosing.SetActivationDepthProvider(objectContainer, null);
                }
            }
        public void Apply(IInternalObjectContainer container)
        {
            PerformanceCounter storedObjectsPerSec =
                Db4oPerformanceCounters.CounterFor(PerformanceCounterSpec.ObjectsStoredPerSec, false);
            PerformanceCounter activatedObjectsPerSec =
                Db4oPerformanceCounters.CounterFor(PerformanceCounterSpec.ObjectsActivatedPerSec, false);
            PerformanceCounter deactivatedObjectsPerSec =
                Db4oPerformanceCounters.CounterFor(PerformanceCounterSpec.ObjectsDeactivatedPerSec, false);
            IEventRegistry eventRegistry = EventRegistryFactory.ForObjectContainer(container);

            EventHandler <ObjectInfoEventArgs> eventHandler = delegate
            {
                storedObjectsPerSec.Increment();
            };

            eventRegistry.Created += eventHandler;
            eventRegistry.Updated += eventHandler;

            eventRegistry.Activated += delegate
            {
                activatedObjectsPerSec.Increment();
            };
            eventRegistry.Deactivated += delegate
            {
                deactivatedObjectsPerSec.Increment();
            };

            eventRegistry.Closing += delegate
            {
                storedObjectsPerSec.Dispose();
                activatedObjectsPerSec.Dispose();
                deactivatedObjectsPerSec.Dispose();

                storedObjectsPerSec.RemoveInstance();
            };
            if (container.IsClient)
            {
                return;
            }

            PerformanceCounter deletedObjectsPerSec =
                Db4oPerformanceCounters.CounterFor(PerformanceCounterSpec.ObjectsDeletedPerSec, false);

            eventRegistry.Deleted += delegate
            {
                deletedObjectsPerSec.Increment();
            };

            eventRegistry.Closing += delegate
            {
                deletedObjectsPerSec.Dispose();
            };
        }
 // Nothing to do...
 /// <summary>
 ///     Configures the just opened ObjectContainer by setting event listeners,
 ///     which will be triggered when activation or de-activation is required.
 /// </summary>
 /// <remarks>
 ///     Configures the just opened ObjectContainer by setting event listeners,
 ///     which will be triggered when activation or de-activation is required.
 /// </remarks>
 /// <param name="container">the ObjectContainer to configure</param>
 /// <seealso cref="TransparentPersistenceSupport.Apply(Db4objects.Db4o.Internal.IInternalObjectContainer)
 /// 	">
 ///     TransparentPersistenceSupport.Apply(Db4objects.Db4o.Internal.IInternalObjectContainer)
 /// </seealso>
 public virtual void Apply(IInternalObjectContainer container)
 {
     if (IsTransparentActivationEnabledOn(container))
     {
         return;
     }
     var provider = new TransparentActivationDepthProviderImpl
         ();
     SetActivationDepthProvider(container, provider);
     var registry = EventRegistryFor(container);
     registry.Instantiated += new _IEventListener4_45(this).OnEvent;
     registry.Created += new _IEventListener4_50(this).OnEvent;
     registry.Closing += new _IEventListener4_56(this).OnEvent;
     var processor = new TADiagnosticProcessor
         (this, container);
     registry.ClassRegistered += new _IEventListener4_67(processor).OnEvent;
 }
        public void ApplyConfigurationItems(IInternalObjectContainer container)
        {
            Hashtable4 items = ConfigurationItems();

            if (items == null)
            {
                return;
            }
            IEnumerator i = items.Iterator();

            while (i.MoveNext())
            {
                IEntry4            entry = (IEntry4)i.Current;
                IConfigurationItem item  = (IConfigurationItem)entry.Value();
                item.Apply(container);
            }
        }
Beispiel #22
0
        // Nothing to do...
        /// <summary>
        ///     Configures the just opened ObjectContainer by setting event listeners,
        ///     which will be triggered when activation or de-activation is required.
        /// </summary>
        /// <remarks>
        ///     Configures the just opened ObjectContainer by setting event listeners,
        ///     which will be triggered when activation or de-activation is required.
        /// </remarks>
        /// <param name="container">the ObjectContainer to configure</param>
        /// <seealso cref="TransparentPersistenceSupport.Apply(Db4objects.Db4o.Internal.IInternalObjectContainer)
        ///     ">
        ///     TransparentPersistenceSupport.Apply(Db4objects.Db4o.Internal.IInternalObjectContainer)
        /// </seealso>
        public virtual void Apply(IInternalObjectContainer container)
        {
            if (IsTransparentActivationEnabledOn(container))
            {
                return;
            }
            var provider = new TransparentActivationDepthProviderImpl
                               ();

            SetActivationDepthProvider(container, provider);
            var registry = EventRegistryFor(container);

            registry.Instantiated += new _IEventListener4_45(this).OnEvent;
            registry.Created      += new _IEventListener4_50(this).OnEvent;
            registry.Closing      += new _IEventListener4_56(this).OnEvent;
            var processor = new TADiagnosticProcessor
                                (this, container);

            registry.ClassRegistered += new _IEventListener4_67(processor).OnEvent;
        }
		public ReplicationReflector(IReplicationProvider providerA, IReplicationProvider 
			providerB, IReflector reflector)
		{
			if (reflector == null)
			{
				if ((_container = ContainerFrom(providerA)) != null)
				{
					return;
				}
				if ((_container = ContainerFrom(providerB)) != null)
				{
					return;
				}
			}
			GenericReflector genericReflector = new GenericReflector(null, reflector == null ? 
				Platform4.ReflectorForType(typeof(Db4objects.Drs.Inside.ReplicationReflector)) : 
				reflector);
			Platform4.RegisterCollections(genericReflector);
			_reflector = genericReflector;
		}
        public void Apply(IInternalObjectContainer container)
        {
            if (!(container is LocalObjectContainer) || container.ConfigImpl.IsReadOnly())
            {
                return;
            }
            var localObjectContainer = (LocalObjectContainer) container;
            var freespaceManager = localObjectContainer.FreespaceManager();
            var freespaceListener = new FreespaceListener(localObjectContainer);
            freespaceManager.Traverse(new FreespaceInitializingVisitor(freespaceListener));

            var eventRegistry = EventRegistryFactory.ForObjectContainer(container);
            eventRegistry.Closing += delegate
            {
                freespaceListener.Dispose();
                freespaceManager.Listener(NullFreespaceListener.Instance);
            };

            freespaceManager.Listener(freespaceListener);
        }
Beispiel #25
0
        public ReplicationReflector(IReplicationProvider providerA, IReplicationProvider
                                    providerB, IReflector reflector)
        {
            if (reflector == null)
            {
                if ((_container = ContainerFrom(providerA)) != null)
                {
                    return;
                }
                if ((_container = ContainerFrom(providerB)) != null)
                {
                    return;
                }
            }
            GenericReflector genericReflector = new GenericReflector(null, reflector == null ?
                                                                     Platform4.ReflectorForType(typeof(Db4objects.Drs.Inside.ReplicationReflector)) :
                                                                     reflector);

            Platform4.RegisterCollections(genericReflector);
            _reflector = genericReflector;
        }
		// Nothing to do...
		/// <summary>
		/// Configures the just opened ObjectContainer by setting event listeners,
		/// which will be triggered when activation or de-activation is required.
		/// </summary>
		/// <remarks>
		/// Configures the just opened ObjectContainer by setting event listeners,
		/// which will be triggered when activation or de-activation is required.
		/// </remarks>
		/// <param name="container">the ObjectContainer to configure</param>
		/// <seealso cref="TransparentPersistenceSupport.Apply(Db4objects.Db4o.Internal.IInternalObjectContainer)
		/// 	">TransparentPersistenceSupport.Apply(Db4objects.Db4o.Internal.IInternalObjectContainer)
		/// 	</seealso>
		public virtual void Apply(IInternalObjectContainer container)
		{
			if (IsTransparentActivationEnabledOn(container))
			{
				return;
			}
			TransparentActivationDepthProviderImpl provider = new TransparentActivationDepthProviderImpl
				();
			SetActivationDepthProvider(container, provider);
			IEventRegistry registry = EventRegistryFor(container);
			registry.Instantiated += new System.EventHandler<Db4objects.Db4o.Events.ObjectInfoEventArgs>
				(new _IEventListener4_45(this).OnEvent);
			registry.Created += new System.EventHandler<Db4objects.Db4o.Events.ObjectInfoEventArgs>
				(new _IEventListener4_50(this).OnEvent);
			registry.Closing += new System.EventHandler<Db4objects.Db4o.Events.ObjectContainerEventArgs>
				(new _IEventListener4_56(this).OnEvent);
			TransparentActivationSupport.TADiagnosticProcessor processor = new TransparentActivationSupport.TADiagnosticProcessor
				(this, container);
			registry.ClassRegistered += new System.EventHandler<Db4objects.Db4o.Events.ClassEventArgs>
				(new _IEventListener4_67(processor).OnEvent);
		}
Beispiel #27
0
        public void Apply(IInternalObjectContainer container)
        {
            if (!(container is LocalObjectContainer) || container.ConfigImpl.IsReadOnly())
            {
                return;
            }
            LocalObjectContainer localObjectContainer = (LocalObjectContainer)container;
            IFreespaceManager    freespaceManager     = localObjectContainer.FreespaceManager();
            FreespaceListener    freespaceListener    = new FreespaceListener(localObjectContainer);

            freespaceManager.Traverse(new FreespaceInitializingVisitor(freespaceListener));

            IEventRegistry eventRegistry = EventRegistryFactory.ForObjectContainer(container);

            eventRegistry.Closing += delegate
            {
                freespaceListener.Dispose();
                freespaceManager.Listener(NullFreespaceListener.Instance);
            };

            freespaceManager.Listener(freespaceListener);
        }
Beispiel #28
0
        // Nothing to do...
        /// <summary>
        /// Configures the just opened ObjectContainer by setting event listeners,
        /// which will be triggered when activation or de-activation is required.
        /// </summary>
        /// <remarks>
        /// Configures the just opened ObjectContainer by setting event listeners,
        /// which will be triggered when activation or de-activation is required.
        /// </remarks>
        /// <param name="container">the ObjectContainer to configure</param>
        /// <seealso cref="TransparentPersistenceSupport.Apply(Db4objects.Db4o.Internal.IInternalObjectContainer)
        ///     ">TransparentPersistenceSupport.Apply(Db4objects.Db4o.Internal.IInternalObjectContainer)
        ///     </seealso>
        public virtual void Apply(IInternalObjectContainer container)
        {
            if (IsTransparentActivationEnabledOn(container))
            {
                return;
            }
            TransparentActivationDepthProviderImpl provider = new TransparentActivationDepthProviderImpl
                                                                  ();

            SetActivationDepthProvider(container, provider);
            IEventRegistry registry = EventRegistryFor(container);

            registry.Instantiated += new System.EventHandler <Db4objects.Db4o.Events.ObjectInfoEventArgs>
                                         (new _IEventListener4_45(this).OnEvent);
            registry.Created += new System.EventHandler <Db4objects.Db4o.Events.ObjectInfoEventArgs>
                                    (new _IEventListener4_50(this).OnEvent);
            registry.Closing += new System.EventHandler <Db4objects.Db4o.Events.ObjectContainerEventArgs>
                                    (new _IEventListener4_56(this).OnEvent);
            TransparentActivationSupport.TADiagnosticProcessor processor = new TransparentActivationSupport.TADiagnosticProcessor
                                                                               (this, container);
            registry.ClassRegistered += new System.EventHandler <Db4objects.Db4o.Events.ClassEventArgs>
                                            (new _IEventListener4_67(processor).OnEvent);
        }
Beispiel #29
0
        /// <summary>
        /// Returns an
        /// <see cref="IEventRegistry">IEventRegistry</see>
        /// for registering events with the specified container.
        /// </summary>
        public static IEventRegistry ForObjectContainer(IObjectContainer objectContainer)
        {
            if (null == objectContainer)
            {
                throw new ArgumentNullException();
            }
            IInternalObjectContainer container = ((IInternalObjectContainer)objectContainer);
            ICallbacks callbacks = container.Callbacks();

            if (callbacks is IEventRegistry)
            {
                return((IEventRegistry)callbacks);
            }
            if (callbacks is NullCallbacks)
            {
                EventRegistryImpl impl = container.NewEventRegistry();
                container.Callbacks(impl);
                return(impl);
            }
            // TODO: create a MulticastingCallbacks and register both
            // the current one and the new one
            throw new ArgumentException();
        }
		private void UnbindAll(IInternalObjectContainer container)
		{
			Db4objects.Db4o.Internal.Transaction transaction = container.Transaction;
			// FIXME should that ever happen?
			if (transaction == null)
			{
				return;
			}
			IReferenceSystem referenceSystem = transaction.ReferenceSystem();
			referenceSystem.TraverseReferences(new _IVisitor4_95(this));
		}
		private void FlushOnQueryStarted(IInternalObjectContainer container)
		{
			IEventRegistry registry = EventRegistryFactory.ForObjectContainer(container);
			registry.QueryStarted += new System.EventHandler<Db4objects.Db4o.Events.QueryEventArgs>
				(new _IEventListener4_46(this).OnEvent);
		}
Beispiel #32
0
 protected static void InternalWrite(IInternalObjectContainer objectContainer, IWriteBuffer
                                     buffer, string str)
 {
     StringIo(objectContainer).WriteLengthAndString(buffer, str);
 }
Beispiel #33
0
		internal Db4oSignatureMap(IInternalObjectContainer stream)
		{
			_stream = stream;
			_identities = new Hashtable4();
		}
Beispiel #34
0
 protected static LatinStringIO StringIo(IInternalObjectContainer objectContainer)
 {
     return objectContainer.Container.StringIO();
 }
Beispiel #35
0
 public void Apply(IInternalObjectContainer container)
 {
 }
 /// <summary>Configures current ObjectContainer to support Transparent Activation and Transparent Persistence
 ///     </summary>
 /// <seealso cref="TransparentActivationSupport.Apply(Db4objects.Db4o.Internal.IInternalObjectContainer)
 ///     "></seealso>
 public override void Apply(IInternalObjectContainer container)
 {
     base.Apply(container);
     EnableTransparentPersistenceFor(container);
 }
Beispiel #37
0
 protected static void InternalWrite(IInternalObjectContainer objectContainer, IWriteBuffer
     buffer, string str)
 {
     StringIo(objectContainer).WriteLengthAndString(buffer, str);
 }
Beispiel #38
0
		private void StoreAll(IInternalObjectContainer internalObjectContainer)
		{
			internalObjectContainer.StoreAll(Trans(), Iterators.Iterate(new StoreAllTestCase.Item
				[] { item1, item2 }));
		}
			public IReferenceSystem NewReferenceSystem(IInternalObjectContainer container)
			{
				return new TransactionalReferenceSystem();
			}
Beispiel #40
0
 private ITypeHandler4 DetectElementTypeHandler(IInternalObjectContainer container
                                                , ICollection collection)
 {
     return(container.Handlers.OpenTypeHandler());
 }
Beispiel #41
0
		private KeyValueHandlerPair DetectKeyValueTypeHandlers(IInternalObjectContainer container
			, IDictionary map)
		{
			ITypeHandler4 untypedHandler = (ITypeHandler4)container.Handlers.OpenTypeHandler(
				);
			return new KeyValueHandlerPair(untypedHandler, untypedHandler);
		}
            public IReferenceSystem NewReferenceSystem(IInternalObjectContainer container)
            {
                PerformanceCounter counter = ObjectsInReferenceSystemCounterFor(container);

                return(new MonitoringReferenceSystem(new ReferenceSystemListener(counter)));
            }
Beispiel #43
0
		public static bool InCallback(IInternalObjectContainer container)
		{
			if (container.Callbacks() is EventRegistryImpl)
			{
				EventRegistryImpl er = (EventRegistryImpl)container.Callbacks();
				return er._inCallback;
			}
			return false;
		}
 public void Apply(IInternalObjectContainer container)
 {
     EventRegistryFactory.ForObjectContainer(container).Opened += new System.EventHandler <Db4objects.Db4o.Events.ObjectContainerEventArgs>
                                                                      (new _IEventListener4_28(this).OnEvent);
 }
		public void ApplyConfigurationItems(IInternalObjectContainer container)
		{
			Hashtable4 items = ConfigurationItems();
			if (items == null)
			{
				return;
			}
			IEnumerator i = items.Iterator();
			while (i.MoveNext())
			{
				IEntry4 entry = (IEntry4)i.Current;
				IConfigurationItem item = (IConfigurationItem)entry.Value();
				item.Apply(container);
			}
		}
Beispiel #46
0
		public virtual void Apply(IInternalObjectContainer db)
		{
			EventRegistry(db).Updating += new System.EventHandler<Db4objects.Db4o.Events.CancellableObjectEventArgs>
				(new _IEventListener4_19().OnEvent);
		}
		private void SetActivationDepthProvider(IInternalObjectContainer container, IActivationDepthProvider
			 provider)
		{
			container.ConfigImpl.ActivationDepthProvider(provider);
		}
			public void Apply(IInternalObjectContainer container)
			{
				Assert.AreEqual(ObjectContainerCustomNameTestCase.CustomName, container.ToString(
					));
			}
Beispiel #49
0
 public static ByteArrayBuffer WriteToBuffer(IInternalObjectContainer container, string
     str)
 {
     var buffer = new ByteArrayBuffer(StringIo(container).Length(str));
     InternalWrite(container, buffer, str);
     return buffer;
 }
 /// <summary>
 ///     Configures current ObjectContainer to support Transparent Activation and Transparent Persistence
 /// </summary>
 /// <seealso cref="TransparentActivationSupport.Apply(Db4objects.Db4o.Internal.IInternalObjectContainer)
 /// 	"></seealso>
 public override void Apply(IInternalObjectContainer container)
 {
     base.Apply(container);
     EnableTransparentPersistenceFor(container);
 }
Beispiel #51
0
 private void StoreAll(IInternalObjectContainer internalObjectContainer)
 {
     internalObjectContainer.StoreAll(Trans(), Iterators.Iterate(new StoreAllTestCase.Item
                                                                 [] { item1, item2 }));
 }
 private void EnableTransparentPersistenceFor(IInternalObjectContainer container)
 {
     var provider = (ITransparentActivationDepthProvider
         ) ActivationProvider(container);
     provider.EnableTransparentPersistenceSupportFor(container, _rollbackStrategy);
 }
 public void Apply(IInternalObjectContainer container)
 {
     Assert.IsNotNull(container);
     _container = container;
 }
Beispiel #54
0
		private ITypeHandler4 DetectElementTypeHandler(IInternalObjectContainer container
			, ICollection collection)
		{
			return (ITypeHandler4)container.Handlers.OpenTypeHandler();
		}
        public void Apply(IInternalObjectContainer container)
        {

        }
			public TADiagnosticProcessor(TransparentActivationSupport _enclosing, IInternalObjectContainer
				 container)
			{
				this._enclosing = _enclosing;
				this._container = container;
			}
		protected static IActivationDepthProvider ActivationProvider(IInternalObjectContainer
			 container)
		{
			return container.ConfigImpl.ActivationDepthProvider();
		}
Beispiel #58
0
		public void Apply(IInternalObjectContainer container)
		{
		    PerformanceCounter queriesPerSec = null;
		    PerformanceCounter classIndexScansPerSec = null;

		    container.WithEnvironment(delegate
            {
		        queriesPerSec = Db4oPerformanceCounters.CounterFor(PerformanceCounterSpec.QueriesPerSec, false);
                classIndexScansPerSec = Db4oPerformanceCounters.CounterFor(PerformanceCounterSpec.ClassIndexScansPerSec, false);
            });

			IEventRegistry eventRegistry = EventRegistryFactory.ForObjectContainer(container);
			eventRegistry.QueryFinished += delegate
			{
				queriesPerSec.Increment();
			};
			
			container.Configure().Diagnostic().AddListener(new DiagnosticListener(classIndexScansPerSec));
			
			eventRegistry.Closing += delegate
			{
				queriesPerSec.RemoveInstance();
				classIndexScansPerSec.RemoveInstance();

				queriesPerSec.Dispose();
				classIndexScansPerSec.Dispose();
			};
		}
Beispiel #59
0
 public void Apply(IInternalObjectContainer container)
 {
     Assert.IsNotNull(container);
     _container = container;
 }
Beispiel #60
0
 protected static LatinStringIO StringIo(IInternalObjectContainer objectContainer)
 {
     return(objectContainer.Container.StringIO());
 }