public MySqlCommandInterpreter( ShellSettings shellSettings, ISessionFactoryHolder sessionFactoryHolder) { _shellSettings = shellSettings; _dialectLazy = new Lazy <Dialect>(() => Dialect.GetDialect(sessionFactoryHolder.GetConfiguration().Properties)); }
public CustomMemberBindingProvider( IRepository <MemberBindingRecord> repository, ISessionFactoryHolder sessionFactoryHolder) { _repository = repository; _sessionFactoryHolder = sessionFactoryHolder; }
private static void AddXmlToNHibernateCfg(ISessionFactoryHolder holder, ActiveRecordModelCollection models) { XmlGenerationVisitor xmlVisitor = new XmlGenerationVisitor(); AssemblyXmlGenerator assemblyXmlGenerator = new AssemblyXmlGenerator(); ISet assembliesGeneratedXmlFor = new HashedSet(); foreach (ActiveRecordModel model in models) { Configuration config = holder.GetConfiguration(holder.GetRootType(model.Type)); if (config == null) { throw new ActiveRecordException( string.Format( "Could not find configuration for {0} or its root type {1} this is usually an indication that the configuration has not been setup correctly.", model.Type, holder.GetRootType(model.Type))); } if (!model.IsNestedType && !model.IsDiscriminatorSubClass && !model.IsJoinedSubClass) { xmlVisitor.Reset(); xmlVisitor.CreateXml(model); String xml = xmlVisitor.Xml; if (xml != String.Empty) { AddXmlString(config, xml, model); } } } }
public SessionLocator( ISessionFactoryHolder sessionFactoryHolder, IEnumerable<ISessionInterceptor> interceptors) { _sessionFactoryHolder = sessionFactoryHolder; _interceptors = interceptors; Logger = NullLogger.Instance; }
/// <summary> /// Initializes a new instance of the <see cref="TransactionScope"/> class. /// </summary> public TransactionScope( TransactionMode mode = TransactionMode.New, IsolationLevel isolation = IsolationLevel.Unspecified, OnDispose ondispose = OnDispose.Commit, ISessionScope parent = null, ISessionFactoryHolder holder = null, IThreadScopeInfo scopeinfo = null ) : base(FlushAction.Config, isolation, ondispose, parent, holder, scopeinfo) { this.mode = mode; parentTransactionScope = ParentScope as TransactionScope; if (mode == TransactionMode.New) { if (parentTransactionScope != null) { parentTransactionScope = null; ParentScope = null; } else { parentTransactionScope = null; } } }
public SchemaCommandGenerator( ISessionFactoryHolder sessionFactoryHolder, IDataServicesProviderFactory dataServicesProviderFactory) { _sessionFactoryHolder = sessionFactoryHolder; _dataServicesProviderFactory = dataServicesProviderFactory; }
public SessionLocator( ISessionFactoryHolder sessionFactoryHolder, ITransactionManager transactionManager) { _sessionFactoryHolder = sessionFactoryHolder; _transactionManager = transactionManager; Logger = NullLogger.Instance; }
private void DoDelete() { ISessionFactoryHolder factoryHolder = ActiveRecordMediator <ModelTreeNodeEntityBase <T> > .GetSessionFactoryHolder(); ISession session = factoryHolder.CreateSession(this.GetType()); // 删除子节点及自身节点 string hql = String.Format("DELETE FROM {0} WHERE {2} LIKE '%{1}%' OR {3} = '{1}' ", EntityBase <T> .ClassName, this.ID, Prop_Path, Prop_ID); DataHelper.HqlUpdate(session, hql); try { // 修改后继节点位置信息 hql = String.Format("UPDATE {0} SET {3} = {3} - {1} WHERE {4} = ? AND {3} > {2}", EntityBase <T> .ClassName, SortInterval, this.SortIndex, Prop_SortIndex, Prop_ParentID); DataHelper.HqlUpdate(session, hql, this.ParentID); } catch { }; // 检查修改父节点IsLeaf属性 if (this.Parent != null) { this.Parent.CheckSetIsLeaf(this.ID); } System.Diagnostics.Debug.Assert(true); }
public CustomSessionLocator( ISessionFactoryHolder sessionFactoryHolder, bool enableTransaction) { _sessionFactoryHolder = sessionFactoryHolder; _enableTransaction = enableTransaction; Logger = NullLogger.Instance; }
/// <summary> /// /// </summary> /// <param name="sessionFactoryHolder"></param> public SessionLocator( ISessionFactoryHolder sessionFactoryHolder) { _transactionManager = new TransactionManager(); _sessionFactoryHolder = sessionFactoryHolder; Logger = LoggerFactory.GetLog(); }
public DatabaseManager( ISessionFactoryHolder sessionFactoryHolder, IDataMigrationInterpreter dataMigrationInterpreter) { _sessionFactoryHolder = sessionFactoryHolder; _dataMigrationInterpreter = dataMigrationInterpreter; }
private static void RaiseSessionFactoryHolderCreated(ISessionFactoryHolder holder) { if (SessionFactoryHolderCreated != null) { SessionFactoryHolderCreated(holder); } }
public static ISession GetARSession() { ISessionFactoryHolder holder = ActiveRecordMediator.GetSessionFactoryHolder(); var factory = holder.GetSessionFactory(typeof(ActiveRecordBase)); return(factory.OpenSession()); }
private void DoInitialization() { if (InitializationAware == null && IoC.IsInitialized) { if (IoC.Container.Kernel.HasComponent(typeof(INHibernateInitializationAware))) { InitializationAware = IoC.ResolveAll <INHibernateInitializationAware>(); } } List <Type> registerdTypes = new List <Type>(); ActiveRecordStarter.SessionFactoryHolderCreated += delegate(ISessionFactoryHolder holder) { holder.OnRootTypeRegistered += delegate(object sender, Type rootType) { registerdTypes.Add(rootType); }; }; ActiveRecordStarter.MappingRegisteredInConfiguration += delegate(ISessionFactoryHolder holder) { if (InitializationAware != null) { foreach (Configuration cfg in holder.GetAllConfigurations()) { foreach (INHibernateInitializationAware initializer in InitializationAware) { initializer.Configured(cfg); } } } }; ActiveRecordStarter.ResetInitializationFlag(); if (InitializationAware != null) { foreach (INHibernateInitializationAware hibernateInitializationAware in InitializationAware) { hibernateInitializationAware.BeforeInitialization(); } } ActiveRecordStarter.Initialize(assemblies, configurationSource); ISessionFactoryHolder sessionFactoryHolder = ActiveRecordMediator.GetSessionFactoryHolder(); if (InitializationAware != null) { foreach (Type type in registerdTypes) { Configuration configuration = sessionFactoryHolder.GetConfiguration(type); ISessionFactory factory = sessionFactoryHolder.GetSessionFactory(type); foreach (INHibernateInitializationAware initializer in InitializationAware) { initializer.Initialized(configuration, factory); } } } }
/// <summary> /// Initialize the mappings using the configuration and /// the list of types /// </summary> public static void Initialize(IConfigurationSource source, params Type[] types) { lock (lockConfig) { if (isInitialized) { throw new ActiveRecordInitializationException("You can't invoke ActiveRecordStarter.Initialize more than once"); } if (source == null) { throw new ArgumentNullException("source"); } if (types == null) { throw new ArgumentNullException("types"); } foreach (Type type in types) { registeredAssemblies.Add(type.Assembly); } registeredTypes = new Dictionary <Type, string>(); configSource = source; // First initialization ISessionFactoryHolder holder = CreateSessionFactoryHolderImplementation(source); holder.ThreadScopeInfo = CreateThreadScopeInfoImplementation(source); RaiseSessionFactoryHolderCreated(holder); ActiveRecordBase.holder = holder; ActiveRecordModel.type2Model.Clear(); ActiveRecordModel.isDebug = source.Debug; ActiveRecordModel.isLazyByDefault = source.IsLazyByDefault; ActiveRecordModel.pluralizeTableNames = source.PluralizeTableNames; RegisterEventListeners(types); if (configSource.Searchable) { contributors.Add(new NHSearchContributor()); } // Sets up base configuration SetUpConfiguration(source, typeof(ActiveRecordBase), holder); RegisterTypes(holder, source, types, true); // If the configuration uses the AR ByteCode, do not autoinitialize proxies. AutoinitializeProxy = !UseARByteCode(configSource, types); isInitialized = true; } }
public Migrations(ISessionFactoryHolder sessionFactoryHolder, ShellSettings shellSettings) { _shellSettings = shellSettings; var configuration = sessionFactoryHolder.GetConfiguration(); _dialect = Dialect.GetDialect(configuration.Properties); }
public SessionLocator(ISessionFactoryHolder sessionFactoryHolder, IEnumerable <ISessionInterceptor> interceptors) { _sessionFactoryHolder = sessionFactoryHolder; _interceptors = interceptors; Logger = NullLogger.Instance; IsolationLevel = IsolationLevel.ReadCommitted; }
public SessionLocator( ISessionFactoryHolder sessionFactoryHolder, IEnumerable <ISessionInterceptor> interceptors) { _sessionFactoryHolder = sessionFactoryHolder; _interceptors = interceptors; Logger = NullLogger.Instance; }
public SessionLocator( ISessionFactoryHolder sessionFactoryHolder, IEnumerable<ISessionInterceptor> interceptors) { _sessionFactoryHolder = sessionFactoryHolder; _interceptors = interceptors; Logger = NullLogger.Instance; IsolationLevel = IsolationLevel.ReadCommitted; }
public SessionLocator( ISessionFactoryHolder sessionFactoryHolder, IWorkEnvironment workEnvironment, ILogger logger) { _sessionFactoryHolder = sessionFactoryHolder; _workEnvironment = workEnvironment; Logger = logger; }
private Configuration BuildConfiguration(IConfigurationSource source) { ISessionFactoryHolder holder = null; ActiveRecordStarter.SessionFactoryHolderCreated += h => holder = h; ActiveRecordStarter.Initialize(source); return(holder.GetAllConfigurations().Single()); }
public MySqlCommandInterpreter( ShellSettings shellSettings, ISessionFactoryHolder sessionFactoryHolder) { _shellSettings = shellSettings; var configuration = sessionFactoryHolder.GetConfiguration(); _dialect = Dialect.GetDialect(configuration.Properties); }
public void Dispose() { ISessionFactoryHolder holder = ActiveRecordMediator.GetSessionFactoryHolder(); foreach (ISessionFactory factory in holder.GetSessionFactories()) { factory.Dispose(); } }
/// <summary> /// Intended to be used only by test cases /// </summary> public static void ResetInitialization() { // Make sure we start with it enabled Environment.UseReflectionOptimizer = true; if (Holder != null) { Holder.Dispose(); } Holder = null; }
public SafeSessionProxy(ISessionFactoryHolder holder, ISession innerSession) { if (innerSession == null) { throw new ArgumentNullException("innerSession"); } this.innerSession = innerSession; this.holder = holder; }
private static void RaiseSessionFactoryHolderCreated(ISessionFactoryHolder holder) { SessionFactoryHolderDelegate evtDelegate = (SessionFactoryHolderDelegate)events[SessionFactoryHolderCreatedEvent]; if (evtDelegate != null) { evtDelegate(holder); } }
public SessionLocator( ISessionFactoryHolder sessionFactoryHolder, Func<IContentManagerSession> contentManagerSessionFactory, IEnumerable<ISessionInterceptor> interceptors) { _sessionFactoryHolder = sessionFactoryHolder; _interceptors = interceptors; _contentManagerSessionFactory = contentManagerSessionFactory; Logger = NullLogger.Instance; IsolationLevel = IsolationLevel.ReadCommitted; }
public ISession GetCurrentSessionFor(Type typeOfEntity) { ISessionScope scope = SessionScope.Current; if (scope == null) { throw new InvalidOperationException("You are not in a unit of work"); } ISessionFactoryHolder holder = ActiveRecordMediator.GetSessionFactoryHolder(); return(holder.CreateSession(typeOfEntity)); }
public SchemaUpdateService( IDynamicAssemblyBuilder dynamicAssemblyBuilder, ISessionFactoryHolder sessionFactoryHolder, ShellSettings shellSettings, ISessionLocator sessionLocator, IEnumerable<ICommandInterpreter> commandInterpreters, IReportsCoordinator reportsCoordinator) { _dynamicAssemblyBuilder = dynamicAssemblyBuilder; _sessionFactoryHolder = sessionFactoryHolder; var interpreter = new DefaultDataMigrationInterpreter(shellSettings, sessionLocator, commandInterpreters, sessionFactoryHolder, reportsCoordinator); _schemaBuilder = new SchemaBuilder(interpreter, "", s => s.Replace(".", "_")); }
public SessionLocator( ISessionFactoryHolder sessionFactoryHolder, Func <IContentManagerSession> contentManagerSessionFactory, IEnumerable <ISessionInterceptor> interceptors) { _sessionFactoryHolder = sessionFactoryHolder; _interceptors = interceptors; _contentManagerSessionFactory = contentManagerSessionFactory; Logger = NullLogger.Instance; IsolationLevel = IsolationLevel.ReadCommitted; }
public BindingController( IRepository<MemberBindingRecord> repository, IOrchardServices services, IShapeFactory shapeFactory, ISessionFactoryHolder sessionFactoryHolder) { _repository = repository; _sessionFactoryHolder = sessionFactoryHolder; Shape = shapeFactory; Services = services; T = NullLocalizer.Instance; }
private ISession GetSession() { ISessionScope scope = SessionScope.Current; if (scope == null) { throw new InvalidOperationException("You should be in a SessionScope()"); } ISessionFactoryHolder holder = ActiveRecordMediator.GetSessionFactoryHolder(); return(holder.CreateSession(typeof(ActiveRecordBase))); }
public SchemaCommandGenerator( ISessionFactoryHolder sessionFactoryHolder, IExtensionManager extensionManager, ICompositionStrategy compositionStrategy, ShellSettings shellSettings, IDataServicesProviderFactory dataServicesProviderFactory) { _sessionFactoryHolder = sessionFactoryHolder; _extensionManager = extensionManager; _compositionStrategy = compositionStrategy; _shellSettings = shellSettings; _dataServicesProviderFactory = dataServicesProviderFactory; }
public SchemaCommandGenerator( ISessionFactoryHolder sessionFactoryHolder, IExtensionManager extensionManager, ICompositionStrategy compositionStrategy, IConfigurationService configService, IDataServicesProviderFactory dataServicesProviderFactory) { _sessionFactoryHolder = sessionFactoryHolder; _extensionManager = extensionManager; _compositionStrategy = compositionStrategy; _connection = configService.ConnectionSettings; _dataServicesProviderFactory = dataServicesProviderFactory; }
public BindingController( IRepository <MemberBindingRecord> repository, IOrchardServices services, IShapeFactory shapeFactory, ISessionFactoryHolder sessionFactoryHolder) { _repository = repository; _sessionFactoryHolder = sessionFactoryHolder; Shape = shapeFactory; Services = services; T = NullLocalizer.Instance; }
public SchemaBuilderFactory( ShellSettings shellSettings, IReportsCoordinator reportsCoordinator, ISessionFactoryHolderFactory sessionFactoryHolderFactory, ISessionLocator sessionLocator, ISessionFactoryHolder sessionFactoryHolder) { _shellSettings = shellSettings; _reportsCoordinator = reportsCoordinator; _sessionFactoryHolderFactory = sessionFactoryHolderFactory; _sessionLocator = sessionLocator; _sessionFactoryHolder = sessionFactoryHolder; }
/// <summary> /// Initializes a new instance of the <see cref="DifferentDatabaseScope"/> class. /// </summary> public DifferentDatabaseScope( IDbConnection connection, FlushAction flushAction = FlushAction.Auto, ISessionScope parent = null, ISessionFactoryHolder holder = null, IThreadScopeInfo scopeinfo = null ) : base(flushAction, parent: parent, holder: holder, scopeinfo: scopeinfo) { if (connection == null) throw new ArgumentNullException("connection"); _connection = connection; }
public RouteController( IContentDefinitionManager contentDefinitionManager, IOrchardServices orchardServices, ISessionFactoryHolder sessionFactoryHolder, ShellSettings shellSettings, IAutorouteService autorouteService, IReportsCoordinator reportsCoordinator) { _contentDefinitionManager = contentDefinitionManager; _orchardServices = orchardServices; _sessionFactoryHolder = sessionFactoryHolder; _shellSettings = shellSettings; _autorouteService = autorouteService; _reportsCoordinator = reportsCoordinator; }
public RouteController( IContentDefinitionManager contentDefinitionManager, IOrchardServices orchardServices, ISessionFactoryHolder sessionFactoryHolder, ShellSettings shellSettings, IAutorouteService autorouteService) { _contentDefinitionManager = contentDefinitionManager; _orchardServices = orchardServices; _sessionFactoryHolder = sessionFactoryHolder; _shellSettings = shellSettings; _autorouteService = autorouteService; T = NullLocalizer.Instance; Logger = NullLogger.Instance; }
public TagService(IRepository<TagRecord> tagRepository, IRepository<ContentTagRecord> contentTagRepository, INotifier notifier, IAuthorizationService authorizationService, IOrchardServices orchardServices, ISessionFactoryHolder sessionFactoryHolder) { _tagRepository = tagRepository; _contentTagRepository = contentTagRepository; _notifier = notifier; _authorizationService = authorizationService; _orchardServices = orchardServices; _sessionFactoryHolder = sessionFactoryHolder; Logger = NullLogger.Instance; T = NullLocalizer.Instance; }
public SiteResetTaskExecutor( IThemeService themeService, ISiteThemeService siteThemeService, ISessionFactoryHolder sessionFactoryHolder, IVirtualPathProvider virtualPathProvider, ShellSettings shellSettings, ISessionLocator sessionLocator, IEnumerable<ICommandInterpreter> commandInterpreters, IReportsCoordinator reportsCoordinator) { _themeService = themeService; _siteThemeService = siteThemeService; _virtualPathProvider = virtualPathProvider; _sessionFactoryHolder = sessionFactoryHolder; var interpreter = new Coevery.Core.Services.DefaultDataMigrationInterpreter(shellSettings, sessionLocator, commandInterpreters, sessionFactoryHolder, reportsCoordinator); _schemaBuilder = new SchemaBuilder(interpreter, "", s => s.Replace(".", "_")); Logger=NullLogger.Instance; }
private static ActiveRecordModelCollection BuildModels(ISessionFactoryHolder holder, IConfigurationSource source, IEnumerable<Type> types, bool ignoreProblematicTypes) { ActiveRecordModelBuilder builder = new ActiveRecordModelBuilder(); builder.SetExtension(new ModelBuilderExtensionComposite(extensions)); ActiveRecordModelCollection models = builder.Models; foreach(Type type in types) { if (ShouldIgnoreType(type)) { if (ignoreProblematicTypes) { continue; } else { throw new ActiveRecordException( String.Format("Type `{0}` is registered already", type.FullName)); } } else if (IsConfiguredAsRootType(type)) { if (TypeDefinesADatabaseBoundary(type)) { SetUpConfiguration(source, type, holder); continue; } else { throw new ActiveRecordException( string.Format( "Type `{0}` is not a valid root type. Make sure it is abstract and does not define a table itself.", type.FullName)); } } else if (!IsActiveRecordType(type)) { if (ignoreProblematicTypes) { continue; } else { throw new ActiveRecordException( String.Format("Type `{0}` is not an ActiveRecord type. Use ActiveRecordAttributes to define one", type.FullName)); } } if (type.ContainsGenericParameters) { // Owing to a restriction in NHibernate the reflection optimiser will not work // if we have generic types so turn it off. Do we have anywhere we could log this? Environment.UseReflectionOptimizer = false; } ActiveRecordModel model = builder.Create(type); if (model == null) { throw new ActiveRecordException( String.Format("ActiveRecordModel for `{0}` could not be created", type.FullName)); } registeredTypes.Add(type, String.Empty); if (ModelCreated != null) { ModelCreated(model, source); } } return models; }
public WiringSession(ISessionFactoryHolder holder, ISessionFactory sessionFactory) { this.holder = holder; this.sessionFactory = sessionFactory; }
private static void AddXmlToNHibernateCfg(ISessionFactoryHolder holder, ActiveRecordModelCollection models) { XmlGenerationVisitor xmlVisitor = new XmlGenerationVisitor(); AssemblyXmlGenerator assemblyXmlGenerator = new AssemblyXmlGenerator(); ISet assembliesGeneratedXmlFor = new HashedSet(); foreach(ActiveRecordModel model in models) { Configuration config = holder.GetConfiguration(holder.GetRootType(model.Type)); if (config == null) { throw new ActiveRecordException( string.Format( "Could not find configuration for {0} or its root type {1} this is usually an indication that the configuration has not been setup correctly.", model.Type, holder.GetRootType(model.Type))); } if (!model.IsNestedType && !model.IsDiscriminatorSubClass && !model.IsJoinedSubClass) { xmlVisitor.Reset(); xmlVisitor.CreateXml(model); String xml = xmlVisitor.Xml; if (xml != String.Empty) { AddXmlString(config, xml, model); } } } }
private static void SetUpConfiguration(IConfigurationSource source, Type type, ISessionFactoryHolder holder) { IConfiguration config = source.GetConfiguration(type); if (config != null) { Configuration nconf = CreateConfiguration(config); if (source.NamingStrategyImplementation != null) { Type namingStrategyType = source.NamingStrategyImplementation; if (!typeof(INamingStrategy).IsAssignableFrom(namingStrategyType)) { String message = String.Format("The specified type {0} does " + "not implement the interface INamingStrategy", namingStrategyType.FullName); throw new ActiveRecordException(message); } nconf.SetNamingStrategy((INamingStrategy) Activator.CreateInstance(namingStrategyType)); } AddContributorsToConfig(type, nconf); holder.Register(type, nconf); } }
private static void RegisterTypes(ISessionFactoryHolder holder, IConfigurationSource source, IEnumerable<Type> types, bool ignoreProblematicTypes) { lock(lockConfig) { ActiveRecordModelCollection models = BuildModels(holder, source, types, ignoreProblematicTypes); GraphConnectorVisitor connectorVisitor = new GraphConnectorVisitor(models); connectorVisitor.VisitNodes(models); ModelsDelegate modelsCreatedHandler = ModelsCreated; if (modelsCreatedHandler != null) { modelsCreatedHandler(models, source); } SemanticVerifierVisitor semanticVisitor = new SemanticVerifierVisitor(models); semanticVisitor.VisitNodes(models); ModelsDelegate modelsValidatedHandler = ModelsValidated; if (modelsValidatedHandler != null) { modelsValidatedHandler(models, source); } AddXmlToNHibernateCfg(holder, models); AddXmlToNHibernateFromAssmebliesAttributes(holder, models); SessionFactoryHolderDelegate registeredInConfigurationHandler = MappingRegisteredInConfiguration; if(registeredInConfigurationHandler!=null) { registeredInConfigurationHandler(holder); } if (source.VerifyModelsAgainstDBSchema) { VerifySchema(models); } } }
public static void RegisterSessionFactoryHolder(IWindsorContainer container, ISessionFactoryHolder holder) { container.Register(Component.For<ISessionFactoryHolder>() .Named("activerecord.sessionfactoryholder").Instance(holder)); }
public HiLoGeneratorNHibernate() { this.getSessionFactoryHolder = ActiveRecordMediator.GetSessionFactoryHolder(); generator = new TableHiLoGenerator(); var configuration = getSessionFactoryHolder.GetConfiguration(typeof(BaseSmiEntity)); generator.Configure(NHibernateUtil.Int64, new Dictionary<string, string> { { "table", "hibernate_unique_key" } }, Dialect.GetDialect()); }
public SessionFactoryDelegateProxy(ISessionFactoryHolder sessionFactoryHolder, Type arType) { this.sessionFactoryHolder = sessionFactoryHolder; this.arType = arType; }
private void SaveHolder(ISessionFactoryHolder holder) { sessionFactoryHolder = holder; }
public CustomMemberBindingProvider( IRepository<MemberBindingRecord> repository, ISessionFactoryHolder sessionFactoryHolder) { _repository = repository; _sessionFactoryHolder = sessionFactoryHolder; }
/// <summary> /// Creates the specified session factory delegate from the holder and root type /// </summary> /// <param name="sessionFactoryHolder">The session factory holder.</param> /// <param name="arType">Type of the AR entity.</param> public static ISessionFactory Create(ISessionFactoryHolder sessionFactoryHolder, Type arType) { object proxy = generator.CreateInterfaceProxyWithoutTarget(typeof(ISessionFactory), new SessionFactoryDelegateProxy(sessionFactoryHolder, arType)); return (ISessionFactory)proxy; }