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(); }); }; }
private void FlushOnQueryStarted(IInternalObjectContainer container) { IEventRegistry registry = EventRegistryFactory.ForObjectContainer(container); registry.QueryStarted += new System.EventHandler <Db4objects.Db4o.Events.QueryEventArgs> (new _IEventListener4_46(this).OnEvent); }
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 void Apply(IInternalObjectContainer container) { IEventRegistry registry = EventRegistryFactory.ForObjectContainer(container); registry.Creating += new CancellableObjectEventHandler(registry_Creating); registry.Updating += new CancellableObjectEventHandler(registry_Updating); }
private KeyValueHandlerPair DetectKeyValueTypeHandlers(IInternalObjectContainer container , IDictionary map) { ITypeHandler4 untypedHandler = (ITypeHandler4)container.Handlers.OpenTypeHandler( ); return(new KeyValueHandlerPair(untypedHandler, untypedHandler)); }
private ClassMetadata ClassMetadataForName(string className) { IInternalObjectContainer container = (IInternalObjectContainer)_provider.DataContainer (_context); return(container.ClassMetadataForReflectClass(container.Reflector().ForName(className ))); }
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); }
// 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(); }; }
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)); }
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); } }
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); }
// 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); }
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); }
// 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); }
/// <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 FlushOnQueryStarted(IInternalObjectContainer container) { IEventRegistry registry = EventRegistryFactory.ForObjectContainer(container); registry.QueryStarted += new System.EventHandler<Db4objects.Db4o.Events.QueryEventArgs> (new _IEventListener4_46(this).OnEvent); }
protected static void InternalWrite(IInternalObjectContainer objectContainer, IWriteBuffer buffer, string str) { StringIo(objectContainer).WriteLengthAndString(buffer, str); }
internal Db4oSignatureMap(IInternalObjectContainer stream) { _stream = stream; _identities = new Hashtable4(); }
protected static LatinStringIO StringIo(IInternalObjectContainer objectContainer) { return objectContainer.Container.StringIO(); }
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); }
private void StoreAll(IInternalObjectContainer internalObjectContainer) { internalObjectContainer.StoreAll(Trans(), Iterators.Iterate(new StoreAllTestCase.Item [] { item1, item2 })); }
public IReferenceSystem NewReferenceSystem(IInternalObjectContainer container) { return new TransactionalReferenceSystem(); }
private ITypeHandler4 DetectElementTypeHandler(IInternalObjectContainer container , ICollection collection) { return(container.Handlers.OpenTypeHandler()); }
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))); }
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 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( )); }
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); }
private void EnableTransparentPersistenceFor(IInternalObjectContainer container) { var provider = (ITransparentActivationDepthProvider ) ActivationProvider(container); provider.EnableTransparentPersistenceSupportFor(container, _rollbackStrategy); }
public void Apply(IInternalObjectContainer container) { Assert.IsNotNull(container); _container = container; }
private ITypeHandler4 DetectElementTypeHandler(IInternalObjectContainer container , ICollection collection) { return (ITypeHandler4)container.Handlers.OpenTypeHandler(); }
public TADiagnosticProcessor(TransparentActivationSupport _enclosing, IInternalObjectContainer container) { this._enclosing = _enclosing; this._container = container; }
protected static IActivationDepthProvider ActivationProvider(IInternalObjectContainer container) { return container.ConfigImpl.ActivationDepthProvider(); }
protected static LatinStringIO StringIo(IInternalObjectContainer objectContainer) { return(objectContainer.Container.StringIO()); }